github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_phone_numbers.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 "github.com/antihax/optional" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 ) 21 22 // Linger please 23 var ( 24 _ context.Context 25 ) 26 27 type PhoneNumbersApiService service 28 29 /* 30 PhoneNumbersApiService Get Extension Phone Number List 31 <p style='font-style:italic;'>Since 1.0.2</p><p>Returns the list of phone numbers that are used by a particular extension, and can be filtered by the phone number type. The returned list contains all numbers which are directly mapped to a given extension plus the features and also company-level numbers which may be used when performing different operations on behalf of this extension.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadAccounts</td><td>Viewing user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Light</p> 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 34 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 35 * @param optional nil or *ListExtensionPhoneNumbersOpts - Optional Parameters: 36 * @param "UsageType" (optional.Interface of []string) - Usage type of the phone number 37 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 38 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 39 @return GetExtensionPhoneNumbersResponse 40 */ 41 42 type ListExtensionPhoneNumbersOpts struct { 43 UsageType optional.Interface 44 Page optional.Int32 45 PerPage optional.Int32 46 } 47 48 func (a *PhoneNumbersApiService) ListExtensionPhoneNumbers(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionPhoneNumbersOpts) (GetExtensionPhoneNumbersResponse, *http.Response, error) { 49 var ( 50 localVarHttpMethod = strings.ToUpper("Get") 51 localVarPostBody interface{} 52 localVarFormFileName string 53 localVarFileName string 54 localVarFileBytes []byte 55 localVarReturnValue GetExtensionPhoneNumbersResponse 56 ) 57 58 // create path and map variables 59 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/phone-number" 60 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 61 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 62 63 localVarHeaderParams := make(map[string]string) 64 localVarQueryParams := url.Values{} 65 localVarFormParams := url.Values{} 66 67 if localVarOptionals != nil && localVarOptionals.UsageType.IsSet() { 68 localVarQueryParams.Add("usageType", parameterToString(localVarOptionals.UsageType.Value(), "multi")) 69 } 70 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 71 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 72 } 73 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 74 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 75 } 76 // to determine the Content-Type header 77 localVarHttpContentTypes := []string{} 78 79 // set Content-Type header 80 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 81 if localVarHttpContentType != "" { 82 localVarHeaderParams["Content-Type"] = localVarHttpContentType 83 } 84 85 // to determine the Accept header 86 localVarHttpHeaderAccepts := []string{"application/json"} 87 88 // set Accept header 89 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 90 if localVarHttpHeaderAccept != "" { 91 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 92 } 93 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 94 if err != nil { 95 return localVarReturnValue, nil, err 96 } 97 98 localVarHttpResponse, err := a.client.callAPI(r) 99 if err != nil || localVarHttpResponse == nil { 100 return localVarReturnValue, localVarHttpResponse, err 101 } 102 103 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 104 localVarHttpResponse.Body.Close() 105 if err != nil { 106 return localVarReturnValue, localVarHttpResponse, err 107 } 108 109 if localVarHttpResponse.StatusCode >= 300 { 110 newErr := GenericOpenAPIError{ 111 body: localVarBody, 112 error: localVarHttpResponse.Status, 113 } 114 if localVarHttpResponse.StatusCode == 0 { 115 var v GetExtensionPhoneNumbersResponse 116 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 117 if err != nil { 118 newErr.error = err.Error() 119 return localVarReturnValue, localVarHttpResponse, newErr 120 } 121 newErr.model = v 122 return localVarReturnValue, localVarHttpResponse, newErr 123 } 124 return localVarReturnValue, localVarHttpResponse, newErr 125 } 126 127 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 128 if err != nil { 129 newErr := GenericOpenAPIError{ 130 body: localVarBody, 131 error: err.Error(), 132 } 133 return localVarReturnValue, localVarHttpResponse, newErr 134 } 135 136 return localVarReturnValue, localVarHttpResponse, nil 137 }