github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_ring_out.go (about)

     1  /*
     2   * RingCentral Connect Platform API Explorer
     3   *
     4   * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul>
     5   *
     6   * API version: 1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package ringcentral
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type RingOutApiService service
    27  
    28  /*
    29  RingOutApiService Cancel RingOut Call
    30  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Cancels the 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
    31   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    32   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
    33   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
    34   * @param ringoutId Internal identifier of a RingOut call
    35  */
    36  func (a *RingOutApiService) CancelRingOutCall(ctx context.Context, accountId string, extensionId string, ringoutId int32) (*http.Response, error) {
    37  	var (
    38  		localVarHttpMethod   = strings.ToUpper("Delete")
    39  		localVarPostBody     interface{}
    40  		localVarFormFileName string
    41  		localVarFileName     string
    42  		localVarFileBytes    []byte
    43  	)
    44  
    45  	// create path and map variables
    46  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout/{ringoutId}"
    47  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    48  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
    49  	localVarPath = strings.Replace(localVarPath, "{"+"ringoutId"+"}", fmt.Sprintf("%v", ringoutId), -1)
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	// to determine the Content-Type header
    56  	localVarHttpContentTypes := []string{}
    57  
    58  	// set Content-Type header
    59  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    60  	if localVarHttpContentType != "" {
    61  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    62  	}
    63  
    64  	// to determine the Accept header
    65  	localVarHttpHeaderAccepts := []string{}
    66  
    67  	// set Accept header
    68  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    69  	if localVarHttpHeaderAccept != "" {
    70  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    71  	}
    72  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    73  	if err != nil {
    74  		return nil, err
    75  	}
    76  
    77  	localVarHttpResponse, err := a.client.callAPI(r)
    78  	if err != nil || localVarHttpResponse == nil {
    79  		return localVarHttpResponse, err
    80  	}
    81  
    82  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    83  	localVarHttpResponse.Body.Close()
    84  	if err != nil {
    85  		return localVarHttpResponse, err
    86  	}
    87  
    88  	if localVarHttpResponse.StatusCode >= 300 {
    89  		newErr := GenericOpenAPIError{
    90  			body:  localVarBody,
    91  			error: localVarHttpResponse.Status,
    92  		}
    93  		return localVarHttpResponse, newErr
    94  	}
    95  
    96  	return localVarHttpResponse, nil
    97  }
    98  
    99  /*
   100  RingOutApiService Cancel RingOut Call
   101  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Cancels the 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   102   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   103   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   104   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   105   * @param ringoutId Internal identifier of a RingOut call
   106  */
   107  func (a *RingOutApiService) CancelRingOutCallNew(ctx context.Context, accountId string, extensionId string, ringoutId int32) (*http.Response, error) {
   108  	var (
   109  		localVarHttpMethod   = strings.ToUpper("Delete")
   110  		localVarPostBody     interface{}
   111  		localVarFormFileName string
   112  		localVarFileName     string
   113  		localVarFileBytes    []byte
   114  	)
   115  
   116  	// create path and map variables
   117  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out/{ringoutId}"
   118  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   119  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   120  	localVarPath = strings.Replace(localVarPath, "{"+"ringoutId"+"}", fmt.Sprintf("%v", ringoutId), -1)
   121  
   122  	localVarHeaderParams := make(map[string]string)
   123  	localVarQueryParams := url.Values{}
   124  	localVarFormParams := url.Values{}
   125  
   126  	// to determine the Content-Type header
   127  	localVarHttpContentTypes := []string{}
   128  
   129  	// set Content-Type header
   130  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   131  	if localVarHttpContentType != "" {
   132  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   133  	}
   134  
   135  	// to determine the Accept header
   136  	localVarHttpHeaderAccepts := []string{}
   137  
   138  	// set Accept header
   139  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   140  	if localVarHttpHeaderAccept != "" {
   141  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   142  	}
   143  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   144  	if err != nil {
   145  		return nil, err
   146  	}
   147  
   148  	localVarHttpResponse, err := a.client.callAPI(r)
   149  	if err != nil || localVarHttpResponse == nil {
   150  		return localVarHttpResponse, err
   151  	}
   152  
   153  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   154  	localVarHttpResponse.Body.Close()
   155  	if err != nil {
   156  		return localVarHttpResponse, err
   157  	}
   158  
   159  	if localVarHttpResponse.StatusCode >= 300 {
   160  		newErr := GenericOpenAPIError{
   161  			body:  localVarBody,
   162  			error: localVarHttpResponse.Status,
   163  		}
   164  		return localVarHttpResponse, newErr
   165  	}
   166  
   167  	return localVarHttpResponse, nil
   168  }
   169  
   170  /*
   171  RingOutApiService
   172   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   173   * @param accountId
   174   * @param extensionId
   175   * @param ringOutResource
   176  */
   177  func (a *RingOutApiService) CreateDirectRingOut(ctx context.Context, accountId string, extensionId string, ringOutResource RingOutResource) (*http.Response, error) {
   178  	var (
   179  		localVarHttpMethod   = strings.ToUpper("Post")
   180  		localVarPostBody     interface{}
   181  		localVarFormFileName string
   182  		localVarFileName     string
   183  		localVarFileBytes    []byte
   184  	)
   185  
   186  	// create path and map variables
   187  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout/direct"
   188  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   189  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   190  
   191  	localVarHeaderParams := make(map[string]string)
   192  	localVarQueryParams := url.Values{}
   193  	localVarFormParams := url.Values{}
   194  
   195  	// to determine the Content-Type header
   196  	localVarHttpContentTypes := []string{"application/json"}
   197  
   198  	// set Content-Type header
   199  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   200  	if localVarHttpContentType != "" {
   201  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   202  	}
   203  
   204  	// to determine the Accept header
   205  	localVarHttpHeaderAccepts := []string{}
   206  
   207  	// set Accept header
   208  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   209  	if localVarHttpHeaderAccept != "" {
   210  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   211  	}
   212  	// body params
   213  	localVarPostBody = &ringOutResource
   214  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   215  	if err != nil {
   216  		return nil, err
   217  	}
   218  
   219  	localVarHttpResponse, err := a.client.callAPI(r)
   220  	if err != nil || localVarHttpResponse == nil {
   221  		return localVarHttpResponse, err
   222  	}
   223  
   224  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   225  	localVarHttpResponse.Body.Close()
   226  	if err != nil {
   227  		return localVarHttpResponse, err
   228  	}
   229  
   230  	if localVarHttpResponse.StatusCode >= 300 {
   231  		newErr := GenericOpenAPIError{
   232  			body:  localVarBody,
   233  			error: localVarHttpResponse.Status,
   234  		}
   235  		return localVarHttpResponse, newErr
   236  	}
   237  
   238  	return localVarHttpResponse, nil
   239  }
   240  
   241  /*
   242  RingOutApiService Make Direct RingOut Call
   243   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   244   * @param accountId
   245   * @param extensionId
   246   * @param ringOutResource
   247  */
   248  func (a *RingOutApiService) CreateDirectRingOutNew(ctx context.Context, accountId string, extensionId string, ringOutResource RingOutResource) (*http.Response, error) {
   249  	var (
   250  		localVarHttpMethod   = strings.ToUpper("Post")
   251  		localVarPostBody     interface{}
   252  		localVarFormFileName string
   253  		localVarFileName     string
   254  		localVarFileBytes    []byte
   255  	)
   256  
   257  	// create path and map variables
   258  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/direct-ring-out"
   259  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   260  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   261  
   262  	localVarHeaderParams := make(map[string]string)
   263  	localVarQueryParams := url.Values{}
   264  	localVarFormParams := url.Values{}
   265  
   266  	// to determine the Content-Type header
   267  	localVarHttpContentTypes := []string{"application/json"}
   268  
   269  	// set Content-Type header
   270  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   271  	if localVarHttpContentType != "" {
   272  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   273  	}
   274  
   275  	// to determine the Accept header
   276  	localVarHttpHeaderAccepts := []string{}
   277  
   278  	// set Accept header
   279  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   280  	if localVarHttpHeaderAccept != "" {
   281  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   282  	}
   283  	// body params
   284  	localVarPostBody = &ringOutResource
   285  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   286  	if err != nil {
   287  		return nil, err
   288  	}
   289  
   290  	localVarHttpResponse, err := a.client.callAPI(r)
   291  	if err != nil || localVarHttpResponse == nil {
   292  		return localVarHttpResponse, err
   293  	}
   294  
   295  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   296  	localVarHttpResponse.Body.Close()
   297  	if err != nil {
   298  		return localVarHttpResponse, err
   299  	}
   300  
   301  	if localVarHttpResponse.StatusCode >= 300 {
   302  		newErr := GenericOpenAPIError{
   303  			body:  localVarBody,
   304  			error: localVarHttpResponse.Status,
   305  		}
   306  		return localVarHttpResponse, newErr
   307  	}
   308  
   309  	return localVarHttpResponse, nil
   310  }
   311  
   312  /*
   313  RingOutApiService Get Status of RingOut Call
   314  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.7 (Release 5.16)&lt;/p&gt;&lt;p&gt;Returns the status of a 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   315   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   316   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   317   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   318   * @param ringoutId Internal identifier of a RingOut call
   319  @return GetRingOutStatusResponse
   320  */
   321  func (a *RingOutApiService) GetRingOutCallStatus(ctx context.Context, accountId string, extensionId string, ringoutId int32) (GetRingOutStatusResponse, *http.Response, error) {
   322  	var (
   323  		localVarHttpMethod   = strings.ToUpper("Get")
   324  		localVarPostBody     interface{}
   325  		localVarFormFileName string
   326  		localVarFileName     string
   327  		localVarFileBytes    []byte
   328  		localVarReturnValue  GetRingOutStatusResponse
   329  	)
   330  
   331  	// create path and map variables
   332  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout/{ringoutId}"
   333  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   334  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   335  	localVarPath = strings.Replace(localVarPath, "{"+"ringoutId"+"}", fmt.Sprintf("%v", ringoutId), -1)
   336  
   337  	localVarHeaderParams := make(map[string]string)
   338  	localVarQueryParams := url.Values{}
   339  	localVarFormParams := url.Values{}
   340  
   341  	// to determine the Content-Type header
   342  	localVarHttpContentTypes := []string{}
   343  
   344  	// set Content-Type header
   345  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   346  	if localVarHttpContentType != "" {
   347  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   348  	}
   349  
   350  	// to determine the Accept header
   351  	localVarHttpHeaderAccepts := []string{"application/json"}
   352  
   353  	// set Accept header
   354  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   355  	if localVarHttpHeaderAccept != "" {
   356  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   357  	}
   358  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   359  	if err != nil {
   360  		return localVarReturnValue, nil, err
   361  	}
   362  
   363  	localVarHttpResponse, err := a.client.callAPI(r)
   364  	if err != nil || localVarHttpResponse == nil {
   365  		return localVarReturnValue, localVarHttpResponse, err
   366  	}
   367  
   368  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   369  	localVarHttpResponse.Body.Close()
   370  	if err != nil {
   371  		return localVarReturnValue, localVarHttpResponse, err
   372  	}
   373  
   374  	if localVarHttpResponse.StatusCode >= 300 {
   375  		newErr := GenericOpenAPIError{
   376  			body:  localVarBody,
   377  			error: localVarHttpResponse.Status,
   378  		}
   379  		if localVarHttpResponse.StatusCode == 0 {
   380  			var v GetRingOutStatusResponse
   381  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   382  			if err != nil {
   383  				newErr.error = err.Error()
   384  				return localVarReturnValue, localVarHttpResponse, newErr
   385  			}
   386  			newErr.model = v
   387  			return localVarReturnValue, localVarHttpResponse, newErr
   388  		}
   389  		return localVarReturnValue, localVarHttpResponse, newErr
   390  	}
   391  
   392  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   393  	if err != nil {
   394  		newErr := GenericOpenAPIError{
   395  			body:  localVarBody,
   396  			error: err.Error(),
   397  		}
   398  		return localVarReturnValue, localVarHttpResponse, newErr
   399  	}
   400  
   401  	return localVarReturnValue, localVarHttpResponse, nil
   402  }
   403  
   404  /*
   405  RingOutApiService Get Status of RingOut Call
   406  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.7 (Release 5.16)&lt;/p&gt;&lt;p&gt;Returns the status of a 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   407   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   408   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   409   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   410   * @param ringoutId Internal identifier of a RingOut call
   411  @return GetRingOutStatusResponse
   412  */
   413  func (a *RingOutApiService) GetRingOutCallStatusNew(ctx context.Context, accountId string, extensionId string, ringoutId int32) (GetRingOutStatusResponse, *http.Response, error) {
   414  	var (
   415  		localVarHttpMethod   = strings.ToUpper("Get")
   416  		localVarPostBody     interface{}
   417  		localVarFormFileName string
   418  		localVarFileName     string
   419  		localVarFileBytes    []byte
   420  		localVarReturnValue  GetRingOutStatusResponse
   421  	)
   422  
   423  	// create path and map variables
   424  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out/{ringoutId}"
   425  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   426  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   427  	localVarPath = strings.Replace(localVarPath, "{"+"ringoutId"+"}", fmt.Sprintf("%v", ringoutId), -1)
   428  
   429  	localVarHeaderParams := make(map[string]string)
   430  	localVarQueryParams := url.Values{}
   431  	localVarFormParams := url.Values{}
   432  
   433  	// to determine the Content-Type header
   434  	localVarHttpContentTypes := []string{}
   435  
   436  	// set Content-Type header
   437  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   438  	if localVarHttpContentType != "" {
   439  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   440  	}
   441  
   442  	// to determine the Accept header
   443  	localVarHttpHeaderAccepts := []string{"application/json"}
   444  
   445  	// set Accept header
   446  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   447  	if localVarHttpHeaderAccept != "" {
   448  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   449  	}
   450  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   451  	if err != nil {
   452  		return localVarReturnValue, nil, err
   453  	}
   454  
   455  	localVarHttpResponse, err := a.client.callAPI(r)
   456  	if err != nil || localVarHttpResponse == nil {
   457  		return localVarReturnValue, localVarHttpResponse, err
   458  	}
   459  
   460  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   461  	localVarHttpResponse.Body.Close()
   462  	if err != nil {
   463  		return localVarReturnValue, localVarHttpResponse, err
   464  	}
   465  
   466  	if localVarHttpResponse.StatusCode >= 300 {
   467  		newErr := GenericOpenAPIError{
   468  			body:  localVarBody,
   469  			error: localVarHttpResponse.Status,
   470  		}
   471  		if localVarHttpResponse.StatusCode == 0 {
   472  			var v GetRingOutStatusResponse
   473  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   474  			if err != nil {
   475  				newErr.error = err.Error()
   476  				return localVarReturnValue, localVarHttpResponse, newErr
   477  			}
   478  			newErr.model = v
   479  			return localVarReturnValue, localVarHttpResponse, newErr
   480  		}
   481  		return localVarReturnValue, localVarHttpResponse, newErr
   482  	}
   483  
   484  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   485  	if err != nil {
   486  		newErr := GenericOpenAPIError{
   487  			body:  localVarBody,
   488  			error: err.Error(),
   489  		}
   490  		return localVarReturnValue, localVarHttpResponse, newErr
   491  	}
   492  
   493  	return localVarReturnValue, localVarHttpResponse, nil
   494  }
   495  
   496  /*
   497  RingOutApiService Make RingOut Call
   498  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.7 (Release 5.16)&lt;/p&gt;&lt;p&gt;Makes a 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   499   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   500   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   501   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   502   * @param makeRingOutRequest JSON body
   503  @return GetRingOutStatusResponseIntId
   504  */
   505  func (a *RingOutApiService) MakeRingOutCall(ctx context.Context, accountId string, extensionId string, makeRingOutRequest MakeRingOutRequest) (GetRingOutStatusResponseIntId, *http.Response, error) {
   506  	var (
   507  		localVarHttpMethod   = strings.ToUpper("Post")
   508  		localVarPostBody     interface{}
   509  		localVarFormFileName string
   510  		localVarFileName     string
   511  		localVarFileBytes    []byte
   512  		localVarReturnValue  GetRingOutStatusResponseIntId
   513  	)
   514  
   515  	// create path and map variables
   516  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout"
   517  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   518  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   519  
   520  	localVarHeaderParams := make(map[string]string)
   521  	localVarQueryParams := url.Values{}
   522  	localVarFormParams := url.Values{}
   523  
   524  	// to determine the Content-Type header
   525  	localVarHttpContentTypes := []string{"application/json"}
   526  
   527  	// set Content-Type header
   528  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   529  	if localVarHttpContentType != "" {
   530  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   531  	}
   532  
   533  	// to determine the Accept header
   534  	localVarHttpHeaderAccepts := []string{"application/json"}
   535  
   536  	// set Accept header
   537  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   538  	if localVarHttpHeaderAccept != "" {
   539  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   540  	}
   541  	// body params
   542  	localVarPostBody = &makeRingOutRequest
   543  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   544  	if err != nil {
   545  		return localVarReturnValue, nil, err
   546  	}
   547  
   548  	localVarHttpResponse, err := a.client.callAPI(r)
   549  	if err != nil || localVarHttpResponse == nil {
   550  		return localVarReturnValue, localVarHttpResponse, err
   551  	}
   552  
   553  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   554  	localVarHttpResponse.Body.Close()
   555  	if err != nil {
   556  		return localVarReturnValue, localVarHttpResponse, err
   557  	}
   558  
   559  	if localVarHttpResponse.StatusCode >= 300 {
   560  		newErr := GenericOpenAPIError{
   561  			body:  localVarBody,
   562  			error: localVarHttpResponse.Status,
   563  		}
   564  		if localVarHttpResponse.StatusCode == 0 {
   565  			var v GetRingOutStatusResponseIntId
   566  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   567  			if err != nil {
   568  				newErr.error = err.Error()
   569  				return localVarReturnValue, localVarHttpResponse, newErr
   570  			}
   571  			newErr.model = v
   572  			return localVarReturnValue, localVarHttpResponse, newErr
   573  		}
   574  		return localVarReturnValue, localVarHttpResponse, newErr
   575  	}
   576  
   577  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   578  	if err != nil {
   579  		newErr := GenericOpenAPIError{
   580  			body:  localVarBody,
   581  			error: err.Error(),
   582  		}
   583  		return localVarReturnValue, localVarHttpResponse, newErr
   584  	}
   585  
   586  	return localVarReturnValue, localVarHttpResponse, nil
   587  }
   588  
   589  /*
   590  RingOutApiService Make RingOut Call
   591  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.7 (Release 5.16)&lt;/p&gt;&lt;p&gt;Makes a 2-leg RingOut call.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;RingOut&lt;/td&gt;&lt;td&gt;Performing two-legged ring-out phone calls&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Usage Plan Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   592   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   593   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   594   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   595   * @param makeRingOutRequest JSON body
   596  @return GetRingOutStatusResponse
   597  */
   598  func (a *RingOutApiService) MakeRingOutCallNew(ctx context.Context, accountId string, extensionId string, makeRingOutRequest MakeRingOutRequest) (GetRingOutStatusResponse, *http.Response, error) {
   599  	var (
   600  		localVarHttpMethod   = strings.ToUpper("Post")
   601  		localVarPostBody     interface{}
   602  		localVarFormFileName string
   603  		localVarFileName     string
   604  		localVarFileBytes    []byte
   605  		localVarReturnValue  GetRingOutStatusResponse
   606  	)
   607  
   608  	// create path and map variables
   609  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out"
   610  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   611  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   612  
   613  	localVarHeaderParams := make(map[string]string)
   614  	localVarQueryParams := url.Values{}
   615  	localVarFormParams := url.Values{}
   616  
   617  	// to determine the Content-Type header
   618  	localVarHttpContentTypes := []string{"application/json"}
   619  
   620  	// set Content-Type header
   621  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   622  	if localVarHttpContentType != "" {
   623  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   624  	}
   625  
   626  	// to determine the Accept header
   627  	localVarHttpHeaderAccepts := []string{"application/json"}
   628  
   629  	// set Accept header
   630  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   631  	if localVarHttpHeaderAccept != "" {
   632  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   633  	}
   634  	// body params
   635  	localVarPostBody = &makeRingOutRequest
   636  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   637  	if err != nil {
   638  		return localVarReturnValue, nil, err
   639  	}
   640  
   641  	localVarHttpResponse, err := a.client.callAPI(r)
   642  	if err != nil || localVarHttpResponse == nil {
   643  		return localVarReturnValue, localVarHttpResponse, err
   644  	}
   645  
   646  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   647  	localVarHttpResponse.Body.Close()
   648  	if err != nil {
   649  		return localVarReturnValue, localVarHttpResponse, err
   650  	}
   651  
   652  	if localVarHttpResponse.StatusCode >= 300 {
   653  		newErr := GenericOpenAPIError{
   654  			body:  localVarBody,
   655  			error: localVarHttpResponse.Status,
   656  		}
   657  		if localVarHttpResponse.StatusCode == 0 {
   658  			var v GetRingOutStatusResponse
   659  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   660  			if err != nil {
   661  				newErr.error = err.Error()
   662  				return localVarReturnValue, localVarHttpResponse, newErr
   663  			}
   664  			newErr.model = v
   665  			return localVarReturnValue, localVarHttpResponse, newErr
   666  		}
   667  		return localVarReturnValue, localVarHttpResponse, newErr
   668  	}
   669  
   670  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   671  	if err != nil {
   672  		newErr := GenericOpenAPIError{
   673  			body:  localVarBody,
   674  			error: err.Error(),
   675  		}
   676  		return localVarReturnValue, localVarHttpResponse, newErr
   677  	}
   678  
   679  	return localVarReturnValue, localVarHttpResponse, nil
   680  }