github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_presence.go (about) 1 /* 2 * RingCentral Connect Platform API Explorer 3 * 4 * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul> 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package ringcentral 11 12 import ( 13 "context" 14 "fmt" 15 "io/ioutil" 16 "net/http" 17 "net/url" 18 "strings" 19 ) 20 21 // Linger please 22 var ( 23 _ context.Context 24 ) 25 26 type PresenceApiService service 27 28 /* 29 PresenceApiService Get all user statuses 30 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 31 * @param accountId 32 @return AccountPresenceInfo 33 */ 34 func (a *PresenceApiService) AccountPresence(ctx context.Context, accountId string) (AccountPresenceInfo, *http.Response, error) { 35 var ( 36 localVarHttpMethod = strings.ToUpper("Get") 37 localVarPostBody interface{} 38 localVarFormFileName string 39 localVarFileName string 40 localVarFileBytes []byte 41 localVarReturnValue AccountPresenceInfo 42 ) 43 44 // create path and map variables 45 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/presence" 46 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 47 48 localVarHeaderParams := make(map[string]string) 49 localVarQueryParams := url.Values{} 50 localVarFormParams := url.Values{} 51 52 // to determine the Content-Type header 53 localVarHttpContentTypes := []string{} 54 55 // set Content-Type header 56 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 57 if localVarHttpContentType != "" { 58 localVarHeaderParams["Content-Type"] = localVarHttpContentType 59 } 60 61 // to determine the Accept header 62 localVarHttpHeaderAccepts := []string{"application/json"} 63 64 // set Accept header 65 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 66 if localVarHttpHeaderAccept != "" { 67 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 68 } 69 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 70 if err != nil { 71 return localVarReturnValue, nil, err 72 } 73 74 localVarHttpResponse, err := a.client.callAPI(r) 75 if err != nil || localVarHttpResponse == nil { 76 return localVarReturnValue, localVarHttpResponse, err 77 } 78 79 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 80 localVarHttpResponse.Body.Close() 81 if err != nil { 82 return localVarReturnValue, localVarHttpResponse, err 83 } 84 85 if localVarHttpResponse.StatusCode >= 300 { 86 newErr := GenericOpenAPIError{ 87 body: localVarBody, 88 error: localVarHttpResponse.Status, 89 } 90 if localVarHttpResponse.StatusCode == 0 { 91 var v AccountPresenceInfo 92 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 93 if err != nil { 94 newErr.error = err.Error() 95 return localVarReturnValue, localVarHttpResponse, newErr 96 } 97 newErr.model = v 98 return localVarReturnValue, localVarHttpResponse, newErr 99 } 100 return localVarReturnValue, localVarHttpResponse, newErr 101 } 102 103 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 104 if err != nil { 105 newErr := GenericOpenAPIError{ 106 body: localVarBody, 107 error: err.Error(), 108 } 109 return localVarReturnValue, localVarHttpResponse, newErr 110 } 111 112 return localVarReturnValue, localVarHttpResponse, nil 113 } 114 115 /* 116 PresenceApiService Get User Presence Permissions 117 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 118 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 119 * @param accountId 120 @return MonitoringExtensionsResource 121 */ 122 func (a *PresenceApiService) GetMonitoringExtensions(ctx context.Context, extensionId string, accountId string) (MonitoringExtensionsResource, *http.Response, error) { 123 var ( 124 localVarHttpMethod = strings.ToUpper("Get") 125 localVarPostBody interface{} 126 localVarFormFileName string 127 localVarFileName string 128 localVarFileBytes []byte 129 localVarReturnValue MonitoringExtensionsResource 130 ) 131 132 // create path and map variables 133 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence/permission" 134 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 135 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 136 137 localVarHeaderParams := make(map[string]string) 138 localVarQueryParams := url.Values{} 139 localVarFormParams := url.Values{} 140 141 // to determine the Content-Type header 142 localVarHttpContentTypes := []string{} 143 144 // set Content-Type header 145 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 146 if localVarHttpContentType != "" { 147 localVarHeaderParams["Content-Type"] = localVarHttpContentType 148 } 149 150 // to determine the Accept header 151 localVarHttpHeaderAccepts := []string{"application/json"} 152 153 // set Accept header 154 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 155 if localVarHttpHeaderAccept != "" { 156 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 157 } 158 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 159 if err != nil { 160 return localVarReturnValue, nil, err 161 } 162 163 localVarHttpResponse, err := a.client.callAPI(r) 164 if err != nil || localVarHttpResponse == nil { 165 return localVarReturnValue, localVarHttpResponse, err 166 } 167 168 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 169 localVarHttpResponse.Body.Close() 170 if err != nil { 171 return localVarReturnValue, localVarHttpResponse, err 172 } 173 174 if localVarHttpResponse.StatusCode >= 300 { 175 newErr := GenericOpenAPIError{ 176 body: localVarBody, 177 error: localVarHttpResponse.Status, 178 } 179 if localVarHttpResponse.StatusCode == 0 { 180 var v MonitoringExtensionsResource 181 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 182 if err != nil { 183 newErr.error = err.Error() 184 return localVarReturnValue, localVarHttpResponse, newErr 185 } 186 newErr.model = v 187 return localVarReturnValue, localVarHttpResponse, newErr 188 } 189 return localVarReturnValue, localVarHttpResponse, newErr 190 } 191 192 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 193 if err != nil { 194 newErr := GenericOpenAPIError{ 195 body: localVarBody, 196 error: err.Error(), 197 } 198 return localVarReturnValue, localVarHttpResponse, newErr 199 } 200 201 return localVarReturnValue, localVarHttpResponse, nil 202 } 203 204 /* 205 PresenceApiService Get Monitored Extensions by Id 206 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 207 * @param lineId 208 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 209 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 210 @return PresenceLineResource 211 */ 212 func (a *PresenceApiService) GetPresenceLine(ctx context.Context, lineId string, extensionId string, accountId string) (PresenceLineResource, *http.Response, error) { 213 var ( 214 localVarHttpMethod = strings.ToUpper("Get") 215 localVarPostBody interface{} 216 localVarFormFileName string 217 localVarFileName string 218 localVarFileBytes []byte 219 localVarReturnValue PresenceLineResource 220 ) 221 222 // create path and map variables 223 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence/line/{lineId}" 224 localVarPath = strings.Replace(localVarPath, "{"+"lineId"+"}", fmt.Sprintf("%v", lineId), -1) 225 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 226 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 227 228 localVarHeaderParams := make(map[string]string) 229 localVarQueryParams := url.Values{} 230 localVarFormParams := url.Values{} 231 232 // to determine the Content-Type header 233 localVarHttpContentTypes := []string{} 234 235 // set Content-Type header 236 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 237 if localVarHttpContentType != "" { 238 localVarHeaderParams["Content-Type"] = localVarHttpContentType 239 } 240 241 // to determine the Accept header 242 localVarHttpHeaderAccepts := []string{"application/json"} 243 244 // set Accept header 245 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 246 if localVarHttpHeaderAccept != "" { 247 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 248 } 249 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 250 if err != nil { 251 return localVarReturnValue, nil, err 252 } 253 254 localVarHttpResponse, err := a.client.callAPI(r) 255 if err != nil || localVarHttpResponse == nil { 256 return localVarReturnValue, localVarHttpResponse, err 257 } 258 259 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 260 localVarHttpResponse.Body.Close() 261 if err != nil { 262 return localVarReturnValue, localVarHttpResponse, err 263 } 264 265 if localVarHttpResponse.StatusCode >= 300 { 266 newErr := GenericOpenAPIError{ 267 body: localVarBody, 268 error: localVarHttpResponse.Status, 269 } 270 if localVarHttpResponse.StatusCode == 0 { 271 var v PresenceLineResource 272 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 273 if err != nil { 274 newErr.error = err.Error() 275 return localVarReturnValue, localVarHttpResponse, newErr 276 } 277 newErr.model = v 278 return localVarReturnValue, localVarHttpResponse, newErr 279 } 280 return localVarReturnValue, localVarHttpResponse, newErr 281 } 282 283 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 284 if err != nil { 285 newErr := GenericOpenAPIError{ 286 body: localVarBody, 287 error: err.Error(), 288 } 289 return localVarReturnValue, localVarHttpResponse, newErr 290 } 291 292 return localVarReturnValue, localVarHttpResponse, nil 293 } 294 295 /* 296 PresenceApiService Get User Status 297 <p style='font-style:italic;'>Since 1.0.2</p><p>Returns presence status of an extension or several extensions by their ID(s). Batch request is supported, see Batch Requests for details.The presenceStatus is returned as Offline (the parameters telephonyStatus, message, userStatus and dndStatus are not returned at all) for the following extension types: Department/Announcement Only/Take Messages Only (Voicemail)/Fax User/Paging Only Group/Shared Lines Group/IVR Menu/Application Extension/Park Location.If the user requests his/her own presence status, the response contains actual presence status even if the status publication is turned off.Batch request is supported. For batch requests the number of extensions in one request is limited to 30. If more extensions are included in the request, the error code 400 Bad Request is returned with the logical error code InvalidMultipartRequest and the corresponding message 'Extension Presence Info multipart request is limited to 30 extensions'.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadPresence</td><td>Getting user presence information</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Light</p> 298 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 299 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 300 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 301 @return GetPresenceInfo 302 */ 303 func (a *PresenceApiService) GetPresenceStatus(ctx context.Context, accountId string, extensionId string) (GetPresenceInfo, *http.Response, error) { 304 var ( 305 localVarHttpMethod = strings.ToUpper("Get") 306 localVarPostBody interface{} 307 localVarFormFileName string 308 localVarFileName string 309 localVarFileBytes []byte 310 localVarReturnValue GetPresenceInfo 311 ) 312 313 // create path and map variables 314 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence" 315 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 316 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 317 318 localVarHeaderParams := make(map[string]string) 319 localVarQueryParams := url.Values{} 320 localVarFormParams := url.Values{} 321 322 // to determine the Content-Type header 323 localVarHttpContentTypes := []string{} 324 325 // set Content-Type header 326 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 327 if localVarHttpContentType != "" { 328 localVarHeaderParams["Content-Type"] = localVarHttpContentType 329 } 330 331 // to determine the Accept header 332 localVarHttpHeaderAccepts := []string{"application/json"} 333 334 // set Accept header 335 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 336 if localVarHttpHeaderAccept != "" { 337 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 338 } 339 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 340 if err != nil { 341 return localVarReturnValue, nil, err 342 } 343 344 localVarHttpResponse, err := a.client.callAPI(r) 345 if err != nil || localVarHttpResponse == nil { 346 return localVarReturnValue, localVarHttpResponse, err 347 } 348 349 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 350 localVarHttpResponse.Body.Close() 351 if err != nil { 352 return localVarReturnValue, localVarHttpResponse, err 353 } 354 355 if localVarHttpResponse.StatusCode >= 300 { 356 newErr := GenericOpenAPIError{ 357 body: localVarBody, 358 error: localVarHttpResponse.Status, 359 } 360 if localVarHttpResponse.StatusCode == 0 { 361 var v GetPresenceInfo 362 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 363 if err != nil { 364 newErr.error = err.Error() 365 return localVarReturnValue, localVarHttpResponse, newErr 366 } 367 newErr.model = v 368 return localVarReturnValue, localVarHttpResponse, newErr 369 } 370 return localVarReturnValue, localVarHttpResponse, newErr 371 } 372 373 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 374 if err != nil { 375 newErr := GenericOpenAPIError{ 376 body: localVarBody, 377 error: err.Error(), 378 } 379 return localVarReturnValue, localVarHttpResponse, newErr 380 } 381 382 return localVarReturnValue, localVarHttpResponse, nil 383 } 384 385 /* 386 PresenceApiService Get Monitored Extensions 387 <p style='font-style:italic;'>Since 1.0.13 (Release 6.5)</p><p>Returns list of lines - extensions which presence status can be indicated and monitored on BLF-enabled (Busy Lamp Field) devices.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadPresence</td><td>Getting user presence information</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Light</p> 388 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 389 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 390 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 391 @return GetMonitoredExtensionsResponse 392 */ 393 func (a *PresenceApiService) ListMonitoredExtensions(ctx context.Context, accountId string, extensionId string) (GetMonitoredExtensionsResponse, *http.Response, error) { 394 var ( 395 localVarHttpMethod = strings.ToUpper("Get") 396 localVarPostBody interface{} 397 localVarFormFileName string 398 localVarFileName string 399 localVarFileBytes []byte 400 localVarReturnValue GetMonitoredExtensionsResponse 401 ) 402 403 // create path and map variables 404 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence/line" 405 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 406 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 407 408 localVarHeaderParams := make(map[string]string) 409 localVarQueryParams := url.Values{} 410 localVarFormParams := url.Values{} 411 412 // to determine the Content-Type header 413 localVarHttpContentTypes := []string{} 414 415 // set Content-Type header 416 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 417 if localVarHttpContentType != "" { 418 localVarHeaderParams["Content-Type"] = localVarHttpContentType 419 } 420 421 // to determine the Accept header 422 localVarHttpHeaderAccepts := []string{"application/json"} 423 424 // set Accept header 425 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 426 if localVarHttpHeaderAccept != "" { 427 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 428 } 429 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 430 if err != nil { 431 return localVarReturnValue, nil, err 432 } 433 434 localVarHttpResponse, err := a.client.callAPI(r) 435 if err != nil || localVarHttpResponse == nil { 436 return localVarReturnValue, localVarHttpResponse, err 437 } 438 439 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 440 localVarHttpResponse.Body.Close() 441 if err != nil { 442 return localVarReturnValue, localVarHttpResponse, err 443 } 444 445 if localVarHttpResponse.StatusCode >= 300 { 446 newErr := GenericOpenAPIError{ 447 body: localVarBody, 448 error: localVarHttpResponse.Status, 449 } 450 if localVarHttpResponse.StatusCode == 0 { 451 var v GetMonitoredExtensionsResponse 452 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 453 if err != nil { 454 newErr.error = err.Error() 455 return localVarReturnValue, localVarHttpResponse, newErr 456 } 457 newErr.model = v 458 return localVarReturnValue, localVarHttpResponse, newErr 459 } 460 return localVarReturnValue, localVarHttpResponse, newErr 461 } 462 463 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 464 if err != nil { 465 newErr := GenericOpenAPIError{ 466 body: localVarBody, 467 error: err.Error(), 468 } 469 return localVarReturnValue, localVarHttpResponse, newErr 470 } 471 472 return localVarReturnValue, localVarHttpResponse, nil 473 } 474 475 /* 476 PresenceApiService Update User Presence Permissions 477 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 478 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 479 * @param accountId 480 * @param userPresencePermissionsUpdateRequest 481 @return MonitoringExtensionsResource 482 */ 483 func (a *PresenceApiService) PutMonitoringExtensions(ctx context.Context, extensionId string, accountId string, userPresencePermissionsUpdateRequest UserPresencePermissionsUpdateRequest) (MonitoringExtensionsResource, *http.Response, error) { 484 var ( 485 localVarHttpMethod = strings.ToUpper("Put") 486 localVarPostBody interface{} 487 localVarFormFileName string 488 localVarFileName string 489 localVarFileBytes []byte 490 localVarReturnValue MonitoringExtensionsResource 491 ) 492 493 // create path and map variables 494 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence/permission" 495 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 496 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 497 498 localVarHeaderParams := make(map[string]string) 499 localVarQueryParams := url.Values{} 500 localVarFormParams := url.Values{} 501 502 // to determine the Content-Type header 503 localVarHttpContentTypes := []string{"application/json"} 504 505 // set Content-Type header 506 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 507 if localVarHttpContentType != "" { 508 localVarHeaderParams["Content-Type"] = localVarHttpContentType 509 } 510 511 // to determine the Accept header 512 localVarHttpHeaderAccepts := []string{"application/json"} 513 514 // set Accept header 515 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 516 if localVarHttpHeaderAccept != "" { 517 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 518 } 519 // body params 520 localVarPostBody = &userPresencePermissionsUpdateRequest 521 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 522 if err != nil { 523 return localVarReturnValue, nil, err 524 } 525 526 localVarHttpResponse, err := a.client.callAPI(r) 527 if err != nil || localVarHttpResponse == nil { 528 return localVarReturnValue, localVarHttpResponse, err 529 } 530 531 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 532 localVarHttpResponse.Body.Close() 533 if err != nil { 534 return localVarReturnValue, localVarHttpResponse, err 535 } 536 537 if localVarHttpResponse.StatusCode >= 300 { 538 newErr := GenericOpenAPIError{ 539 body: localVarBody, 540 error: localVarHttpResponse.Status, 541 } 542 if localVarHttpResponse.StatusCode == 0 { 543 var v MonitoringExtensionsResource 544 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 545 if err != nil { 546 newErr.error = err.Error() 547 return localVarReturnValue, localVarHttpResponse, newErr 548 } 549 newErr.model = v 550 return localVarReturnValue, localVarHttpResponse, newErr 551 } 552 return localVarReturnValue, localVarHttpResponse, newErr 553 } 554 555 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 556 if err != nil { 557 newErr := GenericOpenAPIError{ 558 body: localVarBody, 559 error: err.Error(), 560 } 561 return localVarReturnValue, localVarHttpResponse, newErr 562 } 563 564 return localVarReturnValue, localVarHttpResponse, nil 565 } 566 567 /* 568 PresenceApiService Update Monitored Extensions 569 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 570 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 571 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 572 * @param updatePresenceLinesRequest 573 @return UpdatePresenceLinesResponse 574 */ 575 func (a *PresenceApiService) UpdatePresenceLines(ctx context.Context, accountId string, extensionId string, updatePresenceLinesRequest UpdatePresenceLinesRequest) (UpdatePresenceLinesResponse, *http.Response, error) { 576 var ( 577 localVarHttpMethod = strings.ToUpper("Put") 578 localVarPostBody interface{} 579 localVarFormFileName string 580 localVarFileName string 581 localVarFileBytes []byte 582 localVarReturnValue UpdatePresenceLinesResponse 583 ) 584 585 // create path and map variables 586 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence/line" 587 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 588 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 589 590 localVarHeaderParams := make(map[string]string) 591 localVarQueryParams := url.Values{} 592 localVarFormParams := url.Values{} 593 594 // to determine the Content-Type header 595 localVarHttpContentTypes := []string{"application/json"} 596 597 // set Content-Type header 598 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 599 if localVarHttpContentType != "" { 600 localVarHeaderParams["Content-Type"] = localVarHttpContentType 601 } 602 603 // to determine the Accept header 604 localVarHttpHeaderAccepts := []string{"application/json"} 605 606 // set Accept header 607 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 608 if localVarHttpHeaderAccept != "" { 609 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 610 } 611 // body params 612 localVarPostBody = &updatePresenceLinesRequest 613 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 614 if err != nil { 615 return localVarReturnValue, nil, err 616 } 617 618 localVarHttpResponse, err := a.client.callAPI(r) 619 if err != nil || localVarHttpResponse == nil { 620 return localVarReturnValue, localVarHttpResponse, err 621 } 622 623 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 624 localVarHttpResponse.Body.Close() 625 if err != nil { 626 return localVarReturnValue, localVarHttpResponse, err 627 } 628 629 if localVarHttpResponse.StatusCode >= 300 { 630 newErr := GenericOpenAPIError{ 631 body: localVarBody, 632 error: localVarHttpResponse.Status, 633 } 634 if localVarHttpResponse.StatusCode == 0 { 635 var v UpdatePresenceLinesResponse 636 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 637 if err != nil { 638 newErr.error = err.Error() 639 return localVarReturnValue, localVarHttpResponse, newErr 640 } 641 newErr.model = v 642 return localVarReturnValue, localVarHttpResponse, newErr 643 } 644 return localVarReturnValue, localVarHttpResponse, newErr 645 } 646 647 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 648 if err != nil { 649 newErr := GenericOpenAPIError{ 650 body: localVarBody, 651 error: err.Error(), 652 } 653 return localVarReturnValue, localVarHttpResponse, newErr 654 } 655 656 return localVarReturnValue, localVarHttpResponse, nil 657 } 658 659 /* 660 PresenceApiService Update User Status 661 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 662 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 663 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 664 * @param presenceInfoResource 665 @return PresenceInfoResource 666 */ 667 func (a *PresenceApiService) UpdatePresenceStatus(ctx context.Context, accountId string, extensionId string, presenceInfoResource PresenceInfoResource) (PresenceInfoResource, *http.Response, error) { 668 var ( 669 localVarHttpMethod = strings.ToUpper("Put") 670 localVarPostBody interface{} 671 localVarFormFileName string 672 localVarFileName string 673 localVarFileBytes []byte 674 localVarReturnValue PresenceInfoResource 675 ) 676 677 // create path and map variables 678 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/presence" 679 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 680 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 681 682 localVarHeaderParams := make(map[string]string) 683 localVarQueryParams := url.Values{} 684 localVarFormParams := url.Values{} 685 686 // to determine the Content-Type header 687 localVarHttpContentTypes := []string{"multipart/mixed", "application/json"} 688 689 // set Content-Type header 690 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 691 if localVarHttpContentType != "" { 692 localVarHeaderParams["Content-Type"] = localVarHttpContentType 693 } 694 695 // to determine the Accept header 696 localVarHttpHeaderAccepts := []string{"multipart/mixed", "application/json"} 697 698 // set Accept header 699 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 700 if localVarHttpHeaderAccept != "" { 701 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 702 } 703 // body params 704 localVarPostBody = &presenceInfoResource 705 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 706 if err != nil { 707 return localVarReturnValue, nil, err 708 } 709 710 localVarHttpResponse, err := a.client.callAPI(r) 711 if err != nil || localVarHttpResponse == nil { 712 return localVarReturnValue, localVarHttpResponse, err 713 } 714 715 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 716 localVarHttpResponse.Body.Close() 717 if err != nil { 718 return localVarReturnValue, localVarHttpResponse, err 719 } 720 721 if localVarHttpResponse.StatusCode >= 300 { 722 newErr := GenericOpenAPIError{ 723 body: localVarBody, 724 error: localVarHttpResponse.Status, 725 } 726 if localVarHttpResponse.StatusCode == 0 { 727 var v PresenceInfoResource 728 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 729 if err != nil { 730 newErr.error = err.Error() 731 return localVarReturnValue, localVarHttpResponse, newErr 732 } 733 newErr.model = v 734 return localVarReturnValue, localVarHttpResponse, newErr 735 } 736 return localVarReturnValue, localVarHttpResponse, newErr 737 } 738 739 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 740 if err != nil { 741 newErr := GenericOpenAPIError{ 742 body: localVarBody, 743 error: err.Error(), 744 } 745 return localVarReturnValue, localVarHttpResponse, newErr 746 } 747 748 return localVarReturnValue, localVarHttpResponse, nil 749 }