github.com/grokify/go-ringcentral-client@v0.3.31/engagevoice/v1/client/api_campaigns.go (about) 1 /* 2 * RingCentral Engage Voice API 3 * 4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package engagevoice 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 CampaignsApiService service 28 29 /* 30 CampaignsApiService Patch Campaign Lead 31 Allows updating of a campaign lead, only updating those fields passed in Permissions: READ on Account (Permission Override), UPDATE on Campaign 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param accountId 34 * @param leadId 35 * @param campaignId 36 * @param campaignLead 37 * @param optional nil or *PatchCampaignLeadOpts - Optional Parameters: 38 * @param "ListId" (optional.Int32) - 39 * @param "TimezoneOption" (optional.String) - 40 * @param "DuplicateHandling" (optional.String) - `RETAIN_ALL`: Retain all records, `REMOVE_ALL_EXISTING`: Remove duplicates from all existing lists, `REMOVE_FROM_LIST`: Remove duplicates from this list 41 @return CampaignLead 42 */ 43 44 type PatchCampaignLeadOpts struct { 45 ListId optional.Int32 46 TimezoneOption optional.String 47 DuplicateHandling optional.String 48 } 49 50 func (a *CampaignsApiService) PatchCampaignLead(ctx context.Context, accountId string, leadId int32, campaignId int32, campaignLead CampaignLead, localVarOptionals *PatchCampaignLeadOpts) (CampaignLead, *http.Response, error) { 51 var ( 52 localVarHttpMethod = http.MethodPatch 53 localVarPostBody interface{} 54 localVarFormFileName string 55 localVarFileName string 56 localVarFileBytes []byte 57 localVarReturnValue CampaignLead 58 ) 59 60 // create path and map variables 61 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaignLeads/{leadId}" 62 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 63 localVarPath = strings.Replace(localVarPath, "{"+"leadId"+"}", fmt.Sprintf("%v", leadId), -1) 64 65 localVarHeaderParams := make(map[string]string) 66 localVarQueryParams := url.Values{} 67 localVarFormParams := url.Values{} 68 69 localVarQueryParams.Add("campaignId", parameterToString(campaignId, "")) 70 if localVarOptionals != nil && localVarOptionals.ListId.IsSet() { 71 localVarQueryParams.Add("listId", parameterToString(localVarOptionals.ListId.Value(), "")) 72 } 73 if localVarOptionals != nil && localVarOptionals.TimezoneOption.IsSet() { 74 localVarQueryParams.Add("timezoneOption", parameterToString(localVarOptionals.TimezoneOption.Value(), "")) 75 } 76 if localVarOptionals != nil && localVarOptionals.DuplicateHandling.IsSet() { 77 localVarQueryParams.Add("duplicateHandling", parameterToString(localVarOptionals.DuplicateHandling.Value(), "")) 78 } 79 // to determine the Content-Type header 80 localVarHttpContentTypes := []string{"application/json"} 81 82 // set Content-Type header 83 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 84 if localVarHttpContentType != "" { 85 localVarHeaderParams["Content-Type"] = localVarHttpContentType 86 } 87 88 // to determine the Accept header 89 localVarHttpHeaderAccepts := []string{"application/json"} 90 91 // set Accept header 92 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 93 if localVarHttpHeaderAccept != "" { 94 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 95 } 96 // body params 97 localVarPostBody = &campaignLead 98 if ctx != nil { 99 // API Key Authentication 100 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 101 var key string 102 if auth.Prefix != "" { 103 key = auth.Prefix + " " + auth.Key 104 } else { 105 key = auth.Key 106 } 107 localVarHeaderParams["X-Auth-Token"] = key 108 } 109 } 110 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 111 if err != nil { 112 return localVarReturnValue, nil, err 113 } 114 115 localVarHttpResponse, err := a.client.callAPI(r) 116 if err != nil || localVarHttpResponse == nil { 117 return localVarReturnValue, localVarHttpResponse, err 118 } 119 120 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 121 localVarHttpResponse.Body.Close() 122 if err != nil { 123 return localVarReturnValue, localVarHttpResponse, err 124 } 125 126 if localVarHttpResponse.StatusCode >= 300 { 127 newErr := GenericOpenAPIError{ 128 body: localVarBody, 129 error: localVarHttpResponse.Status, 130 } 131 if localVarHttpResponse.StatusCode == 200 { 132 var v CampaignLead 133 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 134 if err != nil { 135 newErr.error = err.Error() 136 return localVarReturnValue, localVarHttpResponse, newErr 137 } 138 newErr.model = v 139 return localVarReturnValue, localVarHttpResponse, newErr 140 } 141 return localVarReturnValue, localVarHttpResponse, newErr 142 } 143 144 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 145 if err != nil { 146 newErr := GenericOpenAPIError{ 147 body: localVarBody, 148 error: err.Error(), 149 } 150 return localVarReturnValue, localVarHttpResponse, newErr 151 } 152 153 return localVarReturnValue, localVarHttpResponse, nil 154 } 155 156 /* 157 CampaignsApiService Update Campaign Lead 158 Allows updating of a campaign lead, updating entire lead including fields not passed in. Permissions: READ on Account (Permission Override), UPDATE on Campaign 159 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 160 * @param accountId 161 * @param leadId 162 * @param campaignId 163 * @param campaignLead 164 * @param optional nil or *UpdateCampaignLeadOpts - Optional Parameters: 165 * @param "ListId" (optional.Int32) - 166 * @param "TimezoneOption" (optional.String) - 167 * @param "DuplicateHandling" (optional.String) - `RETAIN_ALL`: Retain all records, `REMOVE_ALL_EXISTING`: Remove duplicates from all existing lists, `REMOVE_FROM_LIST`: Remove duplicates from this list 168 @return CampaignLead 169 */ 170 171 type UpdateCampaignLeadOpts struct { 172 ListId optional.Int32 173 TimezoneOption optional.String 174 DuplicateHandling optional.String 175 } 176 177 func (a *CampaignsApiService) UpdateCampaignLead(ctx context.Context, accountId string, leadId int32, campaignId int32, campaignLead CampaignLead, localVarOptionals *UpdateCampaignLeadOpts) (CampaignLead, *http.Response, error) { 178 var ( 179 localVarHttpMethod = http.MethodPut 180 localVarPostBody interface{} 181 localVarFormFileName string 182 localVarFileName string 183 localVarFileBytes []byte 184 localVarReturnValue CampaignLead 185 ) 186 187 // create path and map variables 188 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaignLeads/{leadId}" 189 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 190 localVarPath = strings.Replace(localVarPath, "{"+"leadId"+"}", fmt.Sprintf("%v", leadId), -1) 191 192 localVarHeaderParams := make(map[string]string) 193 localVarQueryParams := url.Values{} 194 localVarFormParams := url.Values{} 195 196 localVarQueryParams.Add("campaignId", parameterToString(campaignId, "")) 197 if localVarOptionals != nil && localVarOptionals.ListId.IsSet() { 198 localVarQueryParams.Add("listId", parameterToString(localVarOptionals.ListId.Value(), "")) 199 } 200 if localVarOptionals != nil && localVarOptionals.TimezoneOption.IsSet() { 201 localVarQueryParams.Add("timezoneOption", parameterToString(localVarOptionals.TimezoneOption.Value(), "")) 202 } 203 if localVarOptionals != nil && localVarOptionals.DuplicateHandling.IsSet() { 204 localVarQueryParams.Add("duplicateHandling", parameterToString(localVarOptionals.DuplicateHandling.Value(), "")) 205 } 206 // to determine the Content-Type header 207 localVarHttpContentTypes := []string{"application/json"} 208 209 // set Content-Type header 210 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 211 if localVarHttpContentType != "" { 212 localVarHeaderParams["Content-Type"] = localVarHttpContentType 213 } 214 215 // to determine the Accept header 216 localVarHttpHeaderAccepts := []string{"application/json"} 217 218 // set Accept header 219 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 220 if localVarHttpHeaderAccept != "" { 221 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 222 } 223 // body params 224 localVarPostBody = &campaignLead 225 if ctx != nil { 226 // API Key Authentication 227 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 228 var key string 229 if auth.Prefix != "" { 230 key = auth.Prefix + " " + auth.Key 231 } else { 232 key = auth.Key 233 } 234 localVarHeaderParams["X-Auth-Token"] = key 235 } 236 } 237 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 238 if err != nil { 239 return localVarReturnValue, nil, err 240 } 241 242 localVarHttpResponse, err := a.client.callAPI(r) 243 if err != nil || localVarHttpResponse == nil { 244 return localVarReturnValue, localVarHttpResponse, err 245 } 246 247 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 248 localVarHttpResponse.Body.Close() 249 if err != nil { 250 return localVarReturnValue, localVarHttpResponse, err 251 } 252 253 if localVarHttpResponse.StatusCode >= 300 { 254 newErr := GenericOpenAPIError{ 255 body: localVarBody, 256 error: localVarHttpResponse.Status, 257 } 258 if localVarHttpResponse.StatusCode == 200 { 259 var v CampaignLead 260 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 261 if err != nil { 262 newErr.error = err.Error() 263 return localVarReturnValue, localVarHttpResponse, newErr 264 } 265 newErr.model = v 266 return localVarReturnValue, localVarHttpResponse, newErr 267 } 268 return localVarReturnValue, localVarHttpResponse, newErr 269 } 270 271 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 272 if err != nil { 273 newErr := GenericOpenAPIError{ 274 body: localVarBody, 275 error: err.Error(), 276 } 277 return localVarReturnValue, localVarHttpResponse, newErr 278 } 279 280 return localVarReturnValue, localVarHttpResponse, nil 281 } 282 283 /* 284 CampaignsApiService Upload Leads 285 Uploads a single lead or list of leads to a new or existing list 286 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 287 * @param accountId 288 * @param campaignId 289 * @param uploadLeadsRequest 290 @return UploadLeadsResponse 291 */ 292 func (a *CampaignsApiService) UploadLeads(ctx context.Context, accountId string, campaignId string, uploadLeadsRequest UploadLeadsRequest) (UploadLeadsResponse, *http.Response, error) { 293 var ( 294 localVarHttpMethod = http.MethodPost 295 localVarPostBody interface{} 296 localVarFormFileName string 297 localVarFileName string 298 localVarFileBytes []byte 299 localVarReturnValue UploadLeadsResponse 300 ) 301 302 // create path and map variables 303 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaigns/{campaignId}/leadLoader/direct" 304 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 305 localVarPath = strings.Replace(localVarPath, "{"+"campaignId"+"}", fmt.Sprintf("%v", campaignId), -1) 306 307 localVarHeaderParams := make(map[string]string) 308 localVarQueryParams := url.Values{} 309 localVarFormParams := url.Values{} 310 311 // to determine the Content-Type header 312 localVarHttpContentTypes := []string{"application/json"} 313 314 // set Content-Type header 315 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 316 if localVarHttpContentType != "" { 317 localVarHeaderParams["Content-Type"] = localVarHttpContentType 318 } 319 320 // to determine the Accept header 321 localVarHttpHeaderAccepts := []string{"application/json"} 322 323 // set Accept header 324 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 325 if localVarHttpHeaderAccept != "" { 326 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 327 } 328 // body params 329 localVarPostBody = &uploadLeadsRequest 330 if ctx != nil { 331 // API Key Authentication 332 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 333 var key string 334 if auth.Prefix != "" { 335 key = auth.Prefix + " " + auth.Key 336 } else { 337 key = auth.Key 338 } 339 localVarHeaderParams["X-Auth-Token"] = key 340 } 341 } 342 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 343 if err != nil { 344 return localVarReturnValue, nil, err 345 } 346 347 localVarHttpResponse, err := a.client.callAPI(r) 348 if err != nil || localVarHttpResponse == nil { 349 return localVarReturnValue, localVarHttpResponse, err 350 } 351 352 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 353 localVarHttpResponse.Body.Close() 354 if err != nil { 355 return localVarReturnValue, localVarHttpResponse, err 356 } 357 358 if localVarHttpResponse.StatusCode >= 300 { 359 newErr := GenericOpenAPIError{ 360 body: localVarBody, 361 error: localVarHttpResponse.Status, 362 } 363 if localVarHttpResponse.StatusCode == 200 { 364 var v UploadLeadsResponse 365 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 366 if err != nil { 367 newErr.error = err.Error() 368 return localVarReturnValue, localVarHttpResponse, newErr 369 } 370 newErr.model = v 371 return localVarReturnValue, localVarHttpResponse, newErr 372 } 373 return localVarReturnValue, localVarHttpResponse, newErr 374 } 375 376 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 377 if err != nil { 378 newErr := GenericOpenAPIError{ 379 body: localVarBody, 380 error: err.Error(), 381 } 382 return localVarReturnValue, localVarHttpResponse, newErr 383 } 384 385 return localVarReturnValue, localVarHttpResponse, nil 386 }