github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_reporting.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 ReportingApiService service 27 28 /* 29 ReportingApiService Get Reporting Settings 30 <p style='font-style:italic;'>Since 1.0.17 (Release 7.2)</p><p>Returns user-defined configuration of CFA (Customer Facing Analytics) reports.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>ReadAccounts</td><td>Viewing user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>API Group</h4><p>Light</p> 31 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 32 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 33 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 34 @return ReportingSettings 35 */ 36 func (a *ReportingApiService) LoadReportingSettings(ctx context.Context, accountId string, extensionId string) (ReportingSettings, *http.Response, error) { 37 var ( 38 localVarHttpMethod = strings.ToUpper("Get") 39 localVarPostBody interface{} 40 localVarFormFileName string 41 localVarFileName string 42 localVarFileBytes []byte 43 localVarReturnValue ReportingSettings 44 ) 45 46 // create path and map variables 47 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/reporting/settings" 48 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 49 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 50 51 localVarHeaderParams := make(map[string]string) 52 localVarQueryParams := url.Values{} 53 localVarFormParams := url.Values{} 54 55 // to determine the Content-Type header 56 localVarHttpContentTypes := []string{} 57 58 // set Content-Type header 59 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 60 if localVarHttpContentType != "" { 61 localVarHeaderParams["Content-Type"] = localVarHttpContentType 62 } 63 64 // to determine the Accept header 65 localVarHttpHeaderAccepts := []string{"application/json"} 66 67 // set Accept header 68 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 69 if localVarHttpHeaderAccept != "" { 70 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 71 } 72 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 73 if err != nil { 74 return localVarReturnValue, nil, err 75 } 76 77 localVarHttpResponse, err := a.client.callAPI(r) 78 if err != nil || localVarHttpResponse == nil { 79 return localVarReturnValue, localVarHttpResponse, err 80 } 81 82 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 83 localVarHttpResponse.Body.Close() 84 if err != nil { 85 return localVarReturnValue, localVarHttpResponse, err 86 } 87 88 if localVarHttpResponse.StatusCode >= 300 { 89 newErr := GenericOpenAPIError{ 90 body: localVarBody, 91 error: localVarHttpResponse.Status, 92 } 93 if localVarHttpResponse.StatusCode == 0 { 94 var v ReportingSettings 95 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 96 if err != nil { 97 newErr.error = err.Error() 98 return localVarReturnValue, localVarHttpResponse, newErr 99 } 100 newErr.model = v 101 return localVarReturnValue, localVarHttpResponse, newErr 102 } 103 return localVarReturnValue, localVarHttpResponse, newErr 104 } 105 106 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 107 if err != nil { 108 newErr := GenericOpenAPIError{ 109 body: localVarBody, 110 error: err.Error(), 111 } 112 return localVarReturnValue, localVarHttpResponse, newErr 113 } 114 115 return localVarReturnValue, localVarHttpResponse, nil 116 } 117 118 /* 119 ReportingApiService Update Reporting Settings 120 <p style='font-style:italic;'></p><p>Sets user-defined configuration of CFA (Customer Facing Analytics) reports.</p><h4>Required Permissions</h4><table class='fullwidth'><thead><tr><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td class='code'>EditAccounts</td><td>Viewing and updating user account info (including name, business name, address and phone number/account number)</td></tr></tbody></table><h4>API Group</h4><p>Light</p> 121 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 122 * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session 123 * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session 124 * @param setReportingSettingsRequest JSON body 125 @return ReportingSettings 126 */ 127 func (a *ReportingApiService) UpdateReportingSettings(ctx context.Context, accountId string, extensionId string, setReportingSettingsRequest SetReportingSettingsRequest) (ReportingSettings, *http.Response, error) { 128 var ( 129 localVarHttpMethod = strings.ToUpper("Put") 130 localVarPostBody interface{} 131 localVarFormFileName string 132 localVarFileName string 133 localVarFileBytes []byte 134 localVarReturnValue ReportingSettings 135 ) 136 137 // create path and map variables 138 localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/reporting/settings" 139 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 140 localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1) 141 142 localVarHeaderParams := make(map[string]string) 143 localVarQueryParams := url.Values{} 144 localVarFormParams := url.Values{} 145 146 // to determine the Content-Type header 147 localVarHttpContentTypes := []string{"application/json"} 148 149 // set Content-Type header 150 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 151 if localVarHttpContentType != "" { 152 localVarHeaderParams["Content-Type"] = localVarHttpContentType 153 } 154 155 // to determine the Accept header 156 localVarHttpHeaderAccepts := []string{"application/json"} 157 158 // set Accept header 159 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 160 if localVarHttpHeaderAccept != "" { 161 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 162 } 163 // body params 164 localVarPostBody = &setReportingSettingsRequest 165 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 166 if err != nil { 167 return localVarReturnValue, nil, err 168 } 169 170 localVarHttpResponse, err := a.client.callAPI(r) 171 if err != nil || localVarHttpResponse == nil { 172 return localVarReturnValue, localVarHttpResponse, err 173 } 174 175 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 176 localVarHttpResponse.Body.Close() 177 if err != nil { 178 return localVarReturnValue, localVarHttpResponse, err 179 } 180 181 if localVarHttpResponse.StatusCode >= 300 { 182 newErr := GenericOpenAPIError{ 183 body: localVarBody, 184 error: localVarHttpResponse.Status, 185 } 186 if localVarHttpResponse.StatusCode == 0 { 187 var v ReportingSettings 188 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 189 if err != nil { 190 newErr.error = err.Error() 191 return localVarReturnValue, localVarHttpResponse, newErr 192 } 193 newErr.model = v 194 return localVarReturnValue, localVarHttpResponse, newErr 195 } 196 return localVarReturnValue, localVarHttpResponse, newErr 197 } 198 199 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 200 if err != nil { 201 newErr := GenericOpenAPIError{ 202 body: localVarBody, 203 error: err.Error(), 204 } 205 return localVarReturnValue, localVarHttpResponse, newErr 206 } 207 208 return localVarReturnValue, localVarHttpResponse, nil 209 }