github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_call_handling_settings.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 "os" 20 "strings" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type CallHandlingSettingsApiService service 29 30 /* 31 CallHandlingSettingsApiService Add Blocked Numbers 32 <p style='font-style:italic;'></p><p></p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 35 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 36 * @param optional nil or *BlockNumberOpts - Optional Parameters: 37 * @param "BlockedNumberInfo" (optional.Interface of BlockedNumberInfo) - 38 @return BlockedNumberInfo 39 */ 40 41 type BlockNumberOpts struct { 42 BlockedNumberInfo optional.Interface 43 } 44 45 func (a *CallHandlingSettingsApiService) BlockNumber(ctx context.Context, accountId string, extensionId string, localVarOptionals *BlockNumberOpts) (BlockedNumberInfo, *http.Response, error) { 46 var ( 47 localVarHttpMethod = strings.ToUpper("Post") 48 localVarPostBody interface{} 49 localVarFormFileName string 50 localVarFileName string 51 localVarFileBytes []byte 52 localVarReturnValue BlockedNumberInfo 53 ) 54 55 // create path and map variables 56 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number" 57 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 58 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 59 60 localVarHeaderParams := make(map[string]string) 61 localVarQueryParams := url.Values{} 62 localVarFormParams := url.Values{} 63 64 // to determine the Content-Type header 65 localVarHttpContentTypes := []string{"application/json"} 66 67 // set Content-Type header 68 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 69 if localVarHttpContentType != "" { 70 localVarHeaderParams["Content-Type"] = localVarHttpContentType 71 } 72 73 // to determine the Accept header 74 localVarHttpHeaderAccepts := []string{"application/json"} 75 76 // set Accept header 77 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 78 if localVarHttpHeaderAccept != "" { 79 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 80 } 81 // body params 82 if localVarOptionals != nil && localVarOptionals.BlockedNumberInfo.IsSet() { 83 localVarOptionalBlockedNumberInfo, localVarOptionalBlockedNumberInfook := localVarOptionals.BlockedNumberInfo.Value().(BlockedNumberInfo) 84 if !localVarOptionalBlockedNumberInfook { 85 return localVarReturnValue, nil, reportError("blockedNumberInfo should be BlockedNumberInfo") 86 } 87 localVarPostBody = &localVarOptionalBlockedNumberInfo 88 } 89 90 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 91 if err != nil { 92 return localVarReturnValue, nil, err 93 } 94 95 localVarHttpResponse, err := a.client.callAPI(r) 96 if err != nil || localVarHttpResponse == nil { 97 return localVarReturnValue, localVarHttpResponse, err 98 } 99 100 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 101 localVarHttpResponse.Body.Close() 102 if err != nil { 103 return localVarReturnValue, localVarHttpResponse, err 104 } 105 106 if localVarHttpResponse.StatusCode >= 300 { 107 newErr := GenericOpenAPIError{ 108 body: localVarBody, 109 error: localVarHttpResponse.Status, 110 } 111 if localVarHttpResponse.StatusCode == 0 { 112 var v BlockedNumberInfo 113 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 114 if err != nil { 115 newErr.error = err.Error() 116 return localVarReturnValue, localVarHttpResponse, newErr 117 } 118 newErr.model = v 119 return localVarReturnValue, localVarHttpResponse, newErr 120 } 121 return localVarReturnValue, localVarHttpResponse, newErr 122 } 123 124 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 125 if err != nil { 126 newErr := GenericOpenAPIError{ 127 body: localVarBody, 128 error: err.Error(), 129 } 130 return localVarReturnValue, localVarHttpResponse, newErr 131 } 132 133 return localVarReturnValue, localVarHttpResponse, nil 134 } 135 136 /* 137 CallHandlingSettingsApiService Create Custom Call Handling Rules 138 <p style='font-style:italic;'>Since 1.0.24 (Release 8.0)</p><p>Creates a custom answering rule for a particular caller ID.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 139 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 140 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 141 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 142 * @param createAnsweringRuleRequest JSON body 143 @return AnsweringRuleInfo 144 */ 145 func (a *CallHandlingSettingsApiService) CreateAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, createAnsweringRuleRequest CreateAnsweringRuleRequest) (AnsweringRuleInfo, *http.Response, error) { 146 var ( 147 localVarHttpMethod = strings.ToUpper("Post") 148 localVarPostBody interface{} 149 localVarFormFileName string 150 localVarFileName string 151 localVarFileBytes []byte 152 localVarReturnValue AnsweringRuleInfo 153 ) 154 155 // create path and map variables 156 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule" 157 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 158 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 159 160 localVarHeaderParams := make(map[string]string) 161 localVarQueryParams := url.Values{} 162 localVarFormParams := url.Values{} 163 164 // to determine the Content-Type header 165 localVarHttpContentTypes := []string{"application/json"} 166 167 // set Content-Type header 168 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 169 if localVarHttpContentType != "" { 170 localVarHeaderParams["Content-Type"] = localVarHttpContentType 171 } 172 173 // to determine the Accept header 174 localVarHttpHeaderAccepts := []string{"application/json"} 175 176 // set Accept header 177 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 178 if localVarHttpHeaderAccept != "" { 179 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 180 } 181 // body params 182 localVarPostBody = &createAnsweringRuleRequest 183 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 184 if err != nil { 185 return localVarReturnValue, nil, err 186 } 187 188 localVarHttpResponse, err := a.client.callAPI(r) 189 if err != nil || localVarHttpResponse == nil { 190 return localVarReturnValue, localVarHttpResponse, err 191 } 192 193 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 194 localVarHttpResponse.Body.Close() 195 if err != nil { 196 return localVarReturnValue, localVarHttpResponse, err 197 } 198 199 if localVarHttpResponse.StatusCode >= 300 { 200 newErr := GenericOpenAPIError{ 201 body: localVarBody, 202 error: localVarHttpResponse.Status, 203 } 204 if localVarHttpResponse.StatusCode == 0 { 205 var v AnsweringRuleInfo 206 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 207 if err != nil { 208 newErr.error = err.Error() 209 return localVarReturnValue, localVarHttpResponse, newErr 210 } 211 newErr.model = v 212 return localVarReturnValue, localVarHttpResponse, newErr 213 } 214 return localVarReturnValue, localVarHttpResponse, newErr 215 } 216 217 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 218 if err != nil { 219 newErr := GenericOpenAPIError{ 220 body: localVarBody, 221 error: err.Error(), 222 } 223 return localVarReturnValue, localVarHttpResponse, newErr 224 } 225 226 return localVarReturnValue, localVarHttpResponse, nil 227 } 228 229 /* 230 CallHandlingSettingsApiService Create Company Call Handling Rule 231 <p style='font-style:italic;'>Since 1.0.31 (Release 9.2)</p><p>Creates a company answering rule for a particular caller ID.</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><tr><td class='code'>EditExtensions</td><td>Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)</td></tr><tr><td class='code'>EditAccounts</td><td>Viewing user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>API Group</h4><p>Medium</p> 232 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 233 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 234 * @param companyAnsweringRuleRequest JSON body 235 @return CompanyAnsweringRuleInfo 236 */ 237 func (a *CallHandlingSettingsApiService) CreateCompanyAnsweringRuleInfo(ctx context.Context, accountId string, companyAnsweringRuleRequest CompanyAnsweringRuleRequest) (CompanyAnsweringRuleInfo, *http.Response, error) { 238 var ( 239 localVarHttpMethod = strings.ToUpper("Post") 240 localVarPostBody interface{} 241 localVarFormFileName string 242 localVarFileName string 243 localVarFileBytes []byte 244 localVarReturnValue CompanyAnsweringRuleInfo 245 ) 246 247 // create path and map variables 248 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule" 249 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 250 251 localVarHeaderParams := make(map[string]string) 252 localVarQueryParams := url.Values{} 253 localVarFormParams := url.Values{} 254 255 // to determine the Content-Type header 256 localVarHttpContentTypes := []string{"application/json"} 257 258 // set Content-Type header 259 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 260 if localVarHttpContentType != "" { 261 localVarHeaderParams["Content-Type"] = localVarHttpContentType 262 } 263 264 // to determine the Accept header 265 localVarHttpHeaderAccepts := []string{"application/json"} 266 267 // set Accept header 268 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 269 if localVarHttpHeaderAccept != "" { 270 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 271 } 272 // body params 273 localVarPostBody = &companyAnsweringRuleRequest 274 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 275 if err != nil { 276 return localVarReturnValue, nil, err 277 } 278 279 localVarHttpResponse, err := a.client.callAPI(r) 280 if err != nil || localVarHttpResponse == nil { 281 return localVarReturnValue, localVarHttpResponse, err 282 } 283 284 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 285 localVarHttpResponse.Body.Close() 286 if err != nil { 287 return localVarReturnValue, localVarHttpResponse, err 288 } 289 290 if localVarHttpResponse.StatusCode >= 300 { 291 newErr := GenericOpenAPIError{ 292 body: localVarBody, 293 error: localVarHttpResponse.Status, 294 } 295 if localVarHttpResponse.StatusCode == 0 { 296 var v CompanyAnsweringRuleInfo 297 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 298 if err != nil { 299 newErr.error = err.Error() 300 return localVarReturnValue, localVarHttpResponse, newErr 301 } 302 newErr.model = v 303 return localVarReturnValue, localVarHttpResponse, newErr 304 } 305 return localVarReturnValue, localVarHttpResponse, newErr 306 } 307 308 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 309 if err != nil { 310 newErr := GenericOpenAPIError{ 311 body: localVarBody, 312 error: err.Error(), 313 } 314 return localVarReturnValue, localVarHttpResponse, newErr 315 } 316 317 return localVarReturnValue, localVarHttpResponse, nil 318 } 319 320 /* 321 CallHandlingSettingsApiService Create Forwarding Numbers 322 <p style='font-style:italic;'>Since 1.0.12 (Release 6.4)</p><p>Adds a new forwarding number to the forwarding number list.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 323 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 324 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 325 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 326 * @param createForwardingNumberRequest JSON body 327 @return ForwardingNumberInfo 328 */ 329 func (a *CallHandlingSettingsApiService) CreateExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, createForwardingNumberRequest CreateForwardingNumberRequest) (ForwardingNumberInfo, *http.Response, error) { 330 var ( 331 localVarHttpMethod = strings.ToUpper("Post") 332 localVarPostBody interface{} 333 localVarFormFileName string 334 localVarFileName string 335 localVarFileBytes []byte 336 localVarReturnValue ForwardingNumberInfo 337 ) 338 339 // create path and map variables 340 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number" 341 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 342 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 343 344 localVarHeaderParams := make(map[string]string) 345 localVarQueryParams := url.Values{} 346 localVarFormParams := url.Values{} 347 348 // to determine the Content-Type header 349 localVarHttpContentTypes := []string{"application/json"} 350 351 // set Content-Type header 352 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 353 if localVarHttpContentType != "" { 354 localVarHeaderParams["Content-Type"] = localVarHttpContentType 355 } 356 357 // to determine the Accept header 358 localVarHttpHeaderAccepts := []string{"application/json"} 359 360 // set Accept header 361 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 362 if localVarHttpHeaderAccept != "" { 363 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 364 } 365 // body params 366 localVarPostBody = &createForwardingNumberRequest 367 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 368 if err != nil { 369 return localVarReturnValue, nil, err 370 } 371 372 localVarHttpResponse, err := a.client.callAPI(r) 373 if err != nil || localVarHttpResponse == nil { 374 return localVarReturnValue, localVarHttpResponse, err 375 } 376 377 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 378 localVarHttpResponse.Body.Close() 379 if err != nil { 380 return localVarReturnValue, localVarHttpResponse, err 381 } 382 383 if localVarHttpResponse.StatusCode >= 300 { 384 newErr := GenericOpenAPIError{ 385 body: localVarBody, 386 error: localVarHttpResponse.Status, 387 } 388 if localVarHttpResponse.StatusCode == 0 { 389 var v ForwardingNumberInfo 390 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 391 if err != nil { 392 newErr.error = err.Error() 393 return localVarReturnValue, localVarHttpResponse, newErr 394 } 395 newErr.model = v 396 return localVarReturnValue, localVarHttpResponse, newErr 397 } 398 return localVarReturnValue, localVarHttpResponse, newErr 399 } 400 401 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 402 if err != nil { 403 newErr := GenericOpenAPIError{ 404 body: localVarBody, 405 error: err.Error(), 406 } 407 return localVarReturnValue, localVarHttpResponse, newErr 408 } 409 410 return localVarReturnValue, localVarHttpResponse, nil 411 } 412 413 /* 414 CallHandlingSettingsApiService Create User Custom Greeting 415 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 416 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 417 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 418 * @param optional nil or *CreateGreetingOpts - Optional Parameters: 419 * @param "CustomGreetingRequest" (optional.Interface of CustomGreetingRequest) - 420 @return CustomCompanyGreetingInfo 421 */ 422 423 type CreateGreetingOpts struct { 424 CustomGreetingRequest optional.Interface 425 } 426 427 func (a *CallHandlingSettingsApiService) CreateGreeting(ctx context.Context, accountId string, extensionId string, localVarOptionals *CreateGreetingOpts) (CustomCompanyGreetingInfo, *http.Response, error) { 428 var ( 429 localVarHttpMethod = strings.ToUpper("Post") 430 localVarPostBody interface{} 431 localVarFormFileName string 432 localVarFileName string 433 localVarFileBytes []byte 434 localVarReturnValue CustomCompanyGreetingInfo 435 ) 436 437 // create path and map variables 438 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting" 439 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 440 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 441 442 localVarHeaderParams := make(map[string]string) 443 localVarQueryParams := url.Values{} 444 localVarFormParams := url.Values{} 445 446 // to determine the Content-Type header 447 localVarHttpContentTypes := []string{"application/json"} 448 449 // set Content-Type header 450 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 451 if localVarHttpContentType != "" { 452 localVarHeaderParams["Content-Type"] = localVarHttpContentType 453 } 454 455 // to determine the Accept header 456 localVarHttpHeaderAccepts := []string{"application/json"} 457 458 // set Accept header 459 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 460 if localVarHttpHeaderAccept != "" { 461 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 462 } 463 // body params 464 if localVarOptionals != nil && localVarOptionals.CustomGreetingRequest.IsSet() { 465 localVarOptionalCustomGreetingRequest, localVarOptionalCustomGreetingRequestok := localVarOptionals.CustomGreetingRequest.Value().(CustomGreetingRequest) 466 if !localVarOptionalCustomGreetingRequestok { 467 return localVarReturnValue, nil, reportError("customGreetingRequest should be CustomGreetingRequest") 468 } 469 localVarPostBody = &localVarOptionalCustomGreetingRequest 470 } 471 472 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 473 if err != nil { 474 return localVarReturnValue, nil, err 475 } 476 477 localVarHttpResponse, err := a.client.callAPI(r) 478 if err != nil || localVarHttpResponse == nil { 479 return localVarReturnValue, localVarHttpResponse, err 480 } 481 482 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 483 localVarHttpResponse.Body.Close() 484 if err != nil { 485 return localVarReturnValue, localVarHttpResponse, err 486 } 487 488 if localVarHttpResponse.StatusCode >= 300 { 489 newErr := GenericOpenAPIError{ 490 body: localVarBody, 491 error: localVarHttpResponse.Status, 492 } 493 if localVarHttpResponse.StatusCode == 0 { 494 var v CustomCompanyGreetingInfo 495 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 496 if err != nil { 497 newErr.error = err.Error() 498 return localVarReturnValue, localVarHttpResponse, newErr 499 } 500 newErr.model = v 501 return localVarReturnValue, localVarHttpResponse, newErr 502 } 503 return localVarReturnValue, localVarHttpResponse, newErr 504 } 505 506 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 507 if err != nil { 508 newErr := GenericOpenAPIError{ 509 body: localVarBody, 510 error: err.Error(), 511 } 512 return localVarReturnValue, localVarHttpResponse, newErr 513 } 514 515 return localVarReturnValue, localVarHttpResponse, nil 516 } 517 518 /* 519 CallHandlingSettingsApiService Create IVR Menu 520 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Creates a company IVR menu</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditAccounts</td><td>Viewing and updating user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>API Group</h4><p>Heavy</p> 521 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 522 * @param accountId 523 * @param ivrMenuInfo JSON body 524 @return IvrMenuInfo 525 */ 526 func (a *CallHandlingSettingsApiService) CreateIVRMenu(ctx context.Context, accountId string, ivrMenuInfo IvrMenuInfo) (IvrMenuInfo, *http.Response, error) { 527 var ( 528 localVarHttpMethod = strings.ToUpper("Post") 529 localVarPostBody interface{} 530 localVarFormFileName string 531 localVarFileName string 532 localVarFileBytes []byte 533 localVarReturnValue IvrMenuInfo 534 ) 535 536 // create path and map variables 537 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus" 538 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 539 540 localVarHeaderParams := make(map[string]string) 541 localVarQueryParams := url.Values{} 542 localVarFormParams := url.Values{} 543 544 // to determine the Content-Type header 545 localVarHttpContentTypes := []string{"application/json"} 546 547 // set Content-Type header 548 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 549 if localVarHttpContentType != "" { 550 localVarHeaderParams["Content-Type"] = localVarHttpContentType 551 } 552 553 // to determine the Accept header 554 localVarHttpHeaderAccepts := []string{"application/json"} 555 556 // set Accept header 557 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 558 if localVarHttpHeaderAccept != "" { 559 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 560 } 561 // body params 562 localVarPostBody = &ivrMenuInfo 563 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 564 if err != nil { 565 return localVarReturnValue, nil, err 566 } 567 568 localVarHttpResponse, err := a.client.callAPI(r) 569 if err != nil || localVarHttpResponse == nil { 570 return localVarReturnValue, localVarHttpResponse, err 571 } 572 573 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 574 localVarHttpResponse.Body.Close() 575 if err != nil { 576 return localVarReturnValue, localVarHttpResponse, err 577 } 578 579 if localVarHttpResponse.StatusCode >= 300 { 580 newErr := GenericOpenAPIError{ 581 body: localVarBody, 582 error: localVarHttpResponse.Status, 583 } 584 if localVarHttpResponse.StatusCode == 0 { 585 var v IvrMenuInfo 586 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 587 if err != nil { 588 newErr.error = err.Error() 589 return localVarReturnValue, localVarHttpResponse, newErr 590 } 591 newErr.model = v 592 return localVarReturnValue, localVarHttpResponse, newErr 593 } 594 return localVarReturnValue, localVarHttpResponse, newErr 595 } 596 597 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 598 if err != nil { 599 newErr := GenericOpenAPIError{ 600 body: localVarBody, 601 error: err.Error(), 602 } 603 return localVarReturnValue, localVarHttpResponse, newErr 604 } 605 606 return localVarReturnValue, localVarHttpResponse, nil 607 } 608 609 /* 610 CallHandlingSettingsApiService Create IVR Prompt 611 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Creates an IVR prompt.</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>API Group</h4><p>Heavy</p> 612 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 613 * @param accountId 614 * @param attachment Audio file that will be used as a prompt. Attachment cannot be empty, only audio files are supported 615 * @param optional nil or *CreatePromptsOpts - Optional Parameters: 616 * @param "Name" (optional.String) - Description of file contents. 617 @return PromptInfo 618 */ 619 620 type CreatePromptsOpts struct { 621 Name optional.String 622 } 623 624 func (a *CallHandlingSettingsApiService) CreatePrompts(ctx context.Context, accountId string, attachment *os.File, localVarOptionals *CreatePromptsOpts) (PromptInfo, *http.Response, error) { 625 var ( 626 localVarHttpMethod = strings.ToUpper("Post") 627 localVarPostBody interface{} 628 localVarFormFileName string 629 localVarFileName string 630 localVarFileBytes []byte 631 localVarReturnValue PromptInfo 632 ) 633 634 // create path and map variables 635 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts" 636 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 637 638 localVarHeaderParams := make(map[string]string) 639 localVarQueryParams := url.Values{} 640 localVarFormParams := url.Values{} 641 642 // to determine the Content-Type header 643 localVarHttpContentTypes := []string{"multipart/form-data"} 644 645 // set Content-Type header 646 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 647 if localVarHttpContentType != "" { 648 localVarHeaderParams["Content-Type"] = localVarHttpContentType 649 } 650 651 // to determine the Accept header 652 localVarHttpHeaderAccepts := []string{"application/json"} 653 654 // set Accept header 655 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 656 if localVarHttpHeaderAccept != "" { 657 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 658 } 659 localVarFormFileName = "attachment" 660 localVarFile := attachment 661 if localVarFile != nil { 662 fbs, _ := ioutil.ReadAll(localVarFile) 663 localVarFileBytes = fbs 664 localVarFileName = localVarFile.Name() 665 localVarFile.Close() 666 } 667 if localVarOptionals != nil && localVarOptionals.Name.IsSet() { 668 localVarFormParams.Add("name", parameterToString(localVarOptionals.Name.Value(), "")) 669 } 670 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 671 if err != nil { 672 return localVarReturnValue, nil, err 673 } 674 675 localVarHttpResponse, err := a.client.callAPI(r) 676 if err != nil || localVarHttpResponse == nil { 677 return localVarReturnValue, localVarHttpResponse, err 678 } 679 680 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 681 localVarHttpResponse.Body.Close() 682 if err != nil { 683 return localVarReturnValue, localVarHttpResponse, err 684 } 685 686 if localVarHttpResponse.StatusCode >= 300 { 687 newErr := GenericOpenAPIError{ 688 body: localVarBody, 689 error: localVarHttpResponse.Status, 690 } 691 if localVarHttpResponse.StatusCode == 0 { 692 var v PromptInfo 693 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 694 if err != nil { 695 newErr.error = err.Error() 696 return localVarReturnValue, localVarHttpResponse, newErr 697 } 698 newErr.model = v 699 return localVarReturnValue, localVarHttpResponse, newErr 700 } 701 return localVarReturnValue, localVarHttpResponse, newErr 702 } 703 704 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 705 if err != nil { 706 newErr := GenericOpenAPIError{ 707 body: localVarBody, 708 error: err.Error(), 709 } 710 return localVarReturnValue, localVarHttpResponse, newErr 711 } 712 713 return localVarReturnValue, localVarHttpResponse, nil 714 } 715 716 /* 717 CallHandlingSettingsApiService Delete Call Handling Rule 718 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 719 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 720 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 721 * @param ruleId Internal identifier of an answering rule 722 */ 723 func (a *CallHandlingSettingsApiService) DeleteAnsweringRule(ctx context.Context, accountId string, extensionId string, ruleId string) (*http.Response, error) { 724 var ( 725 localVarHttpMethod = strings.ToUpper("Delete") 726 localVarPostBody interface{} 727 localVarFormFileName string 728 localVarFileName string 729 localVarFileBytes []byte 730 ) 731 732 // create path and map variables 733 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}" 734 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 735 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 736 localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1) 737 738 localVarHeaderParams := make(map[string]string) 739 localVarQueryParams := url.Values{} 740 localVarFormParams := url.Values{} 741 742 // to determine the Content-Type header 743 localVarHttpContentTypes := []string{} 744 745 // set Content-Type header 746 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 747 if localVarHttpContentType != "" { 748 localVarHeaderParams["Content-Type"] = localVarHttpContentType 749 } 750 751 // to determine the Accept header 752 localVarHttpHeaderAccepts := []string{} 753 754 // set Accept header 755 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 756 if localVarHttpHeaderAccept != "" { 757 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 758 } 759 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 760 if err != nil { 761 return nil, err 762 } 763 764 localVarHttpResponse, err := a.client.callAPI(r) 765 if err != nil || localVarHttpResponse == nil { 766 return localVarHttpResponse, err 767 } 768 769 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 770 localVarHttpResponse.Body.Close() 771 if err != nil { 772 return localVarHttpResponse, err 773 } 774 775 if localVarHttpResponse.StatusCode >= 300 { 776 newErr := GenericOpenAPIError{ 777 body: localVarBody, 778 error: localVarHttpResponse.Status, 779 } 780 return localVarHttpResponse, newErr 781 } 782 783 return localVarHttpResponse, nil 784 } 785 786 /* 787 CallHandlingSettingsApiService Delete Forwarding Number 788 <p style='font-style:italic;'>Since 1.0.24 (Release 8.0)</p><p>Deletes a forwarding number from the forwarding number list by its ID.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 789 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 790 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 791 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 792 * @param forwardingNumberId Internal identifier of a forwarding number 793 */ 794 func (a *CallHandlingSettingsApiService) DeleteExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, forwardingNumberId string) (*http.Response, error) { 795 var ( 796 localVarHttpMethod = strings.ToUpper("Delete") 797 localVarPostBody interface{} 798 localVarFormFileName string 799 localVarFileName string 800 localVarFileBytes []byte 801 ) 802 803 // create path and map variables 804 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}" 805 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 806 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 807 localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1) 808 809 localVarHeaderParams := make(map[string]string) 810 localVarQueryParams := url.Values{} 811 localVarFormParams := url.Values{} 812 813 // to determine the Content-Type header 814 localVarHttpContentTypes := []string{} 815 816 // set Content-Type header 817 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 818 if localVarHttpContentType != "" { 819 localVarHeaderParams["Content-Type"] = localVarHttpContentType 820 } 821 822 // to determine the Accept header 823 localVarHttpHeaderAccepts := []string{} 824 825 // set Accept header 826 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 827 if localVarHttpHeaderAccept != "" { 828 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 829 } 830 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 831 if err != nil { 832 return nil, err 833 } 834 835 localVarHttpResponse, err := a.client.callAPI(r) 836 if err != nil || localVarHttpResponse == nil { 837 return localVarHttpResponse, err 838 } 839 840 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 841 localVarHttpResponse.Body.Close() 842 if err != nil { 843 return localVarHttpResponse, err 844 } 845 846 if localVarHttpResponse.StatusCode >= 300 { 847 newErr := GenericOpenAPIError{ 848 body: localVarBody, 849 error: localVarHttpResponse.Status, 850 } 851 return localVarHttpResponse, newErr 852 } 853 854 return localVarHttpResponse, nil 855 } 856 857 /* 858 CallHandlingSettingsApiService Delete IVR Prompt 859 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Deletes an IVR prompt by ID</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditAccounts</td><td>Viewing user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>API Group</h4><p>Heavy</p> 860 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 861 * @param accountId 862 * @param promptId 863 */ 864 func (a *CallHandlingSettingsApiService) DeleteIVRPrompt(ctx context.Context, accountId string, promptId string) (*http.Response, error) { 865 var ( 866 localVarHttpMethod = strings.ToUpper("Delete") 867 localVarPostBody interface{} 868 localVarFormFileName string 869 localVarFileName string 870 localVarFileBytes []byte 871 ) 872 873 // create path and map variables 874 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}" 875 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 876 localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1) 877 878 localVarHeaderParams := make(map[string]string) 879 localVarQueryParams := url.Values{} 880 localVarFormParams := url.Values{} 881 882 // to determine the Content-Type header 883 localVarHttpContentTypes := []string{} 884 885 // set Content-Type header 886 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 887 if localVarHttpContentType != "" { 888 localVarHeaderParams["Content-Type"] = localVarHttpContentType 889 } 890 891 // to determine the Accept header 892 localVarHttpHeaderAccepts := []string{} 893 894 // set Accept header 895 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 896 if localVarHttpHeaderAccept != "" { 897 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 898 } 899 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 900 if err != nil { 901 return nil, err 902 } 903 904 localVarHttpResponse, err := a.client.callAPI(r) 905 if err != nil || localVarHttpResponse == nil { 906 return localVarHttpResponse, err 907 } 908 909 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 910 localVarHttpResponse.Body.Close() 911 if err != nil { 912 return localVarHttpResponse, err 913 } 914 915 if localVarHttpResponse.StatusCode >= 300 { 916 newErr := GenericOpenAPIError{ 917 body: localVarBody, 918 error: localVarHttpResponse.Status, 919 } 920 return localVarHttpResponse, newErr 921 } 922 923 return localVarHttpResponse, nil 924 } 925 926 /* 927 CallHandlingSettingsApiService Create Custom Company Greeting 928 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 929 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 930 * @param customCompanyGreetingRequest JSON body 931 @return CustomCompanyGreetingInfo 932 */ 933 func (a *CallHandlingSettingsApiService) GetCompanyGreeting(ctx context.Context, accountId string, customCompanyGreetingRequest CustomCompanyGreetingRequest) (CustomCompanyGreetingInfo, *http.Response, error) { 934 var ( 935 localVarHttpMethod = strings.ToUpper("Post") 936 localVarPostBody interface{} 937 localVarFormFileName string 938 localVarFileName string 939 localVarFileBytes []byte 940 localVarReturnValue CustomCompanyGreetingInfo 941 ) 942 943 // create path and map variables 944 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/greeting" 945 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 946 947 localVarHeaderParams := make(map[string]string) 948 localVarQueryParams := url.Values{} 949 localVarFormParams := url.Values{} 950 951 // to determine the Content-Type header 952 localVarHttpContentTypes := []string{"application/json"} 953 954 // set Content-Type header 955 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 956 if localVarHttpContentType != "" { 957 localVarHeaderParams["Content-Type"] = localVarHttpContentType 958 } 959 960 // to determine the Accept header 961 localVarHttpHeaderAccepts := []string{"application/json"} 962 963 // set Accept header 964 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 965 if localVarHttpHeaderAccept != "" { 966 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 967 } 968 // body params 969 localVarPostBody = &customCompanyGreetingRequest 970 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 971 if err != nil { 972 return localVarReturnValue, nil, err 973 } 974 975 localVarHttpResponse, err := a.client.callAPI(r) 976 if err != nil || localVarHttpResponse == nil { 977 return localVarReturnValue, localVarHttpResponse, err 978 } 979 980 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 981 localVarHttpResponse.Body.Close() 982 if err != nil { 983 return localVarReturnValue, localVarHttpResponse, err 984 } 985 986 if localVarHttpResponse.StatusCode >= 300 { 987 newErr := GenericOpenAPIError{ 988 body: localVarBody, 989 error: localVarHttpResponse.Status, 990 } 991 if localVarHttpResponse.StatusCode == 0 { 992 var v CustomCompanyGreetingInfo 993 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 994 if err != nil { 995 newErr.error = err.Error() 996 return localVarReturnValue, localVarHttpResponse, newErr 997 } 998 newErr.model = v 999 return localVarReturnValue, localVarHttpResponse, newErr 1000 } 1001 return localVarReturnValue, localVarHttpResponse, newErr 1002 } 1003 1004 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1005 if err != nil { 1006 newErr := GenericOpenAPIError{ 1007 body: localVarBody, 1008 error: err.Error(), 1009 } 1010 return localVarReturnValue, localVarHttpResponse, newErr 1011 } 1012 1013 return localVarReturnValue, localVarHttpResponse, nil 1014 } 1015 1016 /* 1017 CallHandlingSettingsApiService Get Forwarding Number 1018 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1019 * @param forwardingNumberId 1020 * @param extensionId 1021 * @param accountId 1022 @return ForwardingNumberResource 1023 */ 1024 func (a *CallHandlingSettingsApiService) GetForwardingNumber(ctx context.Context, forwardingNumberId string, extensionId string, accountId string) (ForwardingNumberResource, *http.Response, error) { 1025 var ( 1026 localVarHttpMethod = strings.ToUpper("Get") 1027 localVarPostBody interface{} 1028 localVarFormFileName string 1029 localVarFileName string 1030 localVarFileBytes []byte 1031 localVarReturnValue ForwardingNumberResource 1032 ) 1033 1034 // create path and map variables 1035 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}" 1036 localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1) 1037 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1038 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1039 1040 localVarHeaderParams := make(map[string]string) 1041 localVarQueryParams := url.Values{} 1042 localVarFormParams := url.Values{} 1043 1044 // to determine the Content-Type header 1045 localVarHttpContentTypes := []string{} 1046 1047 // set Content-Type header 1048 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1049 if localVarHttpContentType != "" { 1050 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1051 } 1052 1053 // to determine the Accept header 1054 localVarHttpHeaderAccepts := []string{"application/json"} 1055 1056 // set Accept header 1057 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1058 if localVarHttpHeaderAccept != "" { 1059 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1060 } 1061 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1062 if err != nil { 1063 return localVarReturnValue, nil, err 1064 } 1065 1066 localVarHttpResponse, err := a.client.callAPI(r) 1067 if err != nil || localVarHttpResponse == nil { 1068 return localVarReturnValue, localVarHttpResponse, err 1069 } 1070 1071 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1072 localVarHttpResponse.Body.Close() 1073 if err != nil { 1074 return localVarReturnValue, localVarHttpResponse, err 1075 } 1076 1077 if localVarHttpResponse.StatusCode >= 300 { 1078 newErr := GenericOpenAPIError{ 1079 body: localVarBody, 1080 error: localVarHttpResponse.Status, 1081 } 1082 if localVarHttpResponse.StatusCode == 0 { 1083 var v ForwardingNumberResource 1084 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1085 if err != nil { 1086 newErr.error = err.Error() 1087 return localVarReturnValue, localVarHttpResponse, newErr 1088 } 1089 newErr.model = v 1090 return localVarReturnValue, localVarHttpResponse, newErr 1091 } 1092 return localVarReturnValue, localVarHttpResponse, newErr 1093 } 1094 1095 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1096 if err != nil { 1097 newErr := GenericOpenAPIError{ 1098 body: localVarBody, 1099 error: err.Error(), 1100 } 1101 return localVarReturnValue, localVarHttpResponse, newErr 1102 } 1103 1104 return localVarReturnValue, localVarHttpResponse, nil 1105 } 1106 1107 /* 1108 CallHandlingSettingsApiService Get Greeting Info 1109 <p style='font-style:italic;'>Since 8.2 (Release 1.0.26)</p><p>Returns a standard greeting by ID</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>View Greetings</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 1110 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1111 * @param greetingId 1112 @return DictionaryGreetingInfo 1113 */ 1114 func (a *CallHandlingSettingsApiService) GetGreeting(ctx context.Context, greetingId string) (DictionaryGreetingInfo, *http.Response, error) { 1115 var ( 1116 localVarHttpMethod = strings.ToUpper("Get") 1117 localVarPostBody interface{} 1118 localVarFormFileName string 1119 localVarFileName string 1120 localVarFileBytes []byte 1121 localVarReturnValue DictionaryGreetingInfo 1122 ) 1123 1124 // create path and map variables 1125 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/greeting/{greetingId}" 1126 localVarPath = strings.Replace(localVarPath, "{"+"greetingId"+"}", fmt.Sprintf("%v", greetingId), -1) 1127 1128 localVarHeaderParams := make(map[string]string) 1129 localVarQueryParams := url.Values{} 1130 localVarFormParams := url.Values{} 1131 1132 // to determine the Content-Type header 1133 localVarHttpContentTypes := []string{} 1134 1135 // set Content-Type header 1136 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1137 if localVarHttpContentType != "" { 1138 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1139 } 1140 1141 // to determine the Accept header 1142 localVarHttpHeaderAccepts := []string{"application/json"} 1143 1144 // set Accept header 1145 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1146 if localVarHttpHeaderAccept != "" { 1147 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1148 } 1149 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1150 if err != nil { 1151 return localVarReturnValue, nil, err 1152 } 1153 1154 localVarHttpResponse, err := a.client.callAPI(r) 1155 if err != nil || localVarHttpResponse == nil { 1156 return localVarReturnValue, localVarHttpResponse, err 1157 } 1158 1159 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1160 localVarHttpResponse.Body.Close() 1161 if err != nil { 1162 return localVarReturnValue, localVarHttpResponse, err 1163 } 1164 1165 if localVarHttpResponse.StatusCode >= 300 { 1166 newErr := GenericOpenAPIError{ 1167 body: localVarBody, 1168 error: localVarHttpResponse.Status, 1169 } 1170 if localVarHttpResponse.StatusCode == 0 { 1171 var v DictionaryGreetingInfo 1172 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1173 if err != nil { 1174 newErr.error = err.Error() 1175 return localVarReturnValue, localVarHttpResponse, newErr 1176 } 1177 newErr.model = v 1178 return localVarReturnValue, localVarHttpResponse, newErr 1179 } 1180 return localVarReturnValue, localVarHttpResponse, newErr 1181 } 1182 1183 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1184 if err != nil { 1185 newErr := GenericOpenAPIError{ 1186 body: localVarBody, 1187 error: err.Error(), 1188 } 1189 return localVarReturnValue, localVarHttpResponse, newErr 1190 } 1191 1192 return localVarReturnValue, localVarHttpResponse, nil 1193 } 1194 1195 /* 1196 CallHandlingSettingsApiService Get Custom Greeting Info 1197 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1198 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1199 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 1200 * @param greetingId 1201 @return CustomCompanyGreetingInfo 1202 */ 1203 func (a *CallHandlingSettingsApiService) GetGreetingByID(ctx context.Context, accountId string, extensionId string, greetingId int32) (CustomCompanyGreetingInfo, *http.Response, error) { 1204 var ( 1205 localVarHttpMethod = strings.ToUpper("Get") 1206 localVarPostBody interface{} 1207 localVarFormFileName string 1208 localVarFileName string 1209 localVarFileBytes []byte 1210 localVarReturnValue CustomCompanyGreetingInfo 1211 ) 1212 1213 // create path and map variables 1214 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting/{greetingId}" 1215 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1216 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1217 localVarPath = strings.Replace(localVarPath, "{"+"greetingId"+"}", fmt.Sprintf("%v", greetingId), -1) 1218 1219 localVarHeaderParams := make(map[string]string) 1220 localVarQueryParams := url.Values{} 1221 localVarFormParams := url.Values{} 1222 1223 // to determine the Content-Type header 1224 localVarHttpContentTypes := []string{} 1225 1226 // set Content-Type header 1227 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1228 if localVarHttpContentType != "" { 1229 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1230 } 1231 1232 // to determine the Accept header 1233 localVarHttpHeaderAccepts := []string{"application/json"} 1234 1235 // set Accept header 1236 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1237 if localVarHttpHeaderAccept != "" { 1238 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1239 } 1240 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1241 if err != nil { 1242 return localVarReturnValue, nil, err 1243 } 1244 1245 localVarHttpResponse, err := a.client.callAPI(r) 1246 if err != nil || localVarHttpResponse == nil { 1247 return localVarReturnValue, localVarHttpResponse, err 1248 } 1249 1250 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1251 localVarHttpResponse.Body.Close() 1252 if err != nil { 1253 return localVarReturnValue, localVarHttpResponse, err 1254 } 1255 1256 if localVarHttpResponse.StatusCode >= 300 { 1257 newErr := GenericOpenAPIError{ 1258 body: localVarBody, 1259 error: localVarHttpResponse.Status, 1260 } 1261 if localVarHttpResponse.StatusCode == 0 { 1262 var v CustomCompanyGreetingInfo 1263 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1264 if err != nil { 1265 newErr.error = err.Error() 1266 return localVarReturnValue, localVarHttpResponse, newErr 1267 } 1268 newErr.model = v 1269 return localVarReturnValue, localVarHttpResponse, newErr 1270 } 1271 return localVarReturnValue, localVarHttpResponse, newErr 1272 } 1273 1274 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1275 if err != nil { 1276 newErr := GenericOpenAPIError{ 1277 body: localVarBody, 1278 error: err.Error(), 1279 } 1280 return localVarReturnValue, localVarHttpResponse, newErr 1281 } 1282 1283 return localVarReturnValue, localVarHttpResponse, nil 1284 } 1285 1286 /* 1287 CallHandlingSettingsApiService Get Standard Greetings 1288 <p style='font-style:italic;'>Since 8.2 (Release 1.0.26)</p><p>Returns a list of predefined standard greetings. Please note: Custom greetings recorded by user are not returned in response to this request. See Get Extension Custom Greetings.</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>View Greetings</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Light</p> 1289 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1290 * @param optional nil or *GetGreetingsOpts - Optional Parameters: 1291 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 1292 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 1293 * @param "Type_" (optional.String) - Type of a greeting, specifying the case when the greeting is played 1294 * @param "UsageType" (optional.String) - Usage type of a greeting, specifying if the greeting is applied for user extension or department extension 1295 @return DictionaryGreetingList 1296 */ 1297 1298 type GetGreetingsOpts struct { 1299 Page optional.Int32 1300 PerPage optional.Int32 1301 Type_ optional.String 1302 UsageType optional.String 1303 } 1304 1305 func (a *CallHandlingSettingsApiService) GetGreetings(ctx context.Context, localVarOptionals *GetGreetingsOpts) (DictionaryGreetingList, *http.Response, error) { 1306 var ( 1307 localVarHttpMethod = strings.ToUpper("Get") 1308 localVarPostBody interface{} 1309 localVarFormFileName string 1310 localVarFileName string 1311 localVarFileBytes []byte 1312 localVarReturnValue DictionaryGreetingList 1313 ) 1314 1315 // create path and map variables 1316 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/greeting" 1317 1318 localVarHeaderParams := make(map[string]string) 1319 localVarQueryParams := url.Values{} 1320 localVarFormParams := url.Values{} 1321 1322 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 1323 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 1324 } 1325 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 1326 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 1327 } 1328 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 1329 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "")) 1330 } 1331 if localVarOptionals != nil && localVarOptionals.UsageType.IsSet() { 1332 localVarQueryParams.Add("usageType", parameterToString(localVarOptionals.UsageType.Value(), "")) 1333 } 1334 // to determine the Content-Type header 1335 localVarHttpContentTypes := []string{} 1336 1337 // set Content-Type header 1338 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1339 if localVarHttpContentType != "" { 1340 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1341 } 1342 1343 // to determine the Accept header 1344 localVarHttpHeaderAccepts := []string{"application/json"} 1345 1346 // set Accept header 1347 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1348 if localVarHttpHeaderAccept != "" { 1349 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1350 } 1351 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1352 if err != nil { 1353 return localVarReturnValue, nil, err 1354 } 1355 1356 localVarHttpResponse, err := a.client.callAPI(r) 1357 if err != nil || localVarHttpResponse == nil { 1358 return localVarReturnValue, localVarHttpResponse, err 1359 } 1360 1361 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1362 localVarHttpResponse.Body.Close() 1363 if err != nil { 1364 return localVarReturnValue, localVarHttpResponse, err 1365 } 1366 1367 if localVarHttpResponse.StatusCode >= 300 { 1368 newErr := GenericOpenAPIError{ 1369 body: localVarBody, 1370 error: localVarHttpResponse.Status, 1371 } 1372 if localVarHttpResponse.StatusCode == 0 { 1373 var v DictionaryGreetingList 1374 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1375 if err != nil { 1376 newErr.error = err.Error() 1377 return localVarReturnValue, localVarHttpResponse, newErr 1378 } 1379 newErr.model = v 1380 return localVarReturnValue, localVarHttpResponse, newErr 1381 } 1382 return localVarReturnValue, localVarHttpResponse, newErr 1383 } 1384 1385 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1386 if err != nil { 1387 newErr := GenericOpenAPIError{ 1388 body: localVarBody, 1389 error: err.Error(), 1390 } 1391 return localVarReturnValue, localVarHttpResponse, newErr 1392 } 1393 1394 return localVarReturnValue, localVarHttpResponse, nil 1395 } 1396 1397 /* 1398 CallHandlingSettingsApiService Get IVR Menu 1399 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns a company IVR menu by ID</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>API Group</h4><p>Medium</p> 1400 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1401 * @param accountId 1402 * @param ivrMenuId 1403 @return IvrMenuInfo 1404 */ 1405 func (a *CallHandlingSettingsApiService) GetIVRMenuById(ctx context.Context, accountId string, ivrMenuId string) (IvrMenuInfo, *http.Response, error) { 1406 var ( 1407 localVarHttpMethod = strings.ToUpper("Get") 1408 localVarPostBody interface{} 1409 localVarFormFileName string 1410 localVarFileName string 1411 localVarFileBytes []byte 1412 localVarReturnValue IvrMenuInfo 1413 ) 1414 1415 // create path and map variables 1416 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}" 1417 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1418 localVarPath = strings.Replace(localVarPath, "{"+"ivrMenuId"+"}", fmt.Sprintf("%v", ivrMenuId), -1) 1419 1420 localVarHeaderParams := make(map[string]string) 1421 localVarQueryParams := url.Values{} 1422 localVarFormParams := url.Values{} 1423 1424 // to determine the Content-Type header 1425 localVarHttpContentTypes := []string{} 1426 1427 // set Content-Type header 1428 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1429 if localVarHttpContentType != "" { 1430 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1431 } 1432 1433 // to determine the Accept header 1434 localVarHttpHeaderAccepts := []string{"application/json"} 1435 1436 // set Accept header 1437 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1438 if localVarHttpHeaderAccept != "" { 1439 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1440 } 1441 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1442 if err != nil { 1443 return localVarReturnValue, nil, err 1444 } 1445 1446 localVarHttpResponse, err := a.client.callAPI(r) 1447 if err != nil || localVarHttpResponse == nil { 1448 return localVarReturnValue, localVarHttpResponse, err 1449 } 1450 1451 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1452 localVarHttpResponse.Body.Close() 1453 if err != nil { 1454 return localVarReturnValue, localVarHttpResponse, err 1455 } 1456 1457 if localVarHttpResponse.StatusCode >= 300 { 1458 newErr := GenericOpenAPIError{ 1459 body: localVarBody, 1460 error: localVarHttpResponse.Status, 1461 } 1462 if localVarHttpResponse.StatusCode == 0 { 1463 var v IvrMenuInfo 1464 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1465 if err != nil { 1466 newErr.error = err.Error() 1467 return localVarReturnValue, localVarHttpResponse, newErr 1468 } 1469 newErr.model = v 1470 return localVarReturnValue, localVarHttpResponse, newErr 1471 } 1472 return localVarReturnValue, localVarHttpResponse, newErr 1473 } 1474 1475 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1476 if err != nil { 1477 newErr := GenericOpenAPIError{ 1478 body: localVarBody, 1479 error: err.Error(), 1480 } 1481 return localVarReturnValue, localVarHttpResponse, newErr 1482 } 1483 1484 return localVarReturnValue, localVarHttpResponse, nil 1485 } 1486 1487 /* 1488 CallHandlingSettingsApiService Get IVR Prompt 1489 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns an IVR prompt by ID</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>API Group</h4><p>Medium</p> 1490 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1491 * @param accountId 1492 * @param promptId 1493 @return PromptInfo 1494 */ 1495 func (a *CallHandlingSettingsApiService) GetIVRPrompt(ctx context.Context, accountId string, promptId string) (PromptInfo, *http.Response, error) { 1496 var ( 1497 localVarHttpMethod = strings.ToUpper("Get") 1498 localVarPostBody interface{} 1499 localVarFormFileName string 1500 localVarFileName string 1501 localVarFileBytes []byte 1502 localVarReturnValue PromptInfo 1503 ) 1504 1505 // create path and map variables 1506 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}" 1507 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1508 localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1) 1509 1510 localVarHeaderParams := make(map[string]string) 1511 localVarQueryParams := url.Values{} 1512 localVarFormParams := url.Values{} 1513 1514 // to determine the Content-Type header 1515 localVarHttpContentTypes := []string{} 1516 1517 // set Content-Type header 1518 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1519 if localVarHttpContentType != "" { 1520 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1521 } 1522 1523 // to determine the Accept header 1524 localVarHttpHeaderAccepts := []string{"application/json"} 1525 1526 // set Accept header 1527 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1528 if localVarHttpHeaderAccept != "" { 1529 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1530 } 1531 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1532 if err != nil { 1533 return localVarReturnValue, nil, err 1534 } 1535 1536 localVarHttpResponse, err := a.client.callAPI(r) 1537 if err != nil || localVarHttpResponse == nil { 1538 return localVarReturnValue, localVarHttpResponse, err 1539 } 1540 1541 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1542 localVarHttpResponse.Body.Close() 1543 if err != nil { 1544 return localVarReturnValue, localVarHttpResponse, err 1545 } 1546 1547 if localVarHttpResponse.StatusCode >= 300 { 1548 newErr := GenericOpenAPIError{ 1549 body: localVarBody, 1550 error: localVarHttpResponse.Status, 1551 } 1552 if localVarHttpResponse.StatusCode == 0 { 1553 var v PromptInfo 1554 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1555 if err != nil { 1556 newErr.error = err.Error() 1557 return localVarReturnValue, localVarHttpResponse, newErr 1558 } 1559 newErr.model = v 1560 return localVarReturnValue, localVarHttpResponse, newErr 1561 } 1562 return localVarReturnValue, localVarHttpResponse, newErr 1563 } 1564 1565 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1566 if err != nil { 1567 newErr := GenericOpenAPIError{ 1568 body: localVarBody, 1569 error: err.Error(), 1570 } 1571 return localVarReturnValue, localVarHttpResponse, newErr 1572 } 1573 1574 return localVarReturnValue, localVarHttpResponse, nil 1575 } 1576 1577 /* 1578 CallHandlingSettingsApiService Get IVR Prompt Content 1579 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns media content of an IVR prompt by its ID</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>API Group</h4><p>Medium</p> 1580 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1581 * @param accountId 1582 * @param promptId 1583 */ 1584 func (a *CallHandlingSettingsApiService) GetIVRPromptContent(ctx context.Context, accountId string, promptId string) (*http.Response, error) { 1585 var ( 1586 localVarHttpMethod = strings.ToUpper("Get") 1587 localVarPostBody interface{} 1588 localVarFormFileName string 1589 localVarFileName string 1590 localVarFileBytes []byte 1591 ) 1592 1593 // create path and map variables 1594 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}/content" 1595 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1596 localVarPath = strings.Replace(localVarPath, "{"+"promptId"+"}", fmt.Sprintf("%v", promptId), -1) 1597 1598 localVarHeaderParams := make(map[string]string) 1599 localVarQueryParams := url.Values{} 1600 localVarFormParams := url.Values{} 1601 1602 // to determine the Content-Type header 1603 localVarHttpContentTypes := []string{} 1604 1605 // set Content-Type header 1606 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1607 if localVarHttpContentType != "" { 1608 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1609 } 1610 1611 // to determine the Accept header 1612 localVarHttpHeaderAccepts := []string{} 1613 1614 // set Accept header 1615 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1616 if localVarHttpHeaderAccept != "" { 1617 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1618 } 1619 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1620 if err != nil { 1621 return nil, err 1622 } 1623 1624 localVarHttpResponse, err := a.client.callAPI(r) 1625 if err != nil || localVarHttpResponse == nil { 1626 return localVarHttpResponse, err 1627 } 1628 1629 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1630 localVarHttpResponse.Body.Close() 1631 if err != nil { 1632 return localVarHttpResponse, err 1633 } 1634 1635 if localVarHttpResponse.StatusCode >= 300 { 1636 newErr := GenericOpenAPIError{ 1637 body: localVarBody, 1638 error: localVarHttpResponse.Status, 1639 } 1640 return localVarHttpResponse, newErr 1641 } 1642 1643 return localVarHttpResponse, nil 1644 } 1645 1646 /* 1647 CallHandlingSettingsApiService Get IVR Prompts 1648 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns a list of IVR prompts.</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>API Group</h4><p>Medium</p> 1649 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1650 * @param accountId 1651 @return IvrPrompts 1652 */ 1653 func (a *CallHandlingSettingsApiService) GetIVRPrompts(ctx context.Context, accountId string) (IvrPrompts, *http.Response, error) { 1654 var ( 1655 localVarHttpMethod = strings.ToUpper("Get") 1656 localVarPostBody interface{} 1657 localVarFormFileName string 1658 localVarFileName string 1659 localVarFileBytes []byte 1660 localVarReturnValue IvrPrompts 1661 ) 1662 1663 // create path and map variables 1664 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-prompts" 1665 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1666 1667 localVarHeaderParams := make(map[string]string) 1668 localVarQueryParams := url.Values{} 1669 localVarFormParams := url.Values{} 1670 1671 // to determine the Content-Type header 1672 localVarHttpContentTypes := []string{} 1673 1674 // set Content-Type header 1675 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1676 if localVarHttpContentType != "" { 1677 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1678 } 1679 1680 // to determine the Accept header 1681 localVarHttpHeaderAccepts := []string{"application/json"} 1682 1683 // set Accept header 1684 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1685 if localVarHttpHeaderAccept != "" { 1686 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1687 } 1688 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1689 if err != nil { 1690 return localVarReturnValue, nil, err 1691 } 1692 1693 localVarHttpResponse, err := a.client.callAPI(r) 1694 if err != nil || localVarHttpResponse == nil { 1695 return localVarReturnValue, localVarHttpResponse, err 1696 } 1697 1698 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1699 localVarHttpResponse.Body.Close() 1700 if err != nil { 1701 return localVarReturnValue, localVarHttpResponse, err 1702 } 1703 1704 if localVarHttpResponse.StatusCode >= 300 { 1705 newErr := GenericOpenAPIError{ 1706 body: localVarBody, 1707 error: localVarHttpResponse.Status, 1708 } 1709 if localVarHttpResponse.StatusCode == 0 { 1710 var v IvrPrompts 1711 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1712 if err != nil { 1713 newErr.error = err.Error() 1714 return localVarReturnValue, localVarHttpResponse, newErr 1715 } 1716 newErr.model = v 1717 return localVarReturnValue, localVarHttpResponse, newErr 1718 } 1719 return localVarReturnValue, localVarHttpResponse, newErr 1720 } 1721 1722 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1723 if err != nil { 1724 newErr := GenericOpenAPIError{ 1725 body: localVarBody, 1726 error: err.Error(), 1727 } 1728 return localVarReturnValue, localVarHttpResponse, newErr 1729 } 1730 1731 return localVarReturnValue, localVarHttpResponse, nil 1732 } 1733 1734 /* 1735 CallHandlingSettingsApiService Get Blocked Numbers 1736 <p style='font-style:italic;'></p><p></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> 1737 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1738 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1739 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 1740 @return BlockedNumbersList 1741 */ 1742 func (a *CallHandlingSettingsApiService) ListBlockedNumbers(ctx context.Context, accountId string, extensionId string) (BlockedNumbersList, *http.Response, error) { 1743 var ( 1744 localVarHttpMethod = strings.ToUpper("Get") 1745 localVarPostBody interface{} 1746 localVarFormFileName string 1747 localVarFileName string 1748 localVarFileBytes []byte 1749 localVarReturnValue BlockedNumbersList 1750 ) 1751 1752 // create path and map variables 1753 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number" 1754 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1755 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1756 1757 localVarHeaderParams := make(map[string]string) 1758 localVarQueryParams := url.Values{} 1759 localVarFormParams := url.Values{} 1760 1761 // to determine the Content-Type header 1762 localVarHttpContentTypes := []string{} 1763 1764 // set Content-Type header 1765 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1766 if localVarHttpContentType != "" { 1767 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1768 } 1769 1770 // to determine the Accept header 1771 localVarHttpHeaderAccepts := []string{"application/json"} 1772 1773 // set Accept header 1774 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1775 if localVarHttpHeaderAccept != "" { 1776 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1777 } 1778 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1779 if err != nil { 1780 return localVarReturnValue, nil, err 1781 } 1782 1783 localVarHttpResponse, err := a.client.callAPI(r) 1784 if err != nil || localVarHttpResponse == nil { 1785 return localVarReturnValue, localVarHttpResponse, err 1786 } 1787 1788 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1789 localVarHttpResponse.Body.Close() 1790 if err != nil { 1791 return localVarReturnValue, localVarHttpResponse, err 1792 } 1793 1794 if localVarHttpResponse.StatusCode >= 300 { 1795 newErr := GenericOpenAPIError{ 1796 body: localVarBody, 1797 error: localVarHttpResponse.Status, 1798 } 1799 if localVarHttpResponse.StatusCode == 0 { 1800 var v BlockedNumbersList 1801 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1802 if err != nil { 1803 newErr.error = err.Error() 1804 return localVarReturnValue, localVarHttpResponse, newErr 1805 } 1806 newErr.model = v 1807 return localVarReturnValue, localVarHttpResponse, newErr 1808 } 1809 return localVarReturnValue, localVarHttpResponse, newErr 1810 } 1811 1812 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1813 if err != nil { 1814 newErr := GenericOpenAPIError{ 1815 body: localVarBody, 1816 error: err.Error(), 1817 } 1818 return localVarReturnValue, localVarHttpResponse, newErr 1819 } 1820 1821 return localVarReturnValue, localVarHttpResponse, nil 1822 } 1823 1824 /* 1825 CallHandlingSettingsApiService Get Company Call Handling Rules 1826 <p style='font-style:italic;'>Since 1.0.31 (Release 9.2)</p><p>Returns a list of company answering rules.</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>API Group</h4><p>Medium</p> 1827 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1828 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1829 @return CompanyAnsweringRuleList 1830 */ 1831 func (a *CallHandlingSettingsApiService) ListCompanyAnsweringRule(ctx context.Context, accountId string) (CompanyAnsweringRuleList, *http.Response, error) { 1832 var ( 1833 localVarHttpMethod = strings.ToUpper("Get") 1834 localVarPostBody interface{} 1835 localVarFormFileName string 1836 localVarFileName string 1837 localVarFileBytes []byte 1838 localVarReturnValue CompanyAnsweringRuleList 1839 ) 1840 1841 // create path and map variables 1842 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule" 1843 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1844 1845 localVarHeaderParams := make(map[string]string) 1846 localVarQueryParams := url.Values{} 1847 localVarFormParams := url.Values{} 1848 1849 // to determine the Content-Type header 1850 localVarHttpContentTypes := []string{} 1851 1852 // set Content-Type header 1853 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1854 if localVarHttpContentType != "" { 1855 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1856 } 1857 1858 // to determine the Accept header 1859 localVarHttpHeaderAccepts := []string{"application/json"} 1860 1861 // set Accept header 1862 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1863 if localVarHttpHeaderAccept != "" { 1864 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1865 } 1866 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1867 if err != nil { 1868 return localVarReturnValue, nil, err 1869 } 1870 1871 localVarHttpResponse, err := a.client.callAPI(r) 1872 if err != nil || localVarHttpResponse == nil { 1873 return localVarReturnValue, localVarHttpResponse, err 1874 } 1875 1876 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1877 localVarHttpResponse.Body.Close() 1878 if err != nil { 1879 return localVarReturnValue, localVarHttpResponse, err 1880 } 1881 1882 if localVarHttpResponse.StatusCode >= 300 { 1883 newErr := GenericOpenAPIError{ 1884 body: localVarBody, 1885 error: localVarHttpResponse.Status, 1886 } 1887 if localVarHttpResponse.StatusCode == 0 { 1888 var v CompanyAnsweringRuleList 1889 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1890 if err != nil { 1891 newErr.error = err.Error() 1892 return localVarReturnValue, localVarHttpResponse, newErr 1893 } 1894 newErr.model = v 1895 return localVarReturnValue, localVarHttpResponse, newErr 1896 } 1897 return localVarReturnValue, localVarHttpResponse, newErr 1898 } 1899 1900 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1901 if err != nil { 1902 newErr := GenericOpenAPIError{ 1903 body: localVarBody, 1904 error: err.Error(), 1905 } 1906 return localVarReturnValue, localVarHttpResponse, newErr 1907 } 1908 1909 return localVarReturnValue, localVarHttpResponse, nil 1910 } 1911 1912 /* 1913 CallHandlingSettingsApiService Get Forwarding Numbers 1914 <p style='font-style:italic;'>Since 1.0.7 (Release 5.16)</p><p>Returns the list of extension phone numbers used for call forwarding and call flip. The returned list contains all the extension phone numbers that are used for call forwarding and call flip.</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> 1915 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1916 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1917 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 1918 * @param optional nil or *ListExtensionForwardingNumbersOpts - Optional Parameters: 1919 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 1920 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 1921 @return GetExtensionForwardingNumberListResponse 1922 */ 1923 1924 type ListExtensionForwardingNumbersOpts struct { 1925 Page optional.Int32 1926 PerPage optional.Int32 1927 } 1928 1929 func (a *CallHandlingSettingsApiService) ListExtensionForwardingNumbers(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionForwardingNumbersOpts) (GetExtensionForwardingNumberListResponse, *http.Response, error) { 1930 var ( 1931 localVarHttpMethod = strings.ToUpper("Get") 1932 localVarPostBody interface{} 1933 localVarFormFileName string 1934 localVarFileName string 1935 localVarFileBytes []byte 1936 localVarReturnValue GetExtensionForwardingNumberListResponse 1937 ) 1938 1939 // create path and map variables 1940 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number" 1941 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1942 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1943 1944 localVarHeaderParams := make(map[string]string) 1945 localVarQueryParams := url.Values{} 1946 localVarFormParams := url.Values{} 1947 1948 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 1949 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 1950 } 1951 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 1952 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 1953 } 1954 // to determine the Content-Type header 1955 localVarHttpContentTypes := []string{} 1956 1957 // set Content-Type header 1958 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1959 if localVarHttpContentType != "" { 1960 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1961 } 1962 1963 // to determine the Accept header 1964 localVarHttpHeaderAccepts := []string{"application/json"} 1965 1966 // set Accept header 1967 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1968 if localVarHttpHeaderAccept != "" { 1969 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1970 } 1971 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1972 if err != nil { 1973 return localVarReturnValue, nil, err 1974 } 1975 1976 localVarHttpResponse, err := a.client.callAPI(r) 1977 if err != nil || localVarHttpResponse == nil { 1978 return localVarReturnValue, localVarHttpResponse, err 1979 } 1980 1981 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1982 localVarHttpResponse.Body.Close() 1983 if err != nil { 1984 return localVarReturnValue, localVarHttpResponse, err 1985 } 1986 1987 if localVarHttpResponse.StatusCode >= 300 { 1988 newErr := GenericOpenAPIError{ 1989 body: localVarBody, 1990 error: localVarHttpResponse.Status, 1991 } 1992 if localVarHttpResponse.StatusCode == 0 { 1993 var v GetExtensionForwardingNumberListResponse 1994 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1995 if err != nil { 1996 newErr.error = err.Error() 1997 return localVarReturnValue, localVarHttpResponse, newErr 1998 } 1999 newErr.model = v 2000 return localVarReturnValue, localVarHttpResponse, newErr 2001 } 2002 return localVarReturnValue, localVarHttpResponse, newErr 2003 } 2004 2005 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2006 if err != nil { 2007 newErr := GenericOpenAPIError{ 2008 body: localVarBody, 2009 error: err.Error(), 2010 } 2011 return localVarReturnValue, localVarHttpResponse, newErr 2012 } 2013 2014 return localVarReturnValue, localVarHttpResponse, nil 2015 } 2016 2017 /* 2018 CallHandlingSettingsApiService Get Call Handling Rule 2019 <p style='font-style:italic;'>Since 1.0.15 (Release 7.0)</p><p>Returns an answering rule by ID.</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> 2020 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2021 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2022 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2023 * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule 2024 @return AnsweringRuleInfo 2025 */ 2026 func (a *CallHandlingSettingsApiService) LoadAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, ruleId string) (AnsweringRuleInfo, *http.Response, error) { 2027 var ( 2028 localVarHttpMethod = strings.ToUpper("Get") 2029 localVarPostBody interface{} 2030 localVarFormFileName string 2031 localVarFileName string 2032 localVarFileBytes []byte 2033 localVarReturnValue AnsweringRuleInfo 2034 ) 2035 2036 // create path and map variables 2037 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}" 2038 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2039 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2040 localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1) 2041 2042 localVarHeaderParams := make(map[string]string) 2043 localVarQueryParams := url.Values{} 2044 localVarFormParams := url.Values{} 2045 2046 // to determine the Content-Type header 2047 localVarHttpContentTypes := []string{} 2048 2049 // set Content-Type header 2050 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2051 if localVarHttpContentType != "" { 2052 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2053 } 2054 2055 // to determine the Accept header 2056 localVarHttpHeaderAccepts := []string{"application/json"} 2057 2058 // set Accept header 2059 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2060 if localVarHttpHeaderAccept != "" { 2061 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2062 } 2063 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2064 if err != nil { 2065 return localVarReturnValue, nil, err 2066 } 2067 2068 localVarHttpResponse, err := a.client.callAPI(r) 2069 if err != nil || localVarHttpResponse == nil { 2070 return localVarReturnValue, localVarHttpResponse, err 2071 } 2072 2073 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2074 localVarHttpResponse.Body.Close() 2075 if err != nil { 2076 return localVarReturnValue, localVarHttpResponse, err 2077 } 2078 2079 if localVarHttpResponse.StatusCode >= 300 { 2080 newErr := GenericOpenAPIError{ 2081 body: localVarBody, 2082 error: localVarHttpResponse.Status, 2083 } 2084 if localVarHttpResponse.StatusCode == 0 { 2085 var v AnsweringRuleInfo 2086 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2087 if err != nil { 2088 newErr.error = err.Error() 2089 return localVarReturnValue, localVarHttpResponse, newErr 2090 } 2091 newErr.model = v 2092 return localVarReturnValue, localVarHttpResponse, newErr 2093 } 2094 return localVarReturnValue, localVarHttpResponse, newErr 2095 } 2096 2097 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2098 if err != nil { 2099 newErr := GenericOpenAPIError{ 2100 body: localVarBody, 2101 error: err.Error(), 2102 } 2103 return localVarReturnValue, localVarHttpResponse, newErr 2104 } 2105 2106 return localVarReturnValue, localVarHttpResponse, nil 2107 } 2108 2109 /* 2110 CallHandlingSettingsApiService Get Call Handling Rules 2111 <p style='font-style:italic;'>Since 1.0.15 (Release 7.0)</p><p>Returns the extension answering rules.</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> 2112 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2113 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2114 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2115 * @param optional nil or *LoadAnsweringRulesListOpts - Optional Parameters: 2116 * @param "Page" (optional.String) - 2117 * @param "PerPage" (optional.String) - 2118 */ 2119 2120 type LoadAnsweringRulesListOpts struct { 2121 Page optional.String 2122 PerPage optional.String 2123 } 2124 2125 func (a *CallHandlingSettingsApiService) LoadAnsweringRulesList(ctx context.Context, accountId string, extensionId string, localVarOptionals *LoadAnsweringRulesListOpts) (*http.Response, error) { 2126 var ( 2127 localVarHttpMethod = strings.ToUpper("Get") 2128 localVarPostBody interface{} 2129 localVarFormFileName string 2130 localVarFileName string 2131 localVarFileBytes []byte 2132 ) 2133 2134 // create path and map variables 2135 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule" 2136 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2137 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2138 2139 localVarHeaderParams := make(map[string]string) 2140 localVarQueryParams := url.Values{} 2141 localVarFormParams := url.Values{} 2142 2143 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 2144 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 2145 } 2146 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 2147 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 2148 } 2149 // to determine the Content-Type header 2150 localVarHttpContentTypes := []string{} 2151 2152 // set Content-Type header 2153 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2154 if localVarHttpContentType != "" { 2155 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2156 } 2157 2158 // to determine the Accept header 2159 localVarHttpHeaderAccepts := []string{} 2160 2161 // set Accept header 2162 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2163 if localVarHttpHeaderAccept != "" { 2164 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2165 } 2166 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2167 if err != nil { 2168 return nil, err 2169 } 2170 2171 localVarHttpResponse, err := a.client.callAPI(r) 2172 if err != nil || localVarHttpResponse == nil { 2173 return localVarHttpResponse, err 2174 } 2175 2176 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2177 localVarHttpResponse.Body.Close() 2178 if err != nil { 2179 return localVarHttpResponse, err 2180 } 2181 2182 if localVarHttpResponse.StatusCode >= 300 { 2183 newErr := GenericOpenAPIError{ 2184 body: localVarBody, 2185 error: localVarHttpResponse.Status, 2186 } 2187 return localVarHttpResponse, newErr 2188 } 2189 2190 return localVarHttpResponse, nil 2191 } 2192 2193 /* 2194 CallHandlingSettingsApiService Get Blocked Number 2195 <p style='font-style:italic;'></p><p></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> 2196 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2197 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2198 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2199 * @param blockedNumberId Internal identifiers of a blocked number list entry 2200 @return BlockedNumberInfo 2201 */ 2202 func (a *CallHandlingSettingsApiService) LoadBlockedNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32) (BlockedNumberInfo, *http.Response, error) { 2203 var ( 2204 localVarHttpMethod = strings.ToUpper("Get") 2205 localVarPostBody interface{} 2206 localVarFormFileName string 2207 localVarFileName string 2208 localVarFileBytes []byte 2209 localVarReturnValue BlockedNumberInfo 2210 ) 2211 2212 // create path and map variables 2213 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}" 2214 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2215 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2216 localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1) 2217 2218 localVarHeaderParams := make(map[string]string) 2219 localVarQueryParams := url.Values{} 2220 localVarFormParams := url.Values{} 2221 2222 // to determine the Content-Type header 2223 localVarHttpContentTypes := []string{} 2224 2225 // set Content-Type header 2226 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2227 if localVarHttpContentType != "" { 2228 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2229 } 2230 2231 // to determine the Accept header 2232 localVarHttpHeaderAccepts := []string{"application/json"} 2233 2234 // set Accept header 2235 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2236 if localVarHttpHeaderAccept != "" { 2237 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2238 } 2239 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2240 if err != nil { 2241 return localVarReturnValue, nil, err 2242 } 2243 2244 localVarHttpResponse, err := a.client.callAPI(r) 2245 if err != nil || localVarHttpResponse == nil { 2246 return localVarReturnValue, localVarHttpResponse, err 2247 } 2248 2249 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2250 localVarHttpResponse.Body.Close() 2251 if err != nil { 2252 return localVarReturnValue, localVarHttpResponse, err 2253 } 2254 2255 if localVarHttpResponse.StatusCode >= 300 { 2256 newErr := GenericOpenAPIError{ 2257 body: localVarBody, 2258 error: localVarHttpResponse.Status, 2259 } 2260 if localVarHttpResponse.StatusCode == 0 { 2261 var v BlockedNumberInfo 2262 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2263 if err != nil { 2264 newErr.error = err.Error() 2265 return localVarReturnValue, localVarHttpResponse, newErr 2266 } 2267 newErr.model = v 2268 return localVarReturnValue, localVarHttpResponse, newErr 2269 } 2270 return localVarReturnValue, localVarHttpResponse, newErr 2271 } 2272 2273 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2274 if err != nil { 2275 newErr := GenericOpenAPIError{ 2276 body: localVarBody, 2277 error: err.Error(), 2278 } 2279 return localVarReturnValue, localVarHttpResponse, newErr 2280 } 2281 2282 return localVarReturnValue, localVarHttpResponse, nil 2283 } 2284 2285 /* 2286 CallHandlingSettingsApiService Get Company Business Hours 2287 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns company hours when answering rules are to be applied.</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> 2288 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2289 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2290 @return CompanyBusinessHours 2291 */ 2292 func (a *CallHandlingSettingsApiService) LoadBusinesshoursInfo(ctx context.Context, accountId string) (CompanyBusinessHours, *http.Response, error) { 2293 var ( 2294 localVarHttpMethod = strings.ToUpper("Get") 2295 localVarPostBody interface{} 2296 localVarFormFileName string 2297 localVarFileName string 2298 localVarFileBytes []byte 2299 localVarReturnValue CompanyBusinessHours 2300 ) 2301 2302 // create path and map variables 2303 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-hours" 2304 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2305 2306 localVarHeaderParams := make(map[string]string) 2307 localVarQueryParams := url.Values{} 2308 localVarFormParams := url.Values{} 2309 2310 // to determine the Content-Type header 2311 localVarHttpContentTypes := []string{} 2312 2313 // set Content-Type header 2314 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2315 if localVarHttpContentType != "" { 2316 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2317 } 2318 2319 // to determine the Accept header 2320 localVarHttpHeaderAccepts := []string{"application/json"} 2321 2322 // set Accept header 2323 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2324 if localVarHttpHeaderAccept != "" { 2325 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2326 } 2327 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2328 if err != nil { 2329 return localVarReturnValue, nil, err 2330 } 2331 2332 localVarHttpResponse, err := a.client.callAPI(r) 2333 if err != nil || localVarHttpResponse == nil { 2334 return localVarReturnValue, localVarHttpResponse, err 2335 } 2336 2337 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2338 localVarHttpResponse.Body.Close() 2339 if err != nil { 2340 return localVarReturnValue, localVarHttpResponse, err 2341 } 2342 2343 if localVarHttpResponse.StatusCode >= 300 { 2344 newErr := GenericOpenAPIError{ 2345 body: localVarBody, 2346 error: localVarHttpResponse.Status, 2347 } 2348 if localVarHttpResponse.StatusCode == 0 { 2349 var v CompanyBusinessHours 2350 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2351 if err != nil { 2352 newErr.error = err.Error() 2353 return localVarReturnValue, localVarHttpResponse, newErr 2354 } 2355 newErr.model = v 2356 return localVarReturnValue, localVarHttpResponse, newErr 2357 } 2358 return localVarReturnValue, localVarHttpResponse, newErr 2359 } 2360 2361 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2362 if err != nil { 2363 newErr := GenericOpenAPIError{ 2364 body: localVarBody, 2365 error: err.Error(), 2366 } 2367 return localVarReturnValue, localVarHttpResponse, newErr 2368 } 2369 2370 return localVarReturnValue, localVarHttpResponse, nil 2371 } 2372 2373 /* 2374 CallHandlingSettingsApiService Get Company Call Handling Rule 2375 <p style='font-style:italic;'>Since 1.0.31 (Release 9.2)</p><p>Returns a company answering rule by ID.</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>API Group</h4><p>Light</p> 2376 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2377 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2378 * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule 2379 @return CompanyAnsweringRuleInfo 2380 */ 2381 func (a *CallHandlingSettingsApiService) LoadCompanyAnsweringRuleInfo(ctx context.Context, accountId string, ruleId string) (CompanyAnsweringRuleInfo, *http.Response, error) { 2382 var ( 2383 localVarHttpMethod = strings.ToUpper("Get") 2384 localVarPostBody interface{} 2385 localVarFormFileName string 2386 localVarFileName string 2387 localVarFileBytes []byte 2388 localVarReturnValue CompanyAnsweringRuleInfo 2389 ) 2390 2391 // create path and map variables 2392 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule/{ruleId}" 2393 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2394 localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1) 2395 2396 localVarHeaderParams := make(map[string]string) 2397 localVarQueryParams := url.Values{} 2398 localVarFormParams := url.Values{} 2399 2400 // to determine the Content-Type header 2401 localVarHttpContentTypes := []string{} 2402 2403 // set Content-Type header 2404 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2405 if localVarHttpContentType != "" { 2406 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2407 } 2408 2409 // to determine the Accept header 2410 localVarHttpHeaderAccepts := []string{"application/json"} 2411 2412 // set Accept header 2413 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2414 if localVarHttpHeaderAccept != "" { 2415 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2416 } 2417 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2418 if err != nil { 2419 return localVarReturnValue, nil, err 2420 } 2421 2422 localVarHttpResponse, err := a.client.callAPI(r) 2423 if err != nil || localVarHttpResponse == nil { 2424 return localVarReturnValue, localVarHttpResponse, err 2425 } 2426 2427 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2428 localVarHttpResponse.Body.Close() 2429 if err != nil { 2430 return localVarReturnValue, localVarHttpResponse, err 2431 } 2432 2433 if localVarHttpResponse.StatusCode >= 300 { 2434 newErr := GenericOpenAPIError{ 2435 body: localVarBody, 2436 error: localVarHttpResponse.Status, 2437 } 2438 if localVarHttpResponse.StatusCode == 0 { 2439 var v CompanyAnsweringRuleInfo 2440 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2441 if err != nil { 2442 newErr.error = err.Error() 2443 return localVarReturnValue, localVarHttpResponse, newErr 2444 } 2445 newErr.model = v 2446 return localVarReturnValue, localVarHttpResponse, newErr 2447 } 2448 return localVarReturnValue, localVarHttpResponse, newErr 2449 } 2450 2451 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2452 if err != nil { 2453 newErr := GenericOpenAPIError{ 2454 body: localVarBody, 2455 error: err.Error(), 2456 } 2457 return localVarReturnValue, localVarHttpResponse, newErr 2458 } 2459 2460 return localVarReturnValue, localVarHttpResponse, nil 2461 } 2462 2463 /* 2464 CallHandlingSettingsApiService Get User Business Hours 2465 <p style='font-style:italic;'>Since 1.0.15 (Release 7.0)</p><p>Returns the extension user hours when answering rules are to be applied.</p><h4>Usage Plan Group</h4><p>Light</p> 2466 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2467 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2468 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2469 @return GetUserBusinessHoursResponse 2470 */ 2471 func (a *CallHandlingSettingsApiService) LoadUserBusinessHours(ctx context.Context, accountId string, extensionId string) (GetUserBusinessHoursResponse, *http.Response, error) { 2472 var ( 2473 localVarHttpMethod = strings.ToUpper("Get") 2474 localVarPostBody interface{} 2475 localVarFormFileName string 2476 localVarFileName string 2477 localVarFileBytes []byte 2478 localVarReturnValue GetUserBusinessHoursResponse 2479 ) 2480 2481 // create path and map variables 2482 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours" 2483 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2484 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2485 2486 localVarHeaderParams := make(map[string]string) 2487 localVarQueryParams := url.Values{} 2488 localVarFormParams := url.Values{} 2489 2490 // to determine the Content-Type header 2491 localVarHttpContentTypes := []string{} 2492 2493 // set Content-Type header 2494 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2495 if localVarHttpContentType != "" { 2496 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2497 } 2498 2499 // to determine the Accept header 2500 localVarHttpHeaderAccepts := []string{"application/json"} 2501 2502 // set Accept header 2503 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2504 if localVarHttpHeaderAccept != "" { 2505 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2506 } 2507 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2508 if err != nil { 2509 return localVarReturnValue, nil, err 2510 } 2511 2512 localVarHttpResponse, err := a.client.callAPI(r) 2513 if err != nil || localVarHttpResponse == nil { 2514 return localVarReturnValue, localVarHttpResponse, err 2515 } 2516 2517 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2518 localVarHttpResponse.Body.Close() 2519 if err != nil { 2520 return localVarReturnValue, localVarHttpResponse, err 2521 } 2522 2523 if localVarHttpResponse.StatusCode >= 300 { 2524 newErr := GenericOpenAPIError{ 2525 body: localVarBody, 2526 error: localVarHttpResponse.Status, 2527 } 2528 if localVarHttpResponse.StatusCode == 0 { 2529 var v GetUserBusinessHoursResponse 2530 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2531 if err != nil { 2532 newErr.error = err.Error() 2533 return localVarReturnValue, localVarHttpResponse, newErr 2534 } 2535 newErr.model = v 2536 return localVarReturnValue, localVarHttpResponse, newErr 2537 } 2538 return localVarReturnValue, localVarHttpResponse, newErr 2539 } 2540 2541 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2542 if err != nil { 2543 newErr := GenericOpenAPIError{ 2544 body: localVarBody, 2545 error: err.Error(), 2546 } 2547 return localVarReturnValue, localVarHttpResponse, newErr 2548 } 2549 2550 return localVarReturnValue, localVarHttpResponse, nil 2551 } 2552 2553 /* 2554 CallHandlingSettingsApiService Update IVR Menu 2555 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Returns a company IVR menu by ID</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>API Group</h4><p>Medium</p> 2556 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2557 * @param accountId 2558 * @param ivrMenuId 2559 * @param ivrMenuInfo JSON body 2560 @return IvrMenuInfo 2561 */ 2562 func (a *CallHandlingSettingsApiService) RestapiV10AccountAccountIdIvrMenusIvrMenuIdPut(ctx context.Context, accountId string, ivrMenuId string, ivrMenuInfo IvrMenuInfo) (IvrMenuInfo, *http.Response, error) { 2563 var ( 2564 localVarHttpMethod = strings.ToUpper("Put") 2565 localVarPostBody interface{} 2566 localVarFormFileName string 2567 localVarFileName string 2568 localVarFileBytes []byte 2569 localVarReturnValue IvrMenuInfo 2570 ) 2571 2572 // create path and map variables 2573 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}" 2574 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2575 localVarPath = strings.Replace(localVarPath, "{"+"ivrMenuId"+"}", fmt.Sprintf("%v", ivrMenuId), -1) 2576 2577 localVarHeaderParams := make(map[string]string) 2578 localVarQueryParams := url.Values{} 2579 localVarFormParams := url.Values{} 2580 2581 // to determine the Content-Type header 2582 localVarHttpContentTypes := []string{"application/json"} 2583 2584 // set Content-Type header 2585 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2586 if localVarHttpContentType != "" { 2587 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2588 } 2589 2590 // to determine the Accept header 2591 localVarHttpHeaderAccepts := []string{"application/json"} 2592 2593 // set Accept header 2594 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2595 if localVarHttpHeaderAccept != "" { 2596 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2597 } 2598 // body params 2599 localVarPostBody = &ivrMenuInfo 2600 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2601 if err != nil { 2602 return localVarReturnValue, nil, err 2603 } 2604 2605 localVarHttpResponse, err := a.client.callAPI(r) 2606 if err != nil || localVarHttpResponse == nil { 2607 return localVarReturnValue, localVarHttpResponse, err 2608 } 2609 2610 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2611 localVarHttpResponse.Body.Close() 2612 if err != nil { 2613 return localVarReturnValue, localVarHttpResponse, err 2614 } 2615 2616 if localVarHttpResponse.StatusCode >= 300 { 2617 newErr := GenericOpenAPIError{ 2618 body: localVarBody, 2619 error: localVarHttpResponse.Status, 2620 } 2621 if localVarHttpResponse.StatusCode == 0 { 2622 var v IvrMenuInfo 2623 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2624 if err != nil { 2625 newErr.error = err.Error() 2626 return localVarReturnValue, localVarHttpResponse, newErr 2627 } 2628 newErr.model = v 2629 return localVarReturnValue, localVarHttpResponse, newErr 2630 } 2631 return localVarReturnValue, localVarHttpResponse, newErr 2632 } 2633 2634 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2635 if err != nil { 2636 newErr := GenericOpenAPIError{ 2637 body: localVarBody, 2638 error: err.Error(), 2639 } 2640 return localVarReturnValue, localVarHttpResponse, newErr 2641 } 2642 2643 return localVarReturnValue, localVarHttpResponse, nil 2644 } 2645 2646 /* 2647 CallHandlingSettingsApiService Delete Blocked Number 2648 <p style='font-style:italic;'></p><p></p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 2649 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2650 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2651 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2652 * @param blockedNumberId Internal identifiers of a blocked number list entry 2653 */ 2654 func (a *CallHandlingSettingsApiService) UnblockNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32) (*http.Response, error) { 2655 var ( 2656 localVarHttpMethod = strings.ToUpper("Delete") 2657 localVarPostBody interface{} 2658 localVarFormFileName string 2659 localVarFileName string 2660 localVarFileBytes []byte 2661 ) 2662 2663 // create path and map variables 2664 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}" 2665 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2666 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2667 localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1) 2668 2669 localVarHeaderParams := make(map[string]string) 2670 localVarQueryParams := url.Values{} 2671 localVarFormParams := url.Values{} 2672 2673 // to determine the Content-Type header 2674 localVarHttpContentTypes := []string{} 2675 2676 // set Content-Type header 2677 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2678 if localVarHttpContentType != "" { 2679 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2680 } 2681 2682 // to determine the Accept header 2683 localVarHttpHeaderAccepts := []string{} 2684 2685 // set Accept header 2686 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2687 if localVarHttpHeaderAccept != "" { 2688 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2689 } 2690 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2691 if err != nil { 2692 return nil, err 2693 } 2694 2695 localVarHttpResponse, err := a.client.callAPI(r) 2696 if err != nil || localVarHttpResponse == nil { 2697 return localVarHttpResponse, err 2698 } 2699 2700 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2701 localVarHttpResponse.Body.Close() 2702 if err != nil { 2703 return localVarHttpResponse, err 2704 } 2705 2706 if localVarHttpResponse.StatusCode >= 300 { 2707 newErr := GenericOpenAPIError{ 2708 body: localVarBody, 2709 error: localVarHttpResponse.Status, 2710 } 2711 return localVarHttpResponse, newErr 2712 } 2713 2714 return localVarHttpResponse, nil 2715 } 2716 2717 /* 2718 CallHandlingSettingsApiService Update Custom Call Handling Rule 2719 <p style='font-style:italic;'>Since 1.0.24 (Release 8.0)</p><p>Updates a custom answering rule for a particular caller ID.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 2720 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2721 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2722 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2723 * @param ruleId Internal identifier of an answering rule 2724 * @param updateAnsweringRuleRequest JSON body 2725 @return AnsweringRuleInfo 2726 */ 2727 func (a *CallHandlingSettingsApiService) UpdateAnsweringRuleInfo(ctx context.Context, accountId string, extensionId string, ruleId string, updateAnsweringRuleRequest UpdateAnsweringRuleRequest) (AnsweringRuleInfo, *http.Response, error) { 2728 var ( 2729 localVarHttpMethod = strings.ToUpper("Put") 2730 localVarPostBody interface{} 2731 localVarFormFileName string 2732 localVarFileName string 2733 localVarFileBytes []byte 2734 localVarReturnValue AnsweringRuleInfo 2735 ) 2736 2737 // create path and map variables 2738 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}" 2739 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2740 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2741 localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1) 2742 2743 localVarHeaderParams := make(map[string]string) 2744 localVarQueryParams := url.Values{} 2745 localVarFormParams := url.Values{} 2746 2747 // to determine the Content-Type header 2748 localVarHttpContentTypes := []string{"application/json"} 2749 2750 // set Content-Type header 2751 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2752 if localVarHttpContentType != "" { 2753 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2754 } 2755 2756 // to determine the Accept header 2757 localVarHttpHeaderAccepts := []string{"application/json"} 2758 2759 // set Accept header 2760 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2761 if localVarHttpHeaderAccept != "" { 2762 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2763 } 2764 // body params 2765 localVarPostBody = &updateAnsweringRuleRequest 2766 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2767 if err != nil { 2768 return localVarReturnValue, nil, err 2769 } 2770 2771 localVarHttpResponse, err := a.client.callAPI(r) 2772 if err != nil || localVarHttpResponse == nil { 2773 return localVarReturnValue, localVarHttpResponse, err 2774 } 2775 2776 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2777 localVarHttpResponse.Body.Close() 2778 if err != nil { 2779 return localVarReturnValue, localVarHttpResponse, err 2780 } 2781 2782 if localVarHttpResponse.StatusCode >= 300 { 2783 newErr := GenericOpenAPIError{ 2784 body: localVarBody, 2785 error: localVarHttpResponse.Status, 2786 } 2787 if localVarHttpResponse.StatusCode == 0 { 2788 var v AnsweringRuleInfo 2789 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2790 if err != nil { 2791 newErr.error = err.Error() 2792 return localVarReturnValue, localVarHttpResponse, newErr 2793 } 2794 newErr.model = v 2795 return localVarReturnValue, localVarHttpResponse, newErr 2796 } 2797 return localVarReturnValue, localVarHttpResponse, newErr 2798 } 2799 2800 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2801 if err != nil { 2802 newErr := GenericOpenAPIError{ 2803 body: localVarBody, 2804 error: err.Error(), 2805 } 2806 return localVarReturnValue, localVarHttpResponse, newErr 2807 } 2808 2809 return localVarReturnValue, localVarHttpResponse, nil 2810 } 2811 2812 /* 2813 CallHandlingSettingsApiService Update Blocked Number 2814 <p style='font-style:italic;'></p><p></p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 2815 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2816 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2817 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 2818 * @param blockedNumberId Internal identifier of a blocked number list entry 2819 * @param optional nil or *UpdateBlockedNumberOpts - Optional Parameters: 2820 * @param "BlockedNumberInfo" (optional.Interface of BlockedNumberInfo) - 2821 @return BlockedNumberInfo 2822 */ 2823 2824 type UpdateBlockedNumberOpts struct { 2825 BlockedNumberInfo optional.Interface 2826 } 2827 2828 func (a *CallHandlingSettingsApiService) UpdateBlockedNumber(ctx context.Context, accountId string, extensionId string, blockedNumberId int32, localVarOptionals *UpdateBlockedNumberOpts) (BlockedNumberInfo, *http.Response, error) { 2829 var ( 2830 localVarHttpMethod = strings.ToUpper("Put") 2831 localVarPostBody interface{} 2832 localVarFormFileName string 2833 localVarFileName string 2834 localVarFileBytes []byte 2835 localVarReturnValue BlockedNumberInfo 2836 ) 2837 2838 // create path and map variables 2839 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/blocked-number/{blockedNumberId}" 2840 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2841 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 2842 localVarPath = strings.Replace(localVarPath, "{"+"blockedNumberId"+"}", fmt.Sprintf("%v", blockedNumberId), -1) 2843 2844 localVarHeaderParams := make(map[string]string) 2845 localVarQueryParams := url.Values{} 2846 localVarFormParams := url.Values{} 2847 2848 // to determine the Content-Type header 2849 localVarHttpContentTypes := []string{"application/json"} 2850 2851 // set Content-Type header 2852 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2853 if localVarHttpContentType != "" { 2854 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2855 } 2856 2857 // to determine the Accept header 2858 localVarHttpHeaderAccepts := []string{"application/json"} 2859 2860 // set Accept header 2861 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2862 if localVarHttpHeaderAccept != "" { 2863 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2864 } 2865 // body params 2866 if localVarOptionals != nil && localVarOptionals.BlockedNumberInfo.IsSet() { 2867 localVarOptionalBlockedNumberInfo, localVarOptionalBlockedNumberInfook := localVarOptionals.BlockedNumberInfo.Value().(BlockedNumberInfo) 2868 if !localVarOptionalBlockedNumberInfook { 2869 return localVarReturnValue, nil, reportError("blockedNumberInfo should be BlockedNumberInfo") 2870 } 2871 localVarPostBody = &localVarOptionalBlockedNumberInfo 2872 } 2873 2874 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2875 if err != nil { 2876 return localVarReturnValue, nil, err 2877 } 2878 2879 localVarHttpResponse, err := a.client.callAPI(r) 2880 if err != nil || localVarHttpResponse == nil { 2881 return localVarReturnValue, localVarHttpResponse, err 2882 } 2883 2884 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2885 localVarHttpResponse.Body.Close() 2886 if err != nil { 2887 return localVarReturnValue, localVarHttpResponse, err 2888 } 2889 2890 if localVarHttpResponse.StatusCode >= 300 { 2891 newErr := GenericOpenAPIError{ 2892 body: localVarBody, 2893 error: localVarHttpResponse.Status, 2894 } 2895 if localVarHttpResponse.StatusCode == 0 { 2896 var v BlockedNumberInfo 2897 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2898 if err != nil { 2899 newErr.error = err.Error() 2900 return localVarReturnValue, localVarHttpResponse, newErr 2901 } 2902 newErr.model = v 2903 return localVarReturnValue, localVarHttpResponse, newErr 2904 } 2905 return localVarReturnValue, localVarHttpResponse, newErr 2906 } 2907 2908 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2909 if err != nil { 2910 newErr := GenericOpenAPIError{ 2911 body: localVarBody, 2912 error: err.Error(), 2913 } 2914 return localVarReturnValue, localVarHttpResponse, newErr 2915 } 2916 2917 return localVarReturnValue, localVarHttpResponse, nil 2918 } 2919 2920 /* 2921 CallHandlingSettingsApiService Update Company Call Handling Rule 2922 <p style='font-style:italic;'>Since 1.0.31 (Release 9.2)</p><p>Updates a company answering rule.</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>API Group</h4><p>Medium</p> 2923 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 2924 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 2925 * @param ruleId Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either business-hours-rule or after-hours-rule 2926 * @param companyAnsweringRuleUpdate JSON body 2927 @return CompanyAnsweringRuleInfo 2928 */ 2929 func (a *CallHandlingSettingsApiService) UpdateCompanyAnsweringRuleInfo(ctx context.Context, accountId string, ruleId string, companyAnsweringRuleUpdate CompanyAnsweringRuleUpdate) (CompanyAnsweringRuleInfo, *http.Response, error) { 2930 var ( 2931 localVarHttpMethod = strings.ToUpper("Put") 2932 localVarPostBody interface{} 2933 localVarFormFileName string 2934 localVarFileName string 2935 localVarFileBytes []byte 2936 localVarReturnValue CompanyAnsweringRuleInfo 2937 ) 2938 2939 // create path and map variables 2940 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/answering-rule/{ruleId}" 2941 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 2942 localVarPath = strings.Replace(localVarPath, "{"+"ruleId"+"}", fmt.Sprintf("%v", ruleId), -1) 2943 2944 localVarHeaderParams := make(map[string]string) 2945 localVarQueryParams := url.Values{} 2946 localVarFormParams := url.Values{} 2947 2948 // to determine the Content-Type header 2949 localVarHttpContentTypes := []string{"application/json"} 2950 2951 // set Content-Type header 2952 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 2953 if localVarHttpContentType != "" { 2954 localVarHeaderParams["Content-Type"] = localVarHttpContentType 2955 } 2956 2957 // to determine the Accept header 2958 localVarHttpHeaderAccepts := []string{"application/json"} 2959 2960 // set Accept header 2961 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 2962 if localVarHttpHeaderAccept != "" { 2963 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 2964 } 2965 // body params 2966 localVarPostBody = &companyAnsweringRuleUpdate 2967 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 2968 if err != nil { 2969 return localVarReturnValue, nil, err 2970 } 2971 2972 localVarHttpResponse, err := a.client.callAPI(r) 2973 if err != nil || localVarHttpResponse == nil { 2974 return localVarReturnValue, localVarHttpResponse, err 2975 } 2976 2977 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 2978 localVarHttpResponse.Body.Close() 2979 if err != nil { 2980 return localVarReturnValue, localVarHttpResponse, err 2981 } 2982 2983 if localVarHttpResponse.StatusCode >= 300 { 2984 newErr := GenericOpenAPIError{ 2985 body: localVarBody, 2986 error: localVarHttpResponse.Status, 2987 } 2988 if localVarHttpResponse.StatusCode == 0 { 2989 var v CompanyAnsweringRuleInfo 2990 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 2991 if err != nil { 2992 newErr.error = err.Error() 2993 return localVarReturnValue, localVarHttpResponse, newErr 2994 } 2995 newErr.model = v 2996 return localVarReturnValue, localVarHttpResponse, newErr 2997 } 2998 return localVarReturnValue, localVarHttpResponse, newErr 2999 } 3000 3001 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3002 if err != nil { 3003 newErr := GenericOpenAPIError{ 3004 body: localVarBody, 3005 error: err.Error(), 3006 } 3007 return localVarReturnValue, localVarHttpResponse, newErr 3008 } 3009 3010 return localVarReturnValue, localVarHttpResponse, nil 3011 } 3012 3013 /* 3014 CallHandlingSettingsApiService Update Company Business Hours 3015 <p style='font-style:italic;'>Since 1.0.24 (Release 8.0)</p><p>Updates company hours when answering rules are to be applied.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating my extension info (includes extension name, number, email and phone number)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 3016 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 3017 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 3018 * @param companyBusinessHoursUpdateRequest JSON body 3019 @return CompanyBusinessHours 3020 */ 3021 func (a *CallHandlingSettingsApiService) UpdateCompanyBusinessHours(ctx context.Context, accountId string, companyBusinessHoursUpdateRequest CompanyBusinessHoursUpdateRequest) (CompanyBusinessHours, *http.Response, error) { 3022 var ( 3023 localVarHttpMethod = strings.ToUpper("Put") 3024 localVarPostBody interface{} 3025 localVarFormFileName string 3026 localVarFileName string 3027 localVarFileBytes []byte 3028 localVarReturnValue CompanyBusinessHours 3029 ) 3030 3031 // create path and map variables 3032 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/business-hours" 3033 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 3034 3035 localVarHeaderParams := make(map[string]string) 3036 localVarQueryParams := url.Values{} 3037 localVarFormParams := url.Values{} 3038 3039 // to determine the Content-Type header 3040 localVarHttpContentTypes := []string{"application/json"} 3041 3042 // set Content-Type header 3043 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 3044 if localVarHttpContentType != "" { 3045 localVarHeaderParams["Content-Type"] = localVarHttpContentType 3046 } 3047 3048 // to determine the Accept header 3049 localVarHttpHeaderAccepts := []string{"application/json"} 3050 3051 // set Accept header 3052 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 3053 if localVarHttpHeaderAccept != "" { 3054 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 3055 } 3056 // body params 3057 localVarPostBody = &companyBusinessHoursUpdateRequest 3058 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 3059 if err != nil { 3060 return localVarReturnValue, nil, err 3061 } 3062 3063 localVarHttpResponse, err := a.client.callAPI(r) 3064 if err != nil || localVarHttpResponse == nil { 3065 return localVarReturnValue, localVarHttpResponse, err 3066 } 3067 3068 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 3069 localVarHttpResponse.Body.Close() 3070 if err != nil { 3071 return localVarReturnValue, localVarHttpResponse, err 3072 } 3073 3074 if localVarHttpResponse.StatusCode >= 300 { 3075 newErr := GenericOpenAPIError{ 3076 body: localVarBody, 3077 error: localVarHttpResponse.Status, 3078 } 3079 if localVarHttpResponse.StatusCode == 0 { 3080 var v CompanyBusinessHours 3081 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3082 if err != nil { 3083 newErr.error = err.Error() 3084 return localVarReturnValue, localVarHttpResponse, newErr 3085 } 3086 newErr.model = v 3087 return localVarReturnValue, localVarHttpResponse, newErr 3088 } 3089 return localVarReturnValue, localVarHttpResponse, newErr 3090 } 3091 3092 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3093 if err != nil { 3094 newErr := GenericOpenAPIError{ 3095 body: localVarBody, 3096 error: err.Error(), 3097 } 3098 return localVarReturnValue, localVarHttpResponse, newErr 3099 } 3100 3101 return localVarReturnValue, localVarHttpResponse, nil 3102 } 3103 3104 /* 3105 CallHandlingSettingsApiService Update Forwarding Numbers 3106 <p style='font-style:italic;'>Since 1.0.24 (Release 8.0)</p><p>Updates an existent forwarding number from the forwarding number list.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Medium</p> 3107 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 3108 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 3109 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 3110 * @param forwardingNumberId Internal identifier of a forwarding number; returned in response in the id field 3111 * @param updateForwardingNumberRequest JSON body 3112 @return ForwardingNumberInfo 3113 */ 3114 func (a *CallHandlingSettingsApiService) UpdateExtensionForwardingNumber(ctx context.Context, accountId string, extensionId string, forwardingNumberId string, updateForwardingNumberRequest UpdateForwardingNumberRequest) (ForwardingNumberInfo, *http.Response, error) { 3115 var ( 3116 localVarHttpMethod = strings.ToUpper("Put") 3117 localVarPostBody interface{} 3118 localVarFormFileName string 3119 localVarFileName string 3120 localVarFileBytes []byte 3121 localVarReturnValue ForwardingNumberInfo 3122 ) 3123 3124 // create path and map variables 3125 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}" 3126 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 3127 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 3128 localVarPath = strings.Replace(localVarPath, "{"+"forwardingNumberId"+"}", fmt.Sprintf("%v", forwardingNumberId), -1) 3129 3130 localVarHeaderParams := make(map[string]string) 3131 localVarQueryParams := url.Values{} 3132 localVarFormParams := url.Values{} 3133 3134 // to determine the Content-Type header 3135 localVarHttpContentTypes := []string{"application/json"} 3136 3137 // set Content-Type header 3138 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 3139 if localVarHttpContentType != "" { 3140 localVarHeaderParams["Content-Type"] = localVarHttpContentType 3141 } 3142 3143 // to determine the Accept header 3144 localVarHttpHeaderAccepts := []string{"application/json"} 3145 3146 // set Accept header 3147 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 3148 if localVarHttpHeaderAccept != "" { 3149 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 3150 } 3151 // body params 3152 localVarPostBody = &updateForwardingNumberRequest 3153 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 3154 if err != nil { 3155 return localVarReturnValue, nil, err 3156 } 3157 3158 localVarHttpResponse, err := a.client.callAPI(r) 3159 if err != nil || localVarHttpResponse == nil { 3160 return localVarReturnValue, localVarHttpResponse, err 3161 } 3162 3163 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 3164 localVarHttpResponse.Body.Close() 3165 if err != nil { 3166 return localVarReturnValue, localVarHttpResponse, err 3167 } 3168 3169 if localVarHttpResponse.StatusCode >= 300 { 3170 newErr := GenericOpenAPIError{ 3171 body: localVarBody, 3172 error: localVarHttpResponse.Status, 3173 } 3174 if localVarHttpResponse.StatusCode == 0 { 3175 var v ForwardingNumberInfo 3176 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3177 if err != nil { 3178 newErr.error = err.Error() 3179 return localVarReturnValue, localVarHttpResponse, newErr 3180 } 3181 newErr.model = v 3182 return localVarReturnValue, localVarHttpResponse, newErr 3183 } 3184 return localVarReturnValue, localVarHttpResponse, newErr 3185 } 3186 3187 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3188 if err != nil { 3189 newErr := GenericOpenAPIError{ 3190 body: localVarBody, 3191 error: err.Error(), 3192 } 3193 return localVarReturnValue, localVarHttpResponse, newErr 3194 } 3195 3196 return localVarReturnValue, localVarHttpResponse, nil 3197 } 3198 3199 /* 3200 CallHandlingSettingsApiService Update User Business Hours 3201 <p style='font-style:italic;'>Since 1.0.28 (Release 8.4)</p><p>Updates the extension user hours when answering rules are to be applied.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditExtensions</td><td>Viewing and updating user extension info (includes extension name, number, email and phone number, assigned phone numbers, devices and other extension settings)</td></tr></tbody></table><h4>API Group</h4><p>Medium</p> 3202 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 3203 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 3204 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 3205 * @param userBusinessHoursUpdateRequest JSON body 3206 @return UserBusinessHoursUpdate 3207 */ 3208 func (a *CallHandlingSettingsApiService) UpdateUserBusinessHours(ctx context.Context, accountId string, extensionId string, userBusinessHoursUpdateRequest UserBusinessHoursUpdateRequest) (UserBusinessHoursUpdate, *http.Response, error) { 3209 var ( 3210 localVarHttpMethod = strings.ToUpper("Put") 3211 localVarPostBody interface{} 3212 localVarFormFileName string 3213 localVarFileName string 3214 localVarFileBytes []byte 3215 localVarReturnValue UserBusinessHoursUpdate 3216 ) 3217 3218 // create path and map variables 3219 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours" 3220 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 3221 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 3222 3223 localVarHeaderParams := make(map[string]string) 3224 localVarQueryParams := url.Values{} 3225 localVarFormParams := url.Values{} 3226 3227 // to determine the Content-Type header 3228 localVarHttpContentTypes := []string{"application/json"} 3229 3230 // set Content-Type header 3231 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 3232 if localVarHttpContentType != "" { 3233 localVarHeaderParams["Content-Type"] = localVarHttpContentType 3234 } 3235 3236 // to determine the Accept header 3237 localVarHttpHeaderAccepts := []string{"application/json"} 3238 3239 // set Accept header 3240 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 3241 if localVarHttpHeaderAccept != "" { 3242 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 3243 } 3244 // body params 3245 localVarPostBody = &userBusinessHoursUpdateRequest 3246 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 3247 if err != nil { 3248 return localVarReturnValue, nil, err 3249 } 3250 3251 localVarHttpResponse, err := a.client.callAPI(r) 3252 if err != nil || localVarHttpResponse == nil { 3253 return localVarReturnValue, localVarHttpResponse, err 3254 } 3255 3256 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 3257 localVarHttpResponse.Body.Close() 3258 if err != nil { 3259 return localVarReturnValue, localVarHttpResponse, err 3260 } 3261 3262 if localVarHttpResponse.StatusCode >= 300 { 3263 newErr := GenericOpenAPIError{ 3264 body: localVarBody, 3265 error: localVarHttpResponse.Status, 3266 } 3267 if localVarHttpResponse.StatusCode == 0 { 3268 var v UserBusinessHoursUpdate 3269 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3270 if err != nil { 3271 newErr.error = err.Error() 3272 return localVarReturnValue, localVarHttpResponse, newErr 3273 } 3274 newErr.model = v 3275 return localVarReturnValue, localVarHttpResponse, newErr 3276 } 3277 return localVarReturnValue, localVarHttpResponse, newErr 3278 } 3279 3280 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 3281 if err != nil { 3282 newErr := GenericOpenAPIError{ 3283 body: localVarBody, 3284 error: err.Error(), 3285 } 3286 return localVarReturnValue, localVarHttpResponse, newErr 3287 } 3288 3289 return localVarReturnValue, localVarHttpResponse, nil 3290 }