github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_company_contacts.go (about) 1 /* 2 * RingCentral Connect Platform API Explorer 3 * 4 * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul> 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package ringcentral 11 12 import ( 13 "context" 14 "fmt" 15 "github.com/antihax/optional" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 ) 21 22 // Linger please 23 var ( 24 _ context.Context 25 ) 26 27 type CompanyContactsApiService service 28 29 /* 30 CompanyContactsApiService Create Bot Extension 31 <p style='font-style:italic;'>Since 1.0.32 (Release 9.3)</p><p>Creates a bot extension. Please note: Bot extension is always created in Enabled status, no welcome email is sent.</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>Medium</p> 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 34 * @param botExtensionCreationRequest JSON body 35 @return BotExtensionCreation 36 */ 37 func (a *CompanyContactsApiService) CreateBotExtension(ctx context.Context, accountId string, botExtensionCreationRequest BotExtensionCreationRequest) (BotExtensionCreation, *http.Response, error) { 38 var ( 39 localVarHttpMethod = strings.ToUpper("Post") 40 localVarPostBody interface{} 41 localVarFormFileName string 42 localVarFileName string 43 localVarFileBytes []byte 44 localVarReturnValue BotExtensionCreation 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/bot" 49 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 50 51 localVarHeaderParams := make(map[string]string) 52 localVarQueryParams := url.Values{} 53 localVarFormParams := url.Values{} 54 55 // to determine the Content-Type header 56 localVarHttpContentTypes := []string{"application/json"} 57 58 // set Content-Type header 59 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 60 if localVarHttpContentType != "" { 61 localVarHeaderParams["Content-Type"] = localVarHttpContentType 62 } 63 64 // to determine the Accept header 65 localVarHttpHeaderAccepts := []string{"application/json"} 66 67 // set Accept header 68 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 69 if localVarHttpHeaderAccept != "" { 70 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 71 } 72 // body params 73 localVarPostBody = &botExtensionCreationRequest 74 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 75 if err != nil { 76 return localVarReturnValue, nil, err 77 } 78 79 localVarHttpResponse, err := a.client.callAPI(r) 80 if err != nil || localVarHttpResponse == nil { 81 return localVarReturnValue, localVarHttpResponse, err 82 } 83 84 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 85 localVarHttpResponse.Body.Close() 86 if err != nil { 87 return localVarReturnValue, localVarHttpResponse, err 88 } 89 90 if localVarHttpResponse.StatusCode >= 300 { 91 newErr := GenericOpenAPIError{ 92 body: localVarBody, 93 error: localVarHttpResponse.Status, 94 } 95 if localVarHttpResponse.StatusCode == 0 { 96 var v BotExtensionCreation 97 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 98 if err != nil { 99 newErr.error = err.Error() 100 return localVarReturnValue, localVarHttpResponse, newErr 101 } 102 newErr.model = v 103 return localVarReturnValue, localVarHttpResponse, newErr 104 } 105 return localVarReturnValue, localVarHttpResponse, newErr 106 } 107 108 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 109 if err != nil { 110 newErr := GenericOpenAPIError{ 111 body: localVarBody, 112 error: err.Error(), 113 } 114 return localVarReturnValue, localVarHttpResponse, newErr 115 } 116 117 return localVarReturnValue, localVarHttpResponse, nil 118 } 119 120 /* 121 CompanyContactsApiService Create Extension 122 <p style='font-style:italic;'>Since 1.0.10 (Release 6.2)</p><p>Creates an extension.</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>Medium</p> 123 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 124 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 125 * @param extensionCreationRequest JSON body 126 @return ExtensionInfo 127 */ 128 func (a *CompanyContactsApiService) CreateExtension(ctx context.Context, accountId string, extensionCreationRequest ExtensionCreationRequest) (ExtensionInfo, *http.Response, error) { 129 var ( 130 localVarHttpMethod = strings.ToUpper("Post") 131 localVarPostBody interface{} 132 localVarFormFileName string 133 localVarFileName string 134 localVarFileBytes []byte 135 localVarReturnValue ExtensionInfo 136 ) 137 138 // create path and map variables 139 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension" 140 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 141 142 localVarHeaderParams := make(map[string]string) 143 localVarQueryParams := url.Values{} 144 localVarFormParams := url.Values{} 145 146 // to determine the Content-Type header 147 localVarHttpContentTypes := []string{"application/json"} 148 149 // set Content-Type header 150 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 151 if localVarHttpContentType != "" { 152 localVarHeaderParams["Content-Type"] = localVarHttpContentType 153 } 154 155 // to determine the Accept header 156 localVarHttpHeaderAccepts := []string{"application/json"} 157 158 // set Accept header 159 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 160 if localVarHttpHeaderAccept != "" { 161 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 162 } 163 // body params 164 localVarPostBody = &extensionCreationRequest 165 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 166 if err != nil { 167 return localVarReturnValue, nil, err 168 } 169 170 localVarHttpResponse, err := a.client.callAPI(r) 171 if err != nil || localVarHttpResponse == nil { 172 return localVarReturnValue, localVarHttpResponse, err 173 } 174 175 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 176 localVarHttpResponse.Body.Close() 177 if err != nil { 178 return localVarReturnValue, localVarHttpResponse, err 179 } 180 181 if localVarHttpResponse.StatusCode >= 300 { 182 newErr := GenericOpenAPIError{ 183 body: localVarBody, 184 error: localVarHttpResponse.Status, 185 } 186 if localVarHttpResponse.StatusCode == 0 { 187 var v ExtensionInfo 188 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 189 if err != nil { 190 newErr.error = err.Error() 191 return localVarReturnValue, localVarHttpResponse, newErr 192 } 193 newErr.model = v 194 return localVarReturnValue, localVarHttpResponse, newErr 195 } 196 return localVarReturnValue, localVarHttpResponse, newErr 197 } 198 199 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 200 if err != nil { 201 newErr := GenericOpenAPIError{ 202 body: localVarBody, 203 error: err.Error(), 204 } 205 return localVarReturnValue, localVarHttpResponse, newErr 206 } 207 208 return localVarReturnValue, localVarHttpResponse, nil 209 } 210 211 /* 212 CompanyContactsApiService Get Company Directory 213 <p style='font-style:italic;'></p><p>Returns contact information on corporate users of federated accounts. Please note: 1. User, DigitalUser, VirtualUser and FaxUser types are returned as User type. 2.ApplicationExtension type is not returned. 3. Only extensions in Enabled, Disabled and NotActivated state are returned.</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> 214 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 215 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 216 * @param optional nil or *ListCompanyDirectoryContactsOpts - Optional Parameters: 217 * @param "Page" (optional.Int64) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 218 * @param "PerPage" (optional.Int64) - Indicates the page size (number of items). The possible values are: Max, all or a numeric value. If not specified, all records are returned on one page 219 * @param "ExcludeFederatedContacts" (optional.Bool) - If 'True' then only contacts of current account are returned, if 'False' then all contacts of all federation accounts are returned 220 @return CompanyDirectoryContacts 221 */ 222 223 type ListCompanyDirectoryContactsOpts struct { 224 Page optional.Int64 225 PerPage optional.Int64 226 ExcludeFederatedContacts optional.Bool 227 } 228 229 func (a *CompanyContactsApiService) ListCompanyDirectoryContacts(ctx context.Context, accountId string, localVarOptionals *ListCompanyDirectoryContactsOpts) (CompanyDirectoryContacts, *http.Response, error) { 230 var ( 231 localVarHttpMethod = strings.ToUpper("Get") 232 localVarPostBody interface{} 233 localVarFormFileName string 234 localVarFileName string 235 localVarFileBytes []byte 236 localVarReturnValue CompanyDirectoryContacts 237 ) 238 239 // create path and map variables 240 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/contacts" 241 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 242 243 localVarHeaderParams := make(map[string]string) 244 localVarQueryParams := url.Values{} 245 localVarFormParams := url.Values{} 246 247 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 248 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 249 } 250 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 251 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 252 } 253 if localVarOptionals != nil && localVarOptionals.ExcludeFederatedContacts.IsSet() { 254 localVarQueryParams.Add("excludeFederatedContacts", parameterToString(localVarOptionals.ExcludeFederatedContacts.Value(), "")) 255 } 256 // to determine the Content-Type header 257 localVarHttpContentTypes := []string{} 258 259 // set Content-Type header 260 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 261 if localVarHttpContentType != "" { 262 localVarHeaderParams["Content-Type"] = localVarHttpContentType 263 } 264 265 // to determine the Accept header 266 localVarHttpHeaderAccepts := []string{"application/json"} 267 268 // set Accept header 269 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 270 if localVarHttpHeaderAccept != "" { 271 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 272 } 273 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 274 if err != nil { 275 return localVarReturnValue, nil, err 276 } 277 278 localVarHttpResponse, err := a.client.callAPI(r) 279 if err != nil || localVarHttpResponse == nil { 280 return localVarReturnValue, localVarHttpResponse, err 281 } 282 283 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 284 localVarHttpResponse.Body.Close() 285 if err != nil { 286 return localVarReturnValue, localVarHttpResponse, err 287 } 288 289 if localVarHttpResponse.StatusCode >= 300 { 290 newErr := GenericOpenAPIError{ 291 body: localVarBody, 292 error: localVarHttpResponse.Status, 293 } 294 if localVarHttpResponse.StatusCode == 0 { 295 var v CompanyDirectoryContacts 296 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 297 if err != nil { 298 newErr.error = err.Error() 299 return localVarReturnValue, localVarHttpResponse, newErr 300 } 301 newErr.model = v 302 return localVarReturnValue, localVarHttpResponse, newErr 303 } 304 return localVarReturnValue, localVarHttpResponse, newErr 305 } 306 307 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 308 if err != nil { 309 newErr := GenericOpenAPIError{ 310 body: localVarBody, 311 error: err.Error(), 312 } 313 return localVarReturnValue, localVarHttpResponse, newErr 314 } 315 316 return localVarReturnValue, localVarHttpResponse, nil 317 } 318 319 /* 320 CompanyContactsApiService Get Extensions 321 <p style='font-style:italic;'>Since 1.0.0</p><p>Returns the list of extensions created for a particular account. All types of extensions are included in this list.</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> 322 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 323 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 324 * @param optional nil or *ListExtensionsOpts - Optional Parameters: 325 * @param "Page" (optional.Int64) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 326 * @param "PerPage" (optional.Int64) - Indicates the page size (number of items). If not specified, the value is '100' by default. 327 * @param "Status" (optional.Interface of []string) - Extension current state. Multiple values are supported. If 'Unassigned' is specified, then extensions without extensionNumber are returned. If not specified, then all extensions are returned 328 * @param "Type_" (optional.Interface of []string) - Extension type. Multiple values are supported 329 @return GetExtensionListResponse 330 */ 331 332 type ListExtensionsOpts struct { 333 Page optional.Int64 334 PerPage optional.Int64 335 Status optional.Interface 336 Type_ optional.Interface 337 } 338 339 func (a *CompanyContactsApiService) ListExtensions(ctx context.Context, accountId string, localVarOptionals *ListExtensionsOpts) (GetExtensionListResponse, *http.Response, error) { 340 var ( 341 localVarHttpMethod = strings.ToUpper("Get") 342 localVarPostBody interface{} 343 localVarFormFileName string 344 localVarFileName string 345 localVarFileBytes []byte 346 localVarReturnValue GetExtensionListResponse 347 ) 348 349 // create path and map variables 350 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension" 351 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 352 353 localVarHeaderParams := make(map[string]string) 354 localVarQueryParams := url.Values{} 355 localVarFormParams := url.Values{} 356 357 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 358 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 359 } 360 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 361 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 362 } 363 if localVarOptionals != nil && localVarOptionals.Status.IsSet() { 364 localVarQueryParams.Add("status", parameterToString(localVarOptionals.Status.Value(), "multi")) 365 } 366 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 367 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 368 } 369 // to determine the Content-Type header 370 localVarHttpContentTypes := []string{} 371 372 // set Content-Type header 373 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 374 if localVarHttpContentType != "" { 375 localVarHeaderParams["Content-Type"] = localVarHttpContentType 376 } 377 378 // to determine the Accept header 379 localVarHttpHeaderAccepts := []string{"application/json"} 380 381 // set Accept header 382 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 383 if localVarHttpHeaderAccept != "" { 384 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 385 } 386 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 387 if err != nil { 388 return localVarReturnValue, nil, err 389 } 390 391 localVarHttpResponse, err := a.client.callAPI(r) 392 if err != nil || localVarHttpResponse == nil { 393 return localVarReturnValue, localVarHttpResponse, err 394 } 395 396 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 397 localVarHttpResponse.Body.Close() 398 if err != nil { 399 return localVarReturnValue, localVarHttpResponse, err 400 } 401 402 if localVarHttpResponse.StatusCode >= 300 { 403 newErr := GenericOpenAPIError{ 404 body: localVarBody, 405 error: localVarHttpResponse.Status, 406 } 407 if localVarHttpResponse.StatusCode == 0 { 408 var v GetExtensionListResponse 409 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 410 if err != nil { 411 newErr.error = err.Error() 412 return localVarReturnValue, localVarHttpResponse, newErr 413 } 414 newErr.model = v 415 return localVarReturnValue, localVarHttpResponse, newErr 416 } 417 return localVarReturnValue, localVarHttpResponse, newErr 418 } 419 420 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 421 if err != nil { 422 newErr := GenericOpenAPIError{ 423 body: localVarBody, 424 error: err.Error(), 425 } 426 return localVarReturnValue, localVarHttpResponse, newErr 427 } 428 429 return localVarReturnValue, localVarHttpResponse, nil 430 } 431 432 /* 433 CompanyContactsApiService Get Company Directory Contact 434 <p style='font-style:italic;'></p><p>Returns contact information on a particular corporate user of a federated account.</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> 435 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 436 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 437 * @param contactId Internal identifier of an extension 438 @return ContactInfo 439 */ 440 func (a *CompanyContactsApiService) LoadCompanyDirectoryContact(ctx context.Context, accountId string, contactId string) (ContactInfo, *http.Response, error) { 441 var ( 442 localVarHttpMethod = strings.ToUpper("Get") 443 localVarPostBody interface{} 444 localVarFormFileName string 445 localVarFileName string 446 localVarFileBytes []byte 447 localVarReturnValue ContactInfo 448 ) 449 450 // create path and map variables 451 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/contacts/{contactId}" 452 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 453 localVarPath = strings.Replace(localVarPath, "{"+"contactId"+"}", fmt.Sprintf("%v", contactId), -1) 454 455 localVarHeaderParams := make(map[string]string) 456 localVarQueryParams := url.Values{} 457 localVarFormParams := url.Values{} 458 459 // to determine the Content-Type header 460 localVarHttpContentTypes := []string{} 461 462 // set Content-Type header 463 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 464 if localVarHttpContentType != "" { 465 localVarHeaderParams["Content-Type"] = localVarHttpContentType 466 } 467 468 // to determine the Accept header 469 localVarHttpHeaderAccepts := []string{"application/json"} 470 471 // set Accept header 472 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 473 if localVarHttpHeaderAccept != "" { 474 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 475 } 476 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 477 if err != nil { 478 return localVarReturnValue, nil, err 479 } 480 481 localVarHttpResponse, err := a.client.callAPI(r) 482 if err != nil || localVarHttpResponse == nil { 483 return localVarReturnValue, localVarHttpResponse, err 484 } 485 486 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 487 localVarHttpResponse.Body.Close() 488 if err != nil { 489 return localVarReturnValue, localVarHttpResponse, err 490 } 491 492 if localVarHttpResponse.StatusCode >= 300 { 493 newErr := GenericOpenAPIError{ 494 body: localVarBody, 495 error: localVarHttpResponse.Status, 496 } 497 if localVarHttpResponse.StatusCode == 0 { 498 var v ContactInfo 499 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 500 if err != nil { 501 newErr.error = err.Error() 502 return localVarReturnValue, localVarHttpResponse, newErr 503 } 504 newErr.model = v 505 return localVarReturnValue, localVarHttpResponse, newErr 506 } 507 return localVarReturnValue, localVarHttpResponse, newErr 508 } 509 510 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 511 if err != nil { 512 newErr := GenericOpenAPIError{ 513 body: localVarBody, 514 error: err.Error(), 515 } 516 return localVarReturnValue, localVarHttpResponse, newErr 517 } 518 519 return localVarReturnValue, localVarHttpResponse, nil 520 } 521 522 /* 523 CompanyContactsApiService Get Existing Extension Numbers 524 <p style='font-style:italic;'></p><p>Returns the list of account federation extensions.</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> 525 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 526 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 527 @return FederationExtensionNumbers 528 */ 529 func (a *CompanyContactsApiService) LoadCompanyDirectoryExtensionNumbers(ctx context.Context, accountId string) (FederationExtensionNumbers, *http.Response, error) { 530 var ( 531 localVarHttpMethod = strings.ToUpper("Get") 532 localVarPostBody interface{} 533 localVarFormFileName string 534 localVarFileName string 535 localVarFileBytes []byte 536 localVarReturnValue FederationExtensionNumbers 537 ) 538 539 // create path and map variables 540 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/extension-numbers" 541 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 542 543 localVarHeaderParams := make(map[string]string) 544 localVarQueryParams := url.Values{} 545 localVarFormParams := url.Values{} 546 547 // to determine the Content-Type header 548 localVarHttpContentTypes := []string{} 549 550 // set Content-Type header 551 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 552 if localVarHttpContentType != "" { 553 localVarHeaderParams["Content-Type"] = localVarHttpContentType 554 } 555 556 // to determine the Accept header 557 localVarHttpHeaderAccepts := []string{"application/json"} 558 559 // set Accept header 560 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 561 if localVarHttpHeaderAccept != "" { 562 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 563 } 564 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 565 if err != nil { 566 return localVarReturnValue, nil, err 567 } 568 569 localVarHttpResponse, err := a.client.callAPI(r) 570 if err != nil || localVarHttpResponse == nil { 571 return localVarReturnValue, localVarHttpResponse, err 572 } 573 574 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 575 localVarHttpResponse.Body.Close() 576 if err != nil { 577 return localVarReturnValue, localVarHttpResponse, err 578 } 579 580 if localVarHttpResponse.StatusCode >= 300 { 581 newErr := GenericOpenAPIError{ 582 body: localVarBody, 583 error: localVarHttpResponse.Status, 584 } 585 if localVarHttpResponse.StatusCode == 0 { 586 var v FederationExtensionNumbers 587 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 588 if err != nil { 589 newErr.error = err.Error() 590 return localVarReturnValue, localVarHttpResponse, newErr 591 } 592 newErr.model = v 593 return localVarReturnValue, localVarHttpResponse, newErr 594 } 595 return localVarReturnValue, localVarHttpResponse, newErr 596 } 597 598 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 599 if err != nil { 600 newErr := GenericOpenAPIError{ 601 body: localVarBody, 602 error: err.Error(), 603 } 604 return localVarReturnValue, localVarHttpResponse, newErr 605 } 606 607 return localVarReturnValue, localVarHttpResponse, nil 608 } 609 610 /* 611 CompanyContactsApiService Get Account Federation 612 <p style='font-style:italic;'></p><p>Returns information on a federation and associated accounts.</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> 613 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 614 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 615 @return FederationInfo 616 */ 617 func (a *CompanyContactsApiService) LoadCompanyDirectoryFederation(ctx context.Context, accountId string) (FederationInfo, *http.Response, error) { 618 var ( 619 localVarHttpMethod = strings.ToUpper("Get") 620 localVarPostBody interface{} 621 localVarFormFileName string 622 localVarFileName string 623 localVarFileBytes []byte 624 localVarReturnValue FederationInfo 625 ) 626 627 // create path and map variables 628 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/federation" 629 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 630 631 localVarHeaderParams := make(map[string]string) 632 localVarQueryParams := url.Values{} 633 localVarFormParams := url.Values{} 634 635 // to determine the Content-Type header 636 localVarHttpContentTypes := []string{} 637 638 // set Content-Type header 639 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 640 if localVarHttpContentType != "" { 641 localVarHeaderParams["Content-Type"] = localVarHttpContentType 642 } 643 644 // to determine the Accept header 645 localVarHttpHeaderAccepts := []string{"application/json"} 646 647 // set Accept header 648 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 649 if localVarHttpHeaderAccept != "" { 650 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 651 } 652 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 653 if err != nil { 654 return localVarReturnValue, nil, err 655 } 656 657 localVarHttpResponse, err := a.client.callAPI(r) 658 if err != nil || localVarHttpResponse == nil { 659 return localVarReturnValue, localVarHttpResponse, err 660 } 661 662 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 663 localVarHttpResponse.Body.Close() 664 if err != nil { 665 return localVarReturnValue, localVarHttpResponse, err 666 } 667 668 if localVarHttpResponse.StatusCode >= 300 { 669 newErr := GenericOpenAPIError{ 670 body: localVarBody, 671 error: localVarHttpResponse.Status, 672 } 673 if localVarHttpResponse.StatusCode == 0 { 674 var v FederationInfo 675 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 676 if err != nil { 677 newErr.error = err.Error() 678 return localVarReturnValue, localVarHttpResponse, newErr 679 } 680 newErr.model = v 681 return localVarReturnValue, localVarHttpResponse, newErr 682 } 683 return localVarReturnValue, localVarHttpResponse, newErr 684 } 685 686 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 687 if err != nil { 688 newErr := GenericOpenAPIError{ 689 body: localVarBody, 690 error: err.Error(), 691 } 692 return localVarReturnValue, localVarHttpResponse, newErr 693 } 694 695 return localVarReturnValue, localVarHttpResponse, nil 696 } 697 698 /* 699 CompanyContactsApiService Get Account Federation Conflicts 700 <p style='font-style:italic;'></p><p>Returns the list of federation extensions which numbers are conflicting with extension numbers of the requested account.</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> 701 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 702 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 703 @return FederationConflicts 704 */ 705 func (a *CompanyContactsApiService) LoadCompanyDirectoryFederationConflicts(ctx context.Context, accountId string) (FederationConflicts, *http.Response, error) { 706 var ( 707 localVarHttpMethod = strings.ToUpper("Get") 708 localVarPostBody interface{} 709 localVarFormFileName string 710 localVarFileName string 711 localVarFileBytes []byte 712 localVarReturnValue FederationConflicts 713 ) 714 715 // create path and map variables 716 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/federation-conflicts" 717 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 718 719 localVarHeaderParams := make(map[string]string) 720 localVarQueryParams := url.Values{} 721 localVarFormParams := url.Values{} 722 723 // to determine the Content-Type header 724 localVarHttpContentTypes := []string{} 725 726 // set Content-Type header 727 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 728 if localVarHttpContentType != "" { 729 localVarHeaderParams["Content-Type"] = localVarHttpContentType 730 } 731 732 // to determine the Accept header 733 localVarHttpHeaderAccepts := []string{"application/json"} 734 735 // set Accept header 736 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 737 if localVarHttpHeaderAccept != "" { 738 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 739 } 740 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 741 if err != nil { 742 return localVarReturnValue, nil, err 743 } 744 745 localVarHttpResponse, err := a.client.callAPI(r) 746 if err != nil || localVarHttpResponse == nil { 747 return localVarReturnValue, localVarHttpResponse, err 748 } 749 750 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 751 localVarHttpResponse.Body.Close() 752 if err != nil { 753 return localVarReturnValue, localVarHttpResponse, err 754 } 755 756 if localVarHttpResponse.StatusCode >= 300 { 757 newErr := GenericOpenAPIError{ 758 body: localVarBody, 759 error: localVarHttpResponse.Status, 760 } 761 if localVarHttpResponse.StatusCode == 0 { 762 var v FederationConflicts 763 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 764 if err != nil { 765 newErr.error = err.Error() 766 return localVarReturnValue, localVarHttpResponse, newErr 767 } 768 newErr.model = v 769 return localVarReturnValue, localVarHttpResponse, newErr 770 } 771 return localVarReturnValue, localVarHttpResponse, newErr 772 } 773 774 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 775 if err != nil { 776 newErr := GenericOpenAPIError{ 777 body: localVarBody, 778 error: err.Error(), 779 } 780 return localVarReturnValue, localVarHttpResponse, newErr 781 } 782 783 return localVarReturnValue, localVarHttpResponse, nil 784 }