github.com/grokify/go-ringcentral-client@v0.3.31/engagevoice/v1/client/api_campaign_leads.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 CampaignLeadsApiService service 28 29 /* 30 CampaignLeadsApiService Get Lead States 31 Returns a listing of all lead states for an account Permissions: READ on Account 32 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 33 * @param accountId 34 @return []string 35 */ 36 func (a *CampaignLeadsApiService) GetLeadStates(ctx context.Context, accountId string) ([]string, *http.Response, error) { 37 var ( 38 localVarHttpMethod = http.MethodGet 39 localVarPostBody interface{} 40 localVarFormFileName string 41 localVarFileName string 42 localVarFileBytes []byte 43 localVarReturnValue []string 44 ) 45 46 // create path and map variables 47 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaignLeads/leadStates" 48 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 49 50 localVarHeaderParams := make(map[string]string) 51 localVarQueryParams := url.Values{} 52 localVarFormParams := url.Values{} 53 54 // to determine the Content-Type header 55 localVarHttpContentTypes := []string{} 56 57 // set Content-Type header 58 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 59 if localVarHttpContentType != "" { 60 localVarHeaderParams["Content-Type"] = localVarHttpContentType 61 } 62 63 // to determine the Accept header 64 localVarHttpHeaderAccepts := []string{"application/json"} 65 66 // set Accept header 67 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 68 if localVarHttpHeaderAccept != "" { 69 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 70 } 71 if ctx != nil { 72 // API Key Authentication 73 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 74 var key string 75 if auth.Prefix != "" { 76 key = auth.Prefix + " " + auth.Key 77 } else { 78 key = auth.Key 79 } 80 localVarHeaderParams["X-Auth-Token"] = key 81 } 82 } 83 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 84 if err != nil { 85 return localVarReturnValue, nil, err 86 } 87 88 localVarHttpResponse, err := a.client.callAPI(r) 89 if err != nil || localVarHttpResponse == nil { 90 return localVarReturnValue, localVarHttpResponse, err 91 } 92 93 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 94 localVarHttpResponse.Body.Close() 95 if err != nil { 96 return localVarReturnValue, localVarHttpResponse, err 97 } 98 99 if localVarHttpResponse.StatusCode >= 300 { 100 newErr := GenericOpenAPIError{ 101 body: localVarBody, 102 error: localVarHttpResponse.Status, 103 } 104 if localVarHttpResponse.StatusCode == 200 { 105 var v []string 106 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 107 if err != nil { 108 newErr.error = err.Error() 109 return localVarReturnValue, localVarHttpResponse, newErr 110 } 111 newErr.model = v 112 return localVarReturnValue, localVarHttpResponse, newErr 113 } 114 return localVarReturnValue, localVarHttpResponse, newErr 115 } 116 117 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 118 if err != nil { 119 newErr := GenericOpenAPIError{ 120 body: localVarBody, 121 error: err.Error(), 122 } 123 return localVarReturnValue, localVarHttpResponse, newErr 124 } 125 126 return localVarReturnValue, localVarHttpResponse, nil 127 } 128 129 /* 130 CampaignLeadsApiService Get Systems Dispositions 131 Returns a listing of all system dispositions for an account Permissions: READ on Account 132 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 133 * @param accountId 134 @return []string 135 */ 136 func (a *CampaignLeadsApiService) GetSystemDispositions(ctx context.Context, accountId string) ([]string, *http.Response, error) { 137 var ( 138 localVarHttpMethod = http.MethodGet 139 localVarPostBody interface{} 140 localVarFormFileName string 141 localVarFileName string 142 localVarFileBytes []byte 143 localVarReturnValue []string 144 ) 145 146 // create path and map variables 147 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaignLeads/systemDispositions" 148 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 149 150 localVarHeaderParams := make(map[string]string) 151 localVarQueryParams := url.Values{} 152 localVarFormParams := url.Values{} 153 154 // to determine the Content-Type header 155 localVarHttpContentTypes := []string{} 156 157 // set Content-Type header 158 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 159 if localVarHttpContentType != "" { 160 localVarHeaderParams["Content-Type"] = localVarHttpContentType 161 } 162 163 // to determine the Accept header 164 localVarHttpHeaderAccepts := []string{"application/json"} 165 166 // set Accept header 167 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 168 if localVarHttpHeaderAccept != "" { 169 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 170 } 171 if ctx != nil { 172 // API Key Authentication 173 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 174 var key string 175 if auth.Prefix != "" { 176 key = auth.Prefix + " " + auth.Key 177 } else { 178 key = auth.Key 179 } 180 localVarHeaderParams["X-Auth-Token"] = key 181 } 182 } 183 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 184 if err != nil { 185 return localVarReturnValue, nil, err 186 } 187 188 localVarHttpResponse, err := a.client.callAPI(r) 189 if err != nil || localVarHttpResponse == nil { 190 return localVarReturnValue, localVarHttpResponse, err 191 } 192 193 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 194 localVarHttpResponse.Body.Close() 195 if err != nil { 196 return localVarReturnValue, localVarHttpResponse, err 197 } 198 199 if localVarHttpResponse.StatusCode >= 300 { 200 newErr := GenericOpenAPIError{ 201 body: localVarBody, 202 error: localVarHttpResponse.Status, 203 } 204 if localVarHttpResponse.StatusCode == 200 { 205 var v []string 206 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 207 if err != nil { 208 newErr.error = err.Error() 209 return localVarReturnValue, localVarHttpResponse, newErr 210 } 211 newErr.model = v 212 return localVarReturnValue, localVarHttpResponse, newErr 213 } 214 return localVarReturnValue, localVarHttpResponse, newErr 215 } 216 217 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 218 if err != nil { 219 newErr := GenericOpenAPIError{ 220 body: localVarBody, 221 error: err.Error(), 222 } 223 return localVarReturnValue, localVarHttpResponse, newErr 224 } 225 226 return localVarReturnValue, localVarHttpResponse, nil 227 } 228 229 /* 230 CampaignLeadsApiService Search Leads 231 Allows searching of campaign leads for a single campaign Permissions: READ on Account (Permission Override) 232 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 233 * @param accountId 234 * @param campaignLeadSearchCriteria 235 * @param optional nil or *SearchLeadsOpts - Optional Parameters: 236 * @param "Count" (optional.Int32) - 237 * @param "Page" (optional.Int32) - 238 * @param "MaxRows" (optional.Int32) - 239 @return []CampaignLeadSearchResultsView 240 */ 241 242 type SearchLeadsOpts struct { 243 Count optional.Int32 244 Page optional.Int32 245 MaxRows optional.Int32 246 } 247 248 func (a *CampaignLeadsApiService) SearchLeads(ctx context.Context, accountId string, campaignLeadSearchCriteria CampaignLeadSearchCriteria, localVarOptionals *SearchLeadsOpts) ([]CampaignLeadSearchResultsView, *http.Response, error) { 249 var ( 250 localVarHttpMethod = http.MethodPost 251 localVarPostBody interface{} 252 localVarFormFileName string 253 localVarFileName string 254 localVarFileBytes []byte 255 localVarReturnValue []CampaignLeadSearchResultsView 256 ) 257 258 // create path and map variables 259 localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/campaignLeads/leadSearch" 260 localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1) 261 262 localVarHeaderParams := make(map[string]string) 263 localVarQueryParams := url.Values{} 264 localVarFormParams := url.Values{} 265 266 if localVarOptionals != nil && localVarOptionals.Count.IsSet() { 267 localVarQueryParams.Add("count", parameterToString(localVarOptionals.Count.Value(), "")) 268 } 269 if localVarOptionals != nil && localVarOptionals.Page.IsSet() { 270 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), "")) 271 } 272 if localVarOptionals != nil && localVarOptionals.MaxRows.IsSet() { 273 localVarQueryParams.Add("maxRows", parameterToString(localVarOptionals.MaxRows.Value(), "")) 274 } 275 // to determine the Content-Type header 276 localVarHttpContentTypes := []string{"application/json"} 277 278 // set Content-Type header 279 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 280 if localVarHttpContentType != "" { 281 localVarHeaderParams["Content-Type"] = localVarHttpContentType 282 } 283 284 // to determine the Accept header 285 localVarHttpHeaderAccepts := []string{"application/json"} 286 287 // set Accept header 288 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 289 if localVarHttpHeaderAccept != "" { 290 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 291 } 292 // body params 293 localVarPostBody = &campaignLeadSearchCriteria 294 if ctx != nil { 295 // API Key Authentication 296 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 297 var key string 298 if auth.Prefix != "" { 299 key = auth.Prefix + " " + auth.Key 300 } else { 301 key = auth.Key 302 } 303 localVarHeaderParams["X-Auth-Token"] = key 304 } 305 } 306 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 307 if err != nil { 308 return localVarReturnValue, nil, err 309 } 310 311 localVarHttpResponse, err := a.client.callAPI(r) 312 if err != nil || localVarHttpResponse == nil { 313 return localVarReturnValue, localVarHttpResponse, err 314 } 315 316 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 317 localVarHttpResponse.Body.Close() 318 if err != nil { 319 return localVarReturnValue, localVarHttpResponse, err 320 } 321 322 if localVarHttpResponse.StatusCode >= 300 { 323 newErr := GenericOpenAPIError{ 324 body: localVarBody, 325 error: localVarHttpResponse.Status, 326 } 327 if localVarHttpResponse.StatusCode == 200 { 328 var v []CampaignLeadSearchResultsView 329 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 330 if err != nil { 331 newErr.error = err.Error() 332 return localVarReturnValue, localVarHttpResponse, newErr 333 } 334 newErr.model = v 335 return localVarReturnValue, localVarHttpResponse, newErr 336 } 337 return localVarReturnValue, localVarHttpResponse, newErr 338 } 339 340 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 341 if err != nil { 342 newErr := GenericOpenAPIError{ 343 body: localVarBody, 344 error: err.Error(), 345 } 346 return localVarReturnValue, localVarHttpResponse, newErr 347 } 348 349 return localVarReturnValue, localVarHttpResponse, nil 350 }