github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_call_log.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 CallLogApiService service 28 29 /* 30 CallLogApiService Delete Call Log Records by Filter 31 <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'>EditCallLog</td><td>Viewing and updating user call logs</td></tr><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</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 optional nil or *DeleteAccountCallLogOpts - Optional Parameters: 35 * @param "DateTo" (optional.String) - The end datetime for records deletion in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time 36 */ 37 38 type DeleteAccountCallLogOpts struct { 39 DateTo optional.String 40 } 41 42 func (a *CallLogApiService) DeleteAccountCallLog(ctx context.Context, accountId string, localVarOptionals *DeleteAccountCallLogOpts) (*http.Response, error) { 43 var ( 44 localVarHttpMethod = strings.ToUpper("Delete") 45 localVarPostBody interface{} 46 localVarFormFileName string 47 localVarFileName string 48 localVarFileBytes []byte 49 ) 50 51 // create path and map variables 52 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/call-log" 53 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 54 55 localVarHeaderParams := make(map[string]string) 56 localVarQueryParams := url.Values{} 57 localVarFormParams := url.Values{} 58 59 if localVarOptionals != nil && localVarOptionals.DateTo.IsSet() { 60 localVarQueryParams.Add("dateTo", parameterToString(localVarOptionals.DateTo.Value(), "")) 61 } 62 // to determine the Content-Type header 63 localVarHttpContentTypes := []string{} 64 65 // set Content-Type header 66 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 67 if localVarHttpContentType != "" { 68 localVarHeaderParams["Content-Type"] = localVarHttpContentType 69 } 70 71 // to determine the Accept header 72 localVarHttpHeaderAccepts := []string{} 73 74 // set Accept header 75 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 76 if localVarHttpHeaderAccept != "" { 77 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 78 } 79 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 80 if err != nil { 81 return nil, err 82 } 83 84 localVarHttpResponse, err := a.client.callAPI(r) 85 if err != nil || localVarHttpResponse == nil { 86 return localVarHttpResponse, err 87 } 88 89 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 90 localVarHttpResponse.Body.Close() 91 if err != nil { 92 return localVarHttpResponse, err 93 } 94 95 if localVarHttpResponse.StatusCode >= 300 { 96 newErr := GenericOpenAPIError{ 97 body: localVarBody, 98 error: localVarHttpResponse.Status, 99 } 100 return localVarHttpResponse, newErr 101 } 102 103 return localVarHttpResponse, nil 104 } 105 106 /* 107 CallLogApiService Delete Account Call Log Record(s) by ID 108 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 109 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 110 * @param callRecordId Internal identifier of a call log record 111 */ 112 func (a *CallLogApiService) DeleteAccountCallLogRecord(ctx context.Context, accountId string, callRecordId int32) (*http.Response, error) { 113 var ( 114 localVarHttpMethod = strings.ToUpper("Delete") 115 localVarPostBody interface{} 116 localVarFormFileName string 117 localVarFileName string 118 localVarFileBytes []byte 119 ) 120 121 // create path and map variables 122 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/call-log/{callRecordId}" 123 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 124 localVarPath = strings.Replace(localVarPath, "{"+"callRecordId"+"}", fmt.Sprintf("%v", callRecordId), -1) 125 126 localVarHeaderParams := make(map[string]string) 127 localVarQueryParams := url.Values{} 128 localVarFormParams := url.Values{} 129 130 // to determine the Content-Type header 131 localVarHttpContentTypes := []string{} 132 133 // set Content-Type header 134 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 135 if localVarHttpContentType != "" { 136 localVarHeaderParams["Content-Type"] = localVarHttpContentType 137 } 138 139 // to determine the Accept header 140 localVarHttpHeaderAccepts := []string{} 141 142 // set Accept header 143 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 144 if localVarHttpHeaderAccept != "" { 145 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 146 } 147 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 148 if err != nil { 149 return nil, err 150 } 151 152 localVarHttpResponse, err := a.client.callAPI(r) 153 if err != nil || localVarHttpResponse == nil { 154 return localVarHttpResponse, err 155 } 156 157 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 158 localVarHttpResponse.Body.Close() 159 if err != nil { 160 return localVarHttpResponse, err 161 } 162 163 if localVarHttpResponse.StatusCode >= 300 { 164 newErr := GenericOpenAPIError{ 165 body: localVarBody, 166 error: localVarHttpResponse.Status, 167 } 168 return localVarHttpResponse, newErr 169 } 170 171 return localVarHttpResponse, nil 172 } 173 174 /* 175 CallLogApiService Delete Call Log Records by Filter 176 <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'>EditCallLog</td><td>Viewing and updating user call logs</td></tr><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 177 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 178 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 179 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 180 * @param optional nil or *DeleteExtensionCallLogOpts - Optional Parameters: 181 * @param "DateTo" (optional.String) - The end datetime for records deletion in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time 182 * @param "PhoneNumber" (optional.String) - 183 * @param "ExtensionNumber" (optional.String) - 184 * @param "Type_" (optional.Interface of []string) - 185 * @param "Direction" (optional.Interface of []string) - 186 * @param "DateFrom" (optional.Time) - 187 */ 188 189 type DeleteExtensionCallLogOpts struct { 190 DateTo optional.String 191 PhoneNumber optional.String 192 ExtensionNumber optional.String 193 Type_ optional.Interface 194 Direction optional.Interface 195 DateFrom optional.Time 196 } 197 198 func (a *CallLogApiService) DeleteExtensionCallLog(ctx context.Context, accountId string, extensionId string, localVarOptionals *DeleteExtensionCallLogOpts) (*http.Response, error) { 199 var ( 200 localVarHttpMethod = strings.ToUpper("Delete") 201 localVarPostBody interface{} 202 localVarFormFileName string 203 localVarFileName string 204 localVarFileBytes []byte 205 ) 206 207 // create path and map variables 208 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log" 209 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 210 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 211 212 localVarHeaderParams := make(map[string]string) 213 localVarQueryParams := url.Values{} 214 localVarFormParams := url.Values{} 215 216 if localVarOptionals != nil && localVarOptionals.DateTo.IsSet() { 217 localVarQueryParams.Add("dateTo", parameterToString(localVarOptionals.DateTo.Value(), "")) 218 } 219 if localVarOptionals != nil && localVarOptionals.PhoneNumber.IsSet() { 220 localVarQueryParams.Add("phoneNumber", parameterToString(localVarOptionals.PhoneNumber.Value(), "")) 221 } 222 if localVarOptionals != nil && localVarOptionals.ExtensionNumber.IsSet() { 223 localVarQueryParams.Add("extensionNumber", parameterToString(localVarOptionals.ExtensionNumber.Value(), "")) 224 } 225 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 226 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 227 } 228 if localVarOptionals != nil && localVarOptionals.Direction.IsSet() { 229 localVarQueryParams.Add("direction", parameterToString(localVarOptionals.Direction.Value(), "multi")) 230 } 231 if localVarOptionals != nil && localVarOptionals.DateFrom.IsSet() { 232 localVarQueryParams.Add("dateFrom", parameterToString(localVarOptionals.DateFrom.Value(), "")) 233 } 234 // to determine the Content-Type header 235 localVarHttpContentTypes := []string{} 236 237 // set Content-Type header 238 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 239 if localVarHttpContentType != "" { 240 localVarHeaderParams["Content-Type"] = localVarHttpContentType 241 } 242 243 // to determine the Accept header 244 localVarHttpHeaderAccepts := []string{} 245 246 // set Accept header 247 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 248 if localVarHttpHeaderAccept != "" { 249 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 250 } 251 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 252 if err != nil { 253 return nil, err 254 } 255 256 localVarHttpResponse, err := a.client.callAPI(r) 257 if err != nil || localVarHttpResponse == nil { 258 return localVarHttpResponse, err 259 } 260 261 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 262 localVarHttpResponse.Body.Close() 263 if err != nil { 264 return localVarHttpResponse, err 265 } 266 267 if localVarHttpResponse.StatusCode >= 300 { 268 newErr := GenericOpenAPIError{ 269 body: localVarBody, 270 error: localVarHttpResponse.Status, 271 } 272 return localVarHttpResponse, newErr 273 } 274 275 return localVarHttpResponse, nil 276 } 277 278 /* 279 CallLogApiService Get Call Records by ID 280 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 281 * @param callRecordId 282 * @param extensionId 283 * @param accountId 284 * @param optional nil or *GetCallRecordsOpts - Optional Parameters: 285 * @param "View" (optional.String) - 286 @return UserCallLogRecord 287 */ 288 289 type GetCallRecordsOpts struct { 290 View optional.String 291 } 292 293 func (a *CallLogApiService) GetCallRecords(ctx context.Context, callRecordId []string, extensionId string, accountId string, localVarOptionals *GetCallRecordsOpts) (UserCallLogRecord, *http.Response, error) { 294 var ( 295 localVarHttpMethod = strings.ToUpper("Get") 296 localVarPostBody interface{} 297 localVarFormFileName string 298 localVarFileName string 299 localVarFileBytes []byte 300 localVarReturnValue UserCallLogRecord 301 ) 302 303 // create path and map variables 304 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log/{callRecordId}" 305 localVarPath = strings.Replace(localVarPath, "{"+"callRecordId"+"}", fmt.Sprintf("%v", callRecordId), -1) 306 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 307 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 308 309 localVarHeaderParams := make(map[string]string) 310 localVarQueryParams := url.Values{} 311 localVarFormParams := url.Values{} 312 313 if localVarOptionals != nil && localVarOptionals.View.IsSet() { 314 localVarQueryParams.Add("view", parameterToString(localVarOptionals.View.Value(), "")) 315 } 316 // to determine the Content-Type header 317 localVarHttpContentTypes := []string{} 318 319 // set Content-Type header 320 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 321 if localVarHttpContentType != "" { 322 localVarHeaderParams["Content-Type"] = localVarHttpContentType 323 } 324 325 // to determine the Accept header 326 localVarHttpHeaderAccepts := []string{"application/json"} 327 328 // set Accept header 329 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 330 if localVarHttpHeaderAccept != "" { 331 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 332 } 333 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 334 if err != nil { 335 return localVarReturnValue, nil, err 336 } 337 338 localVarHttpResponse, err := a.client.callAPI(r) 339 if err != nil || localVarHttpResponse == nil { 340 return localVarReturnValue, localVarHttpResponse, err 341 } 342 343 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 344 localVarHttpResponse.Body.Close() 345 if err != nil { 346 return localVarReturnValue, localVarHttpResponse, err 347 } 348 349 if localVarHttpResponse.StatusCode >= 300 { 350 newErr := GenericOpenAPIError{ 351 body: localVarBody, 352 error: localVarHttpResponse.Status, 353 } 354 if localVarHttpResponse.StatusCode == 0 { 355 var v UserCallLogRecord 356 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 357 if err != nil { 358 newErr.error = err.Error() 359 return localVarReturnValue, localVarHttpResponse, newErr 360 } 361 newErr.model = v 362 return localVarReturnValue, localVarHttpResponse, newErr 363 } 364 return localVarReturnValue, localVarHttpResponse, newErr 365 } 366 367 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 368 if err != nil { 369 newErr := GenericOpenAPIError{ 370 body: localVarBody, 371 error: err.Error(), 372 } 373 return localVarReturnValue, localVarHttpResponse, newErr 374 } 375 376 return localVarReturnValue, localVarHttpResponse, nil 377 } 378 379 /* 380 CallLogApiService Get Call Recordings Data 381 <p style='font-style:italic;'>Since 1.0.16 (Release 7.1)</p><p>Returns call recording metadata.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallRecording</td><td>Downloading call recording content</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 382 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 383 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 384 * @param recordingId Internal identifier of a recording (returned in Call Log) 385 @return Binary 386 */ 387 func (a *CallLogApiService) ListCallRecordingData(ctx context.Context, accountId string, recordingId string) (Binary, *http.Response, error) { 388 var ( 389 localVarHttpMethod = strings.ToUpper("Get") 390 localVarPostBody interface{} 391 localVarFormFileName string 392 localVarFileName string 393 localVarFileBytes []byte 394 localVarReturnValue Binary 395 ) 396 397 // create path and map variables 398 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/recording/{recordingId}/content" 399 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 400 localVarPath = strings.Replace(localVarPath, "{"+"recordingId"+"}", fmt.Sprintf("%v", recordingId), -1) 401 402 localVarHeaderParams := make(map[string]string) 403 localVarQueryParams := url.Values{} 404 localVarFormParams := url.Values{} 405 406 // to determine the Content-Type header 407 localVarHttpContentTypes := []string{} 408 409 // set Content-Type header 410 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 411 if localVarHttpContentType != "" { 412 localVarHeaderParams["Content-Type"] = localVarHttpContentType 413 } 414 415 // to determine the Accept header 416 localVarHttpHeaderAccepts := []string{"application/json"} 417 418 // set Accept header 419 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 420 if localVarHttpHeaderAccept != "" { 421 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 422 } 423 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 424 if err != nil { 425 return localVarReturnValue, nil, err 426 } 427 428 localVarHttpResponse, err := a.client.callAPI(r) 429 if err != nil || localVarHttpResponse == nil { 430 return localVarReturnValue, localVarHttpResponse, err 431 } 432 433 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 434 localVarHttpResponse.Body.Close() 435 if err != nil { 436 return localVarReturnValue, localVarHttpResponse, err 437 } 438 439 if localVarHttpResponse.StatusCode >= 300 { 440 newErr := GenericOpenAPIError{ 441 body: localVarBody, 442 error: localVarHttpResponse.Status, 443 } 444 if localVarHttpResponse.StatusCode == 0 { 445 var v Binary 446 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 447 if err != nil { 448 newErr.error = err.Error() 449 return localVarReturnValue, localVarHttpResponse, newErr 450 } 451 newErr.model = v 452 return localVarReturnValue, localVarHttpResponse, newErr 453 } 454 return localVarReturnValue, localVarHttpResponse, newErr 455 } 456 457 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 458 if err != nil { 459 newErr := GenericOpenAPIError{ 460 body: localVarBody, 461 error: err.Error(), 462 } 463 return localVarReturnValue, localVarHttpResponse, newErr 464 } 465 466 return localVarReturnValue, localVarHttpResponse, nil 467 } 468 469 /* 470 CallLogApiService Get Call Recordings 471 <p style='font-style:italic;'>Since 1.0.18 (Release 6.5)</p><p>Returns call recording metadata.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallRecording</td><td>Downloading call recording content</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 472 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 473 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 474 * @param recordingId Internal identifier of a recording (returned in Call Log) 475 @return GetCallRecordingResponse 476 */ 477 func (a *CallLogApiService) ListCallRecordings(ctx context.Context, accountId string, recordingId string) (GetCallRecordingResponse, *http.Response, error) { 478 var ( 479 localVarHttpMethod = strings.ToUpper("Get") 480 localVarPostBody interface{} 481 localVarFormFileName string 482 localVarFileName string 483 localVarFileBytes []byte 484 localVarReturnValue GetCallRecordingResponse 485 ) 486 487 // create path and map variables 488 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/recording/{recordingId}" 489 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 490 localVarPath = strings.Replace(localVarPath, "{"+"recordingId"+"}", fmt.Sprintf("%v", recordingId), -1) 491 492 localVarHeaderParams := make(map[string]string) 493 localVarQueryParams := url.Values{} 494 localVarFormParams := url.Values{} 495 496 // to determine the Content-Type header 497 localVarHttpContentTypes := []string{} 498 499 // set Content-Type header 500 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 501 if localVarHttpContentType != "" { 502 localVarHeaderParams["Content-Type"] = localVarHttpContentType 503 } 504 505 // to determine the Accept header 506 localVarHttpHeaderAccepts := []string{"application/json"} 507 508 // set Accept header 509 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 510 if localVarHttpHeaderAccept != "" { 511 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 512 } 513 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 514 if err != nil { 515 return localVarReturnValue, nil, err 516 } 517 518 localVarHttpResponse, err := a.client.callAPI(r) 519 if err != nil || localVarHttpResponse == nil { 520 return localVarReturnValue, localVarHttpResponse, err 521 } 522 523 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 524 localVarHttpResponse.Body.Close() 525 if err != nil { 526 return localVarReturnValue, localVarHttpResponse, err 527 } 528 529 if localVarHttpResponse.StatusCode >= 300 { 530 newErr := GenericOpenAPIError{ 531 body: localVarBody, 532 error: localVarHttpResponse.Status, 533 } 534 if localVarHttpResponse.StatusCode == 0 { 535 var v GetCallRecordingResponse 536 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 537 if err != nil { 538 newErr.error = err.Error() 539 return localVarReturnValue, localVarHttpResponse, newErr 540 } 541 newErr.model = v 542 return localVarReturnValue, localVarHttpResponse, newErr 543 } 544 return localVarReturnValue, localVarHttpResponse, newErr 545 } 546 547 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 548 if err != nil { 549 newErr := GenericOpenAPIError{ 550 body: localVarBody, 551 error: err.Error(), 552 } 553 return localVarReturnValue, localVarHttpResponse, newErr 554 } 555 556 return localVarReturnValue, localVarHttpResponse, nil 557 } 558 559 /* 560 CallLogApiService Get User Active Calls 561 <p style='font-style:italic;'>Since 1.0.13 (Release 6.5)</p><p>Returns records of all calls that are in progress, ordered by start time in descending order</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 562 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 563 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 564 * @param optional nil or *ListCompanyActiveCallsOpts - Optional Parameters: 565 * @param "Direction" (optional.Interface of []string) - The direction for the result records. It is allowed to specify more than one direction. If not specified, both inbound and outbound records are returned. Multiple values are accepted 566 * @param "Type_" (optional.Interface of []string) - Call type of a record. It is allowed to specify more than one type. If not specified, all call types are returned. Multiple values are accepted 567 * @param "Transport" (optional.Interface of []string) - Call transport type. 'PSTN' specifies that a call leg is initiated from the PSTN network provider; 'VoIP' - from an RC phone. By default this filter is disabled 568 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 569 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 570 @return ExtensionActiveCallsResponse 571 */ 572 573 type ListCompanyActiveCallsOpts struct { 574 Direction optional.Interface 575 Type_ optional.Interface 576 Transport optional.Interface 577 Page optional.Int32 578 PerPage optional.Int32 579 } 580 581 func (a *CallLogApiService) ListCompanyActiveCalls(ctx context.Context, accountId string, localVarOptionals *ListCompanyActiveCallsOpts) (ExtensionActiveCallsResponse, *http.Response, error) { 582 var ( 583 localVarHttpMethod = strings.ToUpper("Get") 584 localVarPostBody interface{} 585 localVarFormFileName string 586 localVarFileName string 587 localVarFileBytes []byte 588 localVarReturnValue ExtensionActiveCallsResponse 589 ) 590 591 // create path and map variables 592 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/active-calls" 593 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 594 595 localVarHeaderParams := make(map[string]string) 596 localVarQueryParams := url.Values{} 597 localVarFormParams := url.Values{} 598 599 if localVarOptionals != nil && localVarOptionals.Direction.IsSet() { 600 localVarQueryParams.Add("direction", parameterToString(localVarOptionals.Direction.Value(), "multi")) 601 } 602 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 603 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 604 } 605 if localVarOptionals != nil && localVarOptionals.Transport.IsSet() { 606 localVarQueryParams.Add("transport", parameterToString(localVarOptionals.Transport.Value(), "multi")) 607 } 608 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 609 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 610 } 611 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 612 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 613 } 614 // to determine the Content-Type header 615 localVarHttpContentTypes := []string{} 616 617 // set Content-Type header 618 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 619 if localVarHttpContentType != "" { 620 localVarHeaderParams["Content-Type"] = localVarHttpContentType 621 } 622 623 // to determine the Accept header 624 localVarHttpHeaderAccepts := []string{"application/json"} 625 626 // set Accept header 627 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 628 if localVarHttpHeaderAccept != "" { 629 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 630 } 631 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 632 if err != nil { 633 return localVarReturnValue, nil, err 634 } 635 636 localVarHttpResponse, err := a.client.callAPI(r) 637 if err != nil || localVarHttpResponse == nil { 638 return localVarReturnValue, localVarHttpResponse, err 639 } 640 641 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 642 localVarHttpResponse.Body.Close() 643 if err != nil { 644 return localVarReturnValue, localVarHttpResponse, err 645 } 646 647 if localVarHttpResponse.StatusCode >= 300 { 648 newErr := GenericOpenAPIError{ 649 body: localVarBody, 650 error: localVarHttpResponse.Status, 651 } 652 if localVarHttpResponse.StatusCode == 0 { 653 var v ExtensionActiveCallsResponse 654 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 655 if err != nil { 656 newErr.error = err.Error() 657 return localVarReturnValue, localVarHttpResponse, newErr 658 } 659 newErr.model = v 660 return localVarReturnValue, localVarHttpResponse, newErr 661 } 662 return localVarReturnValue, localVarHttpResponse, newErr 663 } 664 665 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 666 if err != nil { 667 newErr := GenericOpenAPIError{ 668 body: localVarBody, 669 error: err.Error(), 670 } 671 return localVarReturnValue, localVarHttpResponse, newErr 672 } 673 674 return localVarReturnValue, localVarHttpResponse, nil 675 } 676 677 /* 678 CallLogApiService Get User Active Calls 679 <p style='font-style:italic;'>Since 1.0.13 (Release 6.5)</p><p>Returns records of all extension calls that are in progress, ordered by start time in descending order.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 680 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 681 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 682 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 683 * @param optional nil or *ListExtensionActiveCallsOpts - Optional Parameters: 684 * @param "Direction" (optional.Interface of []string) - The direction for the result records. It is allowed to specify more than one direction. If not specified, both inbound and outbound records are returned. Multiple values are accepted 685 * @param "Type_" (optional.Interface of []string) - Call type of a record. It is allowed to specify more than one type. If not specified, all call types are returned. Multiple values are accepted 686 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 687 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 688 @return ExtensionActiveCallsResponse 689 */ 690 691 type ListExtensionActiveCallsOpts struct { 692 Direction optional.Interface 693 Type_ optional.Interface 694 Page optional.Int32 695 PerPage optional.Int32 696 } 697 698 func (a *CallLogApiService) ListExtensionActiveCalls(ctx context.Context, accountId string, extensionId string, localVarOptionals *ListExtensionActiveCallsOpts) (ExtensionActiveCallsResponse, *http.Response, error) { 699 var ( 700 localVarHttpMethod = strings.ToUpper("Get") 701 localVarPostBody interface{} 702 localVarFormFileName string 703 localVarFileName string 704 localVarFileBytes []byte 705 localVarReturnValue ExtensionActiveCallsResponse 706 ) 707 708 // create path and map variables 709 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/active-calls" 710 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 711 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 712 713 localVarHeaderParams := make(map[string]string) 714 localVarQueryParams := url.Values{} 715 localVarFormParams := url.Values{} 716 717 if localVarOptionals != nil && localVarOptionals.Direction.IsSet() { 718 localVarQueryParams.Add("direction", parameterToString(localVarOptionals.Direction.Value(), "multi")) 719 } 720 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 721 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 722 } 723 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 724 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 725 } 726 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 727 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 728 } 729 // to determine the Content-Type header 730 localVarHttpContentTypes := []string{} 731 732 // set Content-Type header 733 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 734 if localVarHttpContentType != "" { 735 localVarHeaderParams["Content-Type"] = localVarHttpContentType 736 } 737 738 // to determine the Accept header 739 localVarHttpHeaderAccepts := []string{"application/json"} 740 741 // set Accept header 742 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 743 if localVarHttpHeaderAccept != "" { 744 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 745 } 746 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 747 if err != nil { 748 return localVarReturnValue, nil, err 749 } 750 751 localVarHttpResponse, err := a.client.callAPI(r) 752 if err != nil || localVarHttpResponse == nil { 753 return localVarReturnValue, localVarHttpResponse, err 754 } 755 756 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 757 localVarHttpResponse.Body.Close() 758 if err != nil { 759 return localVarReturnValue, localVarHttpResponse, err 760 } 761 762 if localVarHttpResponse.StatusCode >= 300 { 763 newErr := GenericOpenAPIError{ 764 body: localVarBody, 765 error: localVarHttpResponse.Status, 766 } 767 if localVarHttpResponse.StatusCode == 0 { 768 var v ExtensionActiveCallsResponse 769 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 770 if err != nil { 771 newErr.error = err.Error() 772 return localVarReturnValue, localVarHttpResponse, newErr 773 } 774 newErr.model = v 775 return localVarReturnValue, localVarHttpResponse, newErr 776 } 777 return localVarReturnValue, localVarHttpResponse, newErr 778 } 779 780 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 781 if err != nil { 782 newErr := GenericOpenAPIError{ 783 body: localVarBody, 784 error: err.Error(), 785 } 786 return localVarReturnValue, localVarHttpResponse, newErr 787 } 788 789 return localVarReturnValue, localVarHttpResponse, nil 790 } 791 792 /* 793 CallLogApiService Get Call Log Records by Filter 794 <p style='font-style:italic;'>Since 1.0.3 (Release 5.11)</p><p>Returns call log records filtered by the specified parameters.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 795 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 796 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 797 * @param optional nil or *LoadAccountCallLogOpts - Optional Parameters: 798 * @param "ExtensionNumber" (optional.String) - Extension number of a user. If specified, returns call log for a particular extension only. Cannot be specified together with the phoneNumber filter 799 * @param "PhoneNumber" (optional.String) - Phone number of a caller/call recipient. If specified, returns all calls (both incoming and outcoming) with the mentioned phone number. Cannot be specified together with the extensionNumber filter 800 * @param "Direction" (optional.Interface of []string) - The direction for the result records. It is allowed to specify more than one direction. If not specified, both inbound and outbound records are returned. Multiple values are accepted 801 * @param "Type_" (optional.Interface of []string) - Call type of a record. It is allowed to specify more than one type. If not specified, all call types are returned. Multiple values are accepted 802 * @param "View" (optional.Interface of []string) - The default value is 'Simple' for both account and extension call log 803 * @param "WithRecording" (optional.Bool) - 'True' if only recorded calls have to be returned 804 * @param "DateFrom" (optional.Time) - The start datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours 805 * @param "DateTo" (optional.Time) - The end datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time 806 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. The default value is '1' 807 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default. 808 * @param "SessionId" (optional.String) - 809 @return AccountCallLogResponse 810 */ 811 812 type LoadAccountCallLogOpts struct { 813 ExtensionNumber optional.String 814 PhoneNumber optional.String 815 Direction optional.Interface 816 Type_ optional.Interface 817 View optional.Interface 818 WithRecording optional.Bool 819 DateFrom optional.Time 820 DateTo optional.Time 821 Page optional.Int32 822 PerPage optional.Int32 823 SessionId optional.String 824 } 825 826 func (a *CallLogApiService) LoadAccountCallLog(ctx context.Context, accountId string, localVarOptionals *LoadAccountCallLogOpts) (AccountCallLogResponse, *http.Response, error) { 827 var ( 828 localVarHttpMethod = strings.ToUpper("Get") 829 localVarPostBody interface{} 830 localVarFormFileName string 831 localVarFileName string 832 localVarFileBytes []byte 833 localVarReturnValue AccountCallLogResponse 834 ) 835 836 // create path and map variables 837 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/call-log" 838 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 839 840 localVarHeaderParams := make(map[string]string) 841 localVarQueryParams := url.Values{} 842 localVarFormParams := url.Values{} 843 844 if localVarOptionals != nil && localVarOptionals.ExtensionNumber.IsSet() { 845 localVarQueryParams.Add("extensionNumber", parameterToString(localVarOptionals.ExtensionNumber.Value(), "")) 846 } 847 if localVarOptionals != nil && localVarOptionals.PhoneNumber.IsSet() { 848 localVarQueryParams.Add("phoneNumber", parameterToString(localVarOptionals.PhoneNumber.Value(), "")) 849 } 850 if localVarOptionals != nil && localVarOptionals.Direction.IsSet() { 851 localVarQueryParams.Add("direction", parameterToString(localVarOptionals.Direction.Value(), "multi")) 852 } 853 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 854 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 855 } 856 if localVarOptionals != nil && localVarOptionals.View.IsSet() { 857 localVarQueryParams.Add("view", parameterToString(localVarOptionals.View.Value(), "multi")) 858 } 859 if localVarOptionals != nil && localVarOptionals.WithRecording.IsSet() { 860 localVarQueryParams.Add("withRecording", parameterToString(localVarOptionals.WithRecording.Value(), "")) 861 } 862 if localVarOptionals != nil && localVarOptionals.DateFrom.IsSet() { 863 localVarQueryParams.Add("dateFrom", parameterToString(localVarOptionals.DateFrom.Value(), "")) 864 } 865 if localVarOptionals != nil && localVarOptionals.DateTo.IsSet() { 866 localVarQueryParams.Add("dateTo", parameterToString(localVarOptionals.DateTo.Value(), "")) 867 } 868 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 869 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 870 } 871 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 872 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 873 } 874 if localVarOptionals != nil && localVarOptionals.SessionId.IsSet() { 875 localVarQueryParams.Add("sessionId", parameterToString(localVarOptionals.SessionId.Value(), "")) 876 } 877 // to determine the Content-Type header 878 localVarHttpContentTypes := []string{} 879 880 // set Content-Type header 881 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 882 if localVarHttpContentType != "" { 883 localVarHeaderParams["Content-Type"] = localVarHttpContentType 884 } 885 886 // to determine the Accept header 887 localVarHttpHeaderAccepts := []string{"application/json"} 888 889 // set Accept header 890 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 891 if localVarHttpHeaderAccept != "" { 892 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 893 } 894 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 895 if err != nil { 896 return localVarReturnValue, nil, err 897 } 898 899 localVarHttpResponse, err := a.client.callAPI(r) 900 if err != nil || localVarHttpResponse == nil { 901 return localVarReturnValue, localVarHttpResponse, err 902 } 903 904 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 905 localVarHttpResponse.Body.Close() 906 if err != nil { 907 return localVarReturnValue, localVarHttpResponse, err 908 } 909 910 if localVarHttpResponse.StatusCode >= 300 { 911 newErr := GenericOpenAPIError{ 912 body: localVarBody, 913 error: localVarHttpResponse.Status, 914 } 915 if localVarHttpResponse.StatusCode == 0 { 916 var v AccountCallLogResponse 917 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 918 if err != nil { 919 newErr.error = err.Error() 920 return localVarReturnValue, localVarHttpResponse, newErr 921 } 922 newErr.model = v 923 return localVarReturnValue, localVarHttpResponse, newErr 924 } 925 return localVarReturnValue, localVarHttpResponse, newErr 926 } 927 928 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 929 if err != nil { 930 newErr := GenericOpenAPIError{ 931 body: localVarBody, 932 error: err.Error(), 933 } 934 return localVarReturnValue, localVarHttpResponse, newErr 935 } 936 937 return localVarReturnValue, localVarHttpResponse, nil 938 } 939 940 /* 941 CallLogApiService Get Account Call Log Record(s) by ID 942 <p style='font-style:italic;'>Since 1.0.3 (Release 5.11)</p><p>Returns individual call log record(s) by ID(s). Batch request is supported, see Batch Requests for details.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 943 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 944 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 945 * @param callRecordId Internal identifier of a call log record 946 @return GetAccountCallLogRecordResponse 947 */ 948 func (a *CallLogApiService) LoadAccountCallLogRecord(ctx context.Context, accountId string, callRecordId int32) (GetAccountCallLogRecordResponse, *http.Response, error) { 949 var ( 950 localVarHttpMethod = strings.ToUpper("Get") 951 localVarPostBody interface{} 952 localVarFormFileName string 953 localVarFileName string 954 localVarFileBytes []byte 955 localVarReturnValue GetAccountCallLogRecordResponse 956 ) 957 958 // create path and map variables 959 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/call-log/{callRecordId}" 960 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 961 localVarPath = strings.Replace(localVarPath, "{"+"callRecordId"+"}", fmt.Sprintf("%v", callRecordId), -1) 962 963 localVarHeaderParams := make(map[string]string) 964 localVarQueryParams := url.Values{} 965 localVarFormParams := url.Values{} 966 967 // to determine the Content-Type header 968 localVarHttpContentTypes := []string{} 969 970 // set Content-Type header 971 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 972 if localVarHttpContentType != "" { 973 localVarHeaderParams["Content-Type"] = localVarHttpContentType 974 } 975 976 // to determine the Accept header 977 localVarHttpHeaderAccepts := []string{"application/json"} 978 979 // set Accept header 980 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 981 if localVarHttpHeaderAccept != "" { 982 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 983 } 984 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 985 if err != nil { 986 return localVarReturnValue, nil, err 987 } 988 989 localVarHttpResponse, err := a.client.callAPI(r) 990 if err != nil || localVarHttpResponse == nil { 991 return localVarReturnValue, localVarHttpResponse, err 992 } 993 994 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 995 localVarHttpResponse.Body.Close() 996 if err != nil { 997 return localVarReturnValue, localVarHttpResponse, err 998 } 999 1000 if localVarHttpResponse.StatusCode >= 300 { 1001 newErr := GenericOpenAPIError{ 1002 body: localVarBody, 1003 error: localVarHttpResponse.Status, 1004 } 1005 if localVarHttpResponse.StatusCode == 0 { 1006 var v GetAccountCallLogRecordResponse 1007 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1008 if err != nil { 1009 newErr.error = err.Error() 1010 return localVarReturnValue, localVarHttpResponse, newErr 1011 } 1012 newErr.model = v 1013 return localVarReturnValue, localVarHttpResponse, newErr 1014 } 1015 return localVarReturnValue, localVarHttpResponse, newErr 1016 } 1017 1018 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1019 if err != nil { 1020 newErr := GenericOpenAPIError{ 1021 body: localVarBody, 1022 error: err.Error(), 1023 } 1024 return localVarReturnValue, localVarHttpResponse, newErr 1025 } 1026 1027 return localVarReturnValue, localVarHttpResponse, nil 1028 } 1029 1030 /* 1031 CallLogApiService Get Call Log Records by Filter 1032 <p style='font-style:italic;'>Since 1.0.3 (Release 5.11)</p><p>Returns call log records filtered by the specified parameters.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 1033 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1034 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1035 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 1036 * @param optional nil or *LoadExtensionCallLogOpts - Optional Parameters: 1037 * @param "ExtensionNumber" (optional.String) - Extension number of a user. If specified, returns call log for a particular extension only. Cannot be specified together with the phoneNumber filter 1038 * @param "ShowBlocked" (optional.Bool) - If 'True' then calls from/to blocked numbers are returned. The default value is 'True' 1039 * @param "PhoneNumber" (optional.String) - Phone number of a caller/call recipient. If specified, returns all calls (both incoming and outcoming) with the mentioned phone number. Cannot be specified together with the extensionNumber filter 1040 * @param "Direction" (optional.Interface of []string) - The direction for the result records. It is allowed to specify more than one direction. If not specified, both inbound and outbound records are returned. Multiple values are accepted 1041 * @param "SessionId" (optional.String) - 1042 * @param "Type_" (optional.Interface of []string) - Call type of a record. It is allowed to specify more than one type. If not specified, all call types are returned. Multiple values are accepted 1043 * @param "Transport" (optional.Interface of []string) - Call transport type. 'PSTN' specifies that a call leg is initiated from the PSTN network provider; 'VoIP' - from an RC phone. By default this filter is disabled 1044 * @param "View" (optional.Interface of []string) - The default value is 'Simple' for both account and extension call log 1045 * @param "WithRecording" (optional.Bool) - 'True' if only recorded calls have to be returned 1046 * @param "DateTo" (optional.Time) - The end datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time 1047 * @param "DateFrom" (optional.Time) - The start datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours 1048 * @param "Page" (optional.Int32) - Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1' 1049 * @param "PerPage" (optional.Int32) - Indicates the page size (number of items). If not specified, the value is '100' by default 1050 @return ExtensionCallLogResponse 1051 */ 1052 1053 type LoadExtensionCallLogOpts struct { 1054 ExtensionNumber optional.String 1055 ShowBlocked optional.Bool 1056 PhoneNumber optional.String 1057 Direction optional.Interface 1058 SessionId optional.String 1059 Type_ optional.Interface 1060 Transport optional.Interface 1061 View optional.Interface 1062 WithRecording optional.Bool 1063 DateTo optional.Time 1064 DateFrom optional.Time 1065 Page optional.Int32 1066 PerPage optional.Int32 1067 } 1068 1069 func (a *CallLogApiService) LoadExtensionCallLog(ctx context.Context, accountId string, extensionId string, localVarOptionals *LoadExtensionCallLogOpts) (ExtensionCallLogResponse, *http.Response, error) { 1070 var ( 1071 localVarHttpMethod = strings.ToUpper("Get") 1072 localVarPostBody interface{} 1073 localVarFormFileName string 1074 localVarFileName string 1075 localVarFileBytes []byte 1076 localVarReturnValue ExtensionCallLogResponse 1077 ) 1078 1079 // create path and map variables 1080 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log" 1081 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1082 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1083 1084 localVarHeaderParams := make(map[string]string) 1085 localVarQueryParams := url.Values{} 1086 localVarFormParams := url.Values{} 1087 1088 if localVarOptionals != nil && localVarOptionals.ExtensionNumber.IsSet() { 1089 localVarQueryParams.Add("extensionNumber", parameterToString(localVarOptionals.ExtensionNumber.Value(), "")) 1090 } 1091 if localVarOptionals != nil && localVarOptionals.ShowBlocked.IsSet() { 1092 localVarQueryParams.Add("showBlocked", parameterToString(localVarOptionals.ShowBlocked.Value(), "")) 1093 } 1094 if localVarOptionals != nil && localVarOptionals.PhoneNumber.IsSet() { 1095 localVarQueryParams.Add("phoneNumber", parameterToString(localVarOptionals.PhoneNumber.Value(), "")) 1096 } 1097 if localVarOptionals != nil && localVarOptionals.Direction.IsSet() { 1098 localVarQueryParams.Add("direction", parameterToString(localVarOptionals.Direction.Value(), "multi")) 1099 } 1100 if localVarOptionals != nil && localVarOptionals.SessionId.IsSet() { 1101 localVarQueryParams.Add("sessionId", parameterToString(localVarOptionals.SessionId.Value(), "")) 1102 } 1103 if localVarOptionals != nil && localVarOptionals.Type_.IsSet() { 1104 localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi")) 1105 } 1106 if localVarOptionals != nil && localVarOptionals.Transport.IsSet() { 1107 localVarQueryParams.Add("transport", parameterToString(localVarOptionals.Transport.Value(), "multi")) 1108 } 1109 if localVarOptionals != nil && localVarOptionals.View.IsSet() { 1110 localVarQueryParams.Add("view", parameterToString(localVarOptionals.View.Value(), "multi")) 1111 } 1112 if localVarOptionals != nil && localVarOptionals.WithRecording.IsSet() { 1113 localVarQueryParams.Add("withRecording", parameterToString(localVarOptionals.WithRecording.Value(), "")) 1114 } 1115 if localVarOptionals != nil && localVarOptionals.DateTo.IsSet() { 1116 localVarQueryParams.Add("dateTo", parameterToString(localVarOptionals.DateTo.Value(), "")) 1117 } 1118 if localVarOptionals != nil && localVarOptionals.DateFrom.IsSet() { 1119 localVarQueryParams.Add("dateFrom", parameterToString(localVarOptionals.DateFrom.Value(), "")) 1120 } 1121 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 1122 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 1123 } 1124 if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() { 1125 localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), "")) 1126 } 1127 // to determine the Content-Type header 1128 localVarHttpContentTypes := []string{} 1129 1130 // set Content-Type header 1131 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1132 if localVarHttpContentType != "" { 1133 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1134 } 1135 1136 // to determine the Accept header 1137 localVarHttpHeaderAccepts := []string{"application/json"} 1138 1139 // set Accept header 1140 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1141 if localVarHttpHeaderAccept != "" { 1142 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1143 } 1144 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1145 if err != nil { 1146 return localVarReturnValue, nil, err 1147 } 1148 1149 localVarHttpResponse, err := a.client.callAPI(r) 1150 if err != nil || localVarHttpResponse == nil { 1151 return localVarReturnValue, localVarHttpResponse, err 1152 } 1153 1154 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1155 localVarHttpResponse.Body.Close() 1156 if err != nil { 1157 return localVarReturnValue, localVarHttpResponse, err 1158 } 1159 1160 if localVarHttpResponse.StatusCode >= 300 { 1161 newErr := GenericOpenAPIError{ 1162 body: localVarBody, 1163 error: localVarHttpResponse.Status, 1164 } 1165 if localVarHttpResponse.StatusCode == 0 { 1166 var v ExtensionCallLogResponse 1167 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1168 if err != nil { 1169 newErr.error = err.Error() 1170 return localVarReturnValue, localVarHttpResponse, newErr 1171 } 1172 newErr.model = v 1173 return localVarReturnValue, localVarHttpResponse, newErr 1174 } 1175 return localVarReturnValue, localVarHttpResponse, newErr 1176 } 1177 1178 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1179 if err != nil { 1180 newErr := GenericOpenAPIError{ 1181 body: localVarBody, 1182 error: err.Error(), 1183 } 1184 return localVarReturnValue, localVarHttpResponse, newErr 1185 } 1186 1187 return localVarReturnValue, localVarHttpResponse, nil 1188 } 1189 1190 /* 1191 CallLogApiService Call Log Synchronization 1192 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1193 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1194 * @param optional nil or *SyncAccountCallLogOpts - Optional Parameters: 1195 * @param "SyncType" (optional.Interface of []string) - Type of synchronization. 'FSync' is a default value 1196 * @param "SyncToken" (optional.String) - Value of syncToken property of last sync request response 1197 * @param "DateFrom" (optional.String) - The start datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is the current moment 1198 * @param "RecordCount" (optional.Int32) - ForT?FSync the parameter is mandatory, it limits the number of records to be returned in response. For ISync it specifies with how many records to extend sync Frame to the past, the maximum number of records is 250 1199 * @param "StatusGroup" (optional.Interface of []string) - Type of calls to be returned. The default value is 'All' 1200 */ 1201 1202 type SyncAccountCallLogOpts struct { 1203 SyncType optional.Interface 1204 SyncToken optional.String 1205 DateFrom optional.String 1206 RecordCount optional.Int32 1207 StatusGroup optional.Interface 1208 } 1209 1210 func (a *CallLogApiService) SyncAccountCallLog(ctx context.Context, accountId string, localVarOptionals *SyncAccountCallLogOpts) (*http.Response, error) { 1211 var ( 1212 localVarHttpMethod = strings.ToUpper("Get") 1213 localVarPostBody interface{} 1214 localVarFormFileName string 1215 localVarFileName string 1216 localVarFileBytes []byte 1217 ) 1218 1219 // create path and map variables 1220 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/call-log-sync" 1221 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1222 1223 localVarHeaderParams := make(map[string]string) 1224 localVarQueryParams := url.Values{} 1225 localVarFormParams := url.Values{} 1226 1227 if localVarOptionals != nil && localVarOptionals.SyncType.IsSet() { 1228 localVarQueryParams.Add("syncType", parameterToString(localVarOptionals.SyncType.Value(), "multi")) 1229 } 1230 if localVarOptionals != nil && localVarOptionals.SyncToken.IsSet() { 1231 localVarQueryParams.Add("syncToken", parameterToString(localVarOptionals.SyncToken.Value(), "")) 1232 } 1233 if localVarOptionals != nil && localVarOptionals.DateFrom.IsSet() { 1234 localVarQueryParams.Add("dateFrom", parameterToString(localVarOptionals.DateFrom.Value(), "")) 1235 } 1236 if localVarOptionals != nil && localVarOptionals.RecordCount.IsSet() { 1237 localVarQueryParams.Add("recordCount", parameterToString(localVarOptionals.RecordCount.Value(), "")) 1238 } 1239 if localVarOptionals != nil && localVarOptionals.StatusGroup.IsSet() { 1240 localVarQueryParams.Add("statusGroup", parameterToString(localVarOptionals.StatusGroup.Value(), "multi")) 1241 } 1242 // to determine the Content-Type header 1243 localVarHttpContentTypes := []string{} 1244 1245 // set Content-Type header 1246 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1247 if localVarHttpContentType != "" { 1248 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1249 } 1250 1251 // to determine the Accept header 1252 localVarHttpHeaderAccepts := []string{} 1253 1254 // set Accept header 1255 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1256 if localVarHttpHeaderAccept != "" { 1257 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1258 } 1259 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1260 if err != nil { 1261 return nil, err 1262 } 1263 1264 localVarHttpResponse, err := a.client.callAPI(r) 1265 if err != nil || localVarHttpResponse == nil { 1266 return localVarHttpResponse, err 1267 } 1268 1269 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1270 localVarHttpResponse.Body.Close() 1271 if err != nil { 1272 return localVarHttpResponse, err 1273 } 1274 1275 if localVarHttpResponse.StatusCode >= 300 { 1276 newErr := GenericOpenAPIError{ 1277 body: localVarBody, 1278 error: localVarHttpResponse.Status, 1279 } 1280 return localVarHttpResponse, newErr 1281 } 1282 1283 return localVarHttpResponse, nil 1284 } 1285 1286 /* 1287 CallLogApiService Call Log Synchronization 1288 <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'>ReadCallLog</td><td>Viewing user call logs</td></tr></tbody></table><h4>Usage Plan Group</h4><p>Heavy</p> 1289 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 1290 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 1291 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 1292 * @param optional nil or *SyncExtensionCallLogOpts - Optional Parameters: 1293 * @param "SyncType" (optional.Interface of []string) - Type of synchronization. 'FSync' is a default value 1294 * @param "SyncToken" (optional.String) - Value of syncToken property of last sync request response 1295 * @param "DateFrom" (optional.String) - The start datetime for resulting records in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is the current moment 1296 * @param "RecordCount" (optional.Int32) - ForT?FSync the parameter is mandatory, it limits the number of records to be returned in response. For ISync it specifies with how many records to extend sync Frame to the past, the maximum number of records is 250 1297 * @param "StatusGroup" (optional.Interface of []string) - Type of calls to be returned. The default value is 'All' 1298 @return CallLogSync 1299 */ 1300 1301 type SyncExtensionCallLogOpts struct { 1302 SyncType optional.Interface 1303 SyncToken optional.String 1304 DateFrom optional.String 1305 RecordCount optional.Int32 1306 StatusGroup optional.Interface 1307 } 1308 1309 func (a *CallLogApiService) SyncExtensionCallLog(ctx context.Context, accountId string, extensionId string, localVarOptionals *SyncExtensionCallLogOpts) (CallLogSync, *http.Response, error) { 1310 var ( 1311 localVarHttpMethod = strings.ToUpper("Get") 1312 localVarPostBody interface{} 1313 localVarFormFileName string 1314 localVarFileName string 1315 localVarFileBytes []byte 1316 localVarReturnValue CallLogSync 1317 ) 1318 1319 // create path and map variables 1320 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log-sync" 1321 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 1322 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 1323 1324 localVarHeaderParams := make(map[string]string) 1325 localVarQueryParams := url.Values{} 1326 localVarFormParams := url.Values{} 1327 1328 if localVarOptionals != nil && localVarOptionals.SyncType.IsSet() { 1329 localVarQueryParams.Add("syncType", parameterToString(localVarOptionals.SyncType.Value(), "multi")) 1330 } 1331 if localVarOptionals != nil && localVarOptionals.SyncToken.IsSet() { 1332 localVarQueryParams.Add("syncToken", parameterToString(localVarOptionals.SyncToken.Value(), "")) 1333 } 1334 if localVarOptionals != nil && localVarOptionals.DateFrom.IsSet() { 1335 localVarQueryParams.Add("dateFrom", parameterToString(localVarOptionals.DateFrom.Value(), "")) 1336 } 1337 if localVarOptionals != nil && localVarOptionals.RecordCount.IsSet() { 1338 localVarQueryParams.Add("recordCount", parameterToString(localVarOptionals.RecordCount.Value(), "")) 1339 } 1340 if localVarOptionals != nil && localVarOptionals.StatusGroup.IsSet() { 1341 localVarQueryParams.Add("statusGroup", parameterToString(localVarOptionals.StatusGroup.Value(), "multi")) 1342 } 1343 // to determine the Content-Type header 1344 localVarHttpContentTypes := []string{} 1345 1346 // set Content-Type header 1347 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 1348 if localVarHttpContentType != "" { 1349 localVarHeaderParams["Content-Type"] = localVarHttpContentType 1350 } 1351 1352 // to determine the Accept header 1353 localVarHttpHeaderAccepts := []string{"application/json"} 1354 1355 // set Accept header 1356 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 1357 if localVarHttpHeaderAccept != "" { 1358 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 1359 } 1360 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 1361 if err != nil { 1362 return localVarReturnValue, nil, err 1363 } 1364 1365 localVarHttpResponse, err := a.client.callAPI(r) 1366 if err != nil || localVarHttpResponse == nil { 1367 return localVarReturnValue, localVarHttpResponse, err 1368 } 1369 1370 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 1371 localVarHttpResponse.Body.Close() 1372 if err != nil { 1373 return localVarReturnValue, localVarHttpResponse, err 1374 } 1375 1376 if localVarHttpResponse.StatusCode >= 300 { 1377 newErr := GenericOpenAPIError{ 1378 body: localVarBody, 1379 error: localVarHttpResponse.Status, 1380 } 1381 if localVarHttpResponse.StatusCode == 0 { 1382 var v CallLogSync 1383 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1384 if err != nil { 1385 newErr.error = err.Error() 1386 return localVarReturnValue, localVarHttpResponse, newErr 1387 } 1388 newErr.model = v 1389 return localVarReturnValue, localVarHttpResponse, newErr 1390 } 1391 return localVarReturnValue, localVarHttpResponse, newErr 1392 } 1393 1394 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 1395 if err != nil { 1396 newErr := GenericOpenAPIError{ 1397 body: localVarBody, 1398 error: err.Error(), 1399 } 1400 return localVarReturnValue, localVarHttpResponse, newErr 1401 } 1402 1403 return localVarReturnValue, localVarHttpResponse, nil 1404 }