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  }