github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_webhooks.go (about)

     1  /*
     2   * Engage Digital 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 engagedigital
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"reflect"
    19  	"strings"
    20  
    21  	"github.com/antihax/optional"
    22  )
    23  
    24  // Linger please
    25  var (
    26  	_ context.Context
    27  )
    28  
    29  type WebhooksApiService service
    30  
    31  /*
    32  WebhooksApiService Creating a webhook
    33  This method creates a webhook. In case of success it renders the webhook, otherwise, it renders an error (422 HTTP code).  Authorization​: All users having the manage_api_access_tokens permission or all users having an api access token.
    34   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    35   * @param accessToken Access token.
    36   * @param label The label of the webhook.
    37   * @param url The url of a webhook. This is used to determine the endpoint of your webhook, where
    38   * @param registeredEvents An array containing all the events that your webhook wants to subscribe.
    39   * @param optional nil or *CreateWebhookOpts - Optional Parameters:
    40   * @param "Active" (optional.Bool) -  true or false, this field is used to enable/disable a webhook.
    41   * @param "StagingUse" (optional.Bool) -  true or false, this field is used to determine if a webhook will be run in staging
    42   * @param "VerifyToken" (optional.String) -  The token used in your webhook.
    43   * @param "Secret" (optional.String) -  The secret key that will be served as a ​`X-Dimelo-Secret​` header in every request.
    44  @return Webhook
    45  */
    46  
    47  type CreateWebhookOpts struct {
    48  	Active      optional.Bool
    49  	StagingUse  optional.Bool
    50  	VerifyToken optional.String
    51  	Secret      optional.String
    52  }
    53  
    54  func (a *WebhooksApiService) CreateWebhook(ctx context.Context, accessToken string, label string, url_ string, registeredEvents []string, localVarOptionals *CreateWebhookOpts) (Webhook, *http.Response, error) {
    55  	var (
    56  		localVarHttpMethod   = http.MethodPost
    57  		localVarPostBody     interface{}
    58  		localVarFormFileName string
    59  		localVarFileName     string
    60  		localVarFileBytes    []byte
    61  		localVarReturnValue  Webhook
    62  	)
    63  
    64  	// create path and map variables
    65  	localVarPath := a.client.cfg.BasePath + "/webhooks"
    66  
    67  	localVarHeaderParams := make(map[string]string)
    68  	localVarQueryParams := url.Values{}
    69  	localVarFormParams := url.Values{}
    70  
    71  	localVarQueryParams.Add("access_token", parameterToString(accessToken, ""))
    72  	if localVarOptionals != nil && localVarOptionals.Active.IsSet() {
    73  		localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), ""))
    74  	}
    75  	localVarQueryParams.Add("label", parameterToString(label, ""))
    76  	if localVarOptionals != nil && localVarOptionals.StagingUse.IsSet() {
    77  		localVarQueryParams.Add("staging_use", parameterToString(localVarOptionals.StagingUse.Value(), ""))
    78  	}
    79  	localVarQueryParams.Add("url", parameterToString(url_, ""))
    80  	if localVarOptionals != nil && localVarOptionals.VerifyToken.IsSet() {
    81  		localVarQueryParams.Add("verify_token", parameterToString(localVarOptionals.VerifyToken.Value(), ""))
    82  	}
    83  	if localVarOptionals != nil && localVarOptionals.Secret.IsSet() {
    84  		localVarQueryParams.Add("secret", parameterToString(localVarOptionals.Secret.Value(), ""))
    85  	}
    86  	t := registeredEvents
    87  	if reflect.TypeOf(t).Kind() == reflect.Slice {
    88  		s := reflect.ValueOf(t)
    89  		for i := 0; i < s.Len(); i++ {
    90  			localVarQueryParams.Add("registered_events[]", parameterToString(s.Index(i), "multi"))
    91  		}
    92  	} else {
    93  		localVarQueryParams.Add("registered_events[]", parameterToString(t, "multi"))
    94  	}
    95  	// to determine the Content-Type header
    96  	localVarHttpContentTypes := []string{}
    97  
    98  	// set Content-Type header
    99  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   100  	if localVarHttpContentType != "" {
   101  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   102  	}
   103  
   104  	// to determine the Accept header
   105  	localVarHttpHeaderAccepts := []string{"application/json"}
   106  
   107  	// set Accept header
   108  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   109  	if localVarHttpHeaderAccept != "" {
   110  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   111  	}
   112  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   113  	if err != nil {
   114  		return localVarReturnValue, nil, err
   115  	}
   116  
   117  	localVarHttpResponse, err := a.client.callAPI(r)
   118  	if err != nil || localVarHttpResponse == nil {
   119  		return localVarReturnValue, localVarHttpResponse, err
   120  	}
   121  
   122  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   123  	localVarHttpResponse.Body.Close()
   124  	if err != nil {
   125  		return localVarReturnValue, localVarHttpResponse, err
   126  	}
   127  
   128  	if localVarHttpResponse.StatusCode >= 300 {
   129  		newErr := GenericOpenAPIError{
   130  			body:  localVarBody,
   131  			error: localVarHttpResponse.Status,
   132  		}
   133  		if localVarHttpResponse.StatusCode == 200 {
   134  			var v Webhook
   135  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   136  			if err != nil {
   137  				newErr.error = err.Error()
   138  				return localVarReturnValue, localVarHttpResponse, newErr
   139  			}
   140  			newErr.model = v
   141  			return localVarReturnValue, localVarHttpResponse, newErr
   142  		}
   143  		return localVarReturnValue, localVarHttpResponse, newErr
   144  	}
   145  
   146  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   147  	if err != nil {
   148  		newErr := GenericOpenAPIError{
   149  			body:  localVarBody,
   150  			error: err.Error(),
   151  		}
   152  		return localVarReturnValue, localVarHttpResponse, newErr
   153  	}
   154  
   155  	return localVarReturnValue, localVarHttpResponse, nil
   156  }
   157  
   158  /*
   159  WebhooksApiService Deleting a webhook
   160  This method destroys an existing webhook. It renders webhook itself. It renders a 404 if id is invalid.  Authorization​: All users having the manage_api_access_tokens permission or all users having an api access token belonging to the webhook you’re deleting.
   161   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   162   * @param webhookId
   163   * @param accessToken Access token.
   164  @return Webhook
   165  */
   166  func (a *WebhooksApiService) DeleteWebhook(ctx context.Context, webhookId string, accessToken string) (Webhook, *http.Response, error) {
   167  	var (
   168  		localVarHttpMethod   = http.MethodDelete
   169  		localVarPostBody     interface{}
   170  		localVarFormFileName string
   171  		localVarFileName     string
   172  		localVarFileBytes    []byte
   173  		localVarReturnValue  Webhook
   174  	)
   175  
   176  	// create path and map variables
   177  	localVarPath := a.client.cfg.BasePath + "/webhooks/{webhookId}"
   178  	localVarPath = strings.Replace(localVarPath, "{"+"webhookId"+"}", fmt.Sprintf("%v", webhookId), -1)
   179  
   180  	localVarHeaderParams := make(map[string]string)
   181  	localVarQueryParams := url.Values{}
   182  	localVarFormParams := url.Values{}
   183  
   184  	localVarQueryParams.Add("access_token", parameterToString(accessToken, ""))
   185  	// to determine the Content-Type header
   186  	localVarHttpContentTypes := []string{}
   187  
   188  	// set Content-Type header
   189  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   190  	if localVarHttpContentType != "" {
   191  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   192  	}
   193  
   194  	// to determine the Accept header
   195  	localVarHttpHeaderAccepts := []string{"application/json"}
   196  
   197  	// set Accept header
   198  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   199  	if localVarHttpHeaderAccept != "" {
   200  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   201  	}
   202  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   203  	if err != nil {
   204  		return localVarReturnValue, nil, err
   205  	}
   206  
   207  	localVarHttpResponse, err := a.client.callAPI(r)
   208  	if err != nil || localVarHttpResponse == nil {
   209  		return localVarReturnValue, localVarHttpResponse, err
   210  	}
   211  
   212  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   213  	localVarHttpResponse.Body.Close()
   214  	if err != nil {
   215  		return localVarReturnValue, localVarHttpResponse, err
   216  	}
   217  
   218  	if localVarHttpResponse.StatusCode >= 300 {
   219  		newErr := GenericOpenAPIError{
   220  			body:  localVarBody,
   221  			error: localVarHttpResponse.Status,
   222  		}
   223  		if localVarHttpResponse.StatusCode == 200 {
   224  			var v Webhook
   225  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   226  			if err != nil {
   227  				newErr.error = err.Error()
   228  				return localVarReturnValue, localVarHttpResponse, newErr
   229  			}
   230  			newErr.model = v
   231  			return localVarReturnValue, localVarHttpResponse, newErr
   232  		}
   233  		return localVarReturnValue, localVarHttpResponse, newErr
   234  	}
   235  
   236  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   237  	if err != nil {
   238  		newErr := GenericOpenAPIError{
   239  			body:  localVarBody,
   240  			error: err.Error(),
   241  		}
   242  		return localVarReturnValue, localVarHttpResponse, newErr
   243  	}
   244  
   245  	return localVarReturnValue, localVarHttpResponse, nil
   246  }
   247  
   248  /*
   249  WebhooksApiService Getting all webhooks
   250  This method renders webhooks ordered by active and staging_use (descending).  Authorization​: users having manage_api_access_tokens permission can see all webhooks / users don’t having the manage_api_access_tokens permission can see only the webhooks belonging to access token created by them.
   251   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   252   * @param accessToken Access token.
   253   * @param optional nil or *GetAllWebhooksOpts - Optional Parameters:
   254   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
   255   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
   256  @return GetAllWebhooksResponse
   257  */
   258  
   259  type GetAllWebhooksOpts struct {
   260  	Offset optional.Int32
   261  	Limit  optional.Int32
   262  }
   263  
   264  func (a *WebhooksApiService) GetAllWebhooks(ctx context.Context, accessToken string, localVarOptionals *GetAllWebhooksOpts) (GetAllWebhooksResponse, *http.Response, error) {
   265  	var (
   266  		localVarHttpMethod   = http.MethodGet
   267  		localVarPostBody     interface{}
   268  		localVarFormFileName string
   269  		localVarFileName     string
   270  		localVarFileBytes    []byte
   271  		localVarReturnValue  GetAllWebhooksResponse
   272  	)
   273  
   274  	// create path and map variables
   275  	localVarPath := a.client.cfg.BasePath + "/webhooks"
   276  
   277  	localVarHeaderParams := make(map[string]string)
   278  	localVarQueryParams := url.Values{}
   279  	localVarFormParams := url.Values{}
   280  
   281  	localVarQueryParams.Add("access_token", parameterToString(accessToken, ""))
   282  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
   283  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
   284  	}
   285  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   286  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   287  	}
   288  	// to determine the Content-Type header
   289  	localVarHttpContentTypes := []string{}
   290  
   291  	// set Content-Type header
   292  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   293  	if localVarHttpContentType != "" {
   294  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   295  	}
   296  
   297  	// to determine the Accept header
   298  	localVarHttpHeaderAccepts := []string{"application/json"}
   299  
   300  	// set Accept header
   301  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   302  	if localVarHttpHeaderAccept != "" {
   303  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   304  	}
   305  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   306  	if err != nil {
   307  		return localVarReturnValue, nil, err
   308  	}
   309  
   310  	localVarHttpResponse, err := a.client.callAPI(r)
   311  	if err != nil || localVarHttpResponse == nil {
   312  		return localVarReturnValue, localVarHttpResponse, err
   313  	}
   314  
   315  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   316  	localVarHttpResponse.Body.Close()
   317  	if err != nil {
   318  		return localVarReturnValue, localVarHttpResponse, err
   319  	}
   320  
   321  	if localVarHttpResponse.StatusCode >= 300 {
   322  		newErr := GenericOpenAPIError{
   323  			body:  localVarBody,
   324  			error: localVarHttpResponse.Status,
   325  		}
   326  		if localVarHttpResponse.StatusCode == 200 {
   327  			var v GetAllWebhooksResponse
   328  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   329  			if err != nil {
   330  				newErr.error = err.Error()
   331  				return localVarReturnValue, localVarHttpResponse, newErr
   332  			}
   333  			newErr.model = v
   334  			return localVarReturnValue, localVarHttpResponse, newErr
   335  		}
   336  		return localVarReturnValue, localVarHttpResponse, newErr
   337  	}
   338  
   339  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   340  	if err != nil {
   341  		newErr := GenericOpenAPIError{
   342  			body:  localVarBody,
   343  			error: err.Error(),
   344  		}
   345  		return localVarReturnValue, localVarHttpResponse, newErr
   346  	}
   347  
   348  	return localVarReturnValue, localVarHttpResponse, nil
   349  }
   350  
   351  /*
   352  WebhooksApiService Getting a webhook from its id
   353  This method renders a webhook from given id.  Authorization​: users having manage_api_access_tokens permission can see any webhook / users don’t having the &#x60;manage_api_access_tokens&#x60; permission can see only the webhook in case the webhook is associated to an access token created by them.
   354   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   355   * @param webhookId
   356   * @param accessToken Access token.
   357  @return Webhook
   358  */
   359  func (a *WebhooksApiService) GetWebhook(ctx context.Context, webhookId string, accessToken string) (Webhook, *http.Response, error) {
   360  	var (
   361  		localVarHttpMethod   = http.MethodGet
   362  		localVarPostBody     interface{}
   363  		localVarFormFileName string
   364  		localVarFileName     string
   365  		localVarFileBytes    []byte
   366  		localVarReturnValue  Webhook
   367  	)
   368  
   369  	// create path and map variables
   370  	localVarPath := a.client.cfg.BasePath + "/webhooks/{webhookId}"
   371  	localVarPath = strings.Replace(localVarPath, "{"+"webhookId"+"}", fmt.Sprintf("%v", webhookId), -1)
   372  
   373  	localVarHeaderParams := make(map[string]string)
   374  	localVarQueryParams := url.Values{}
   375  	localVarFormParams := url.Values{}
   376  
   377  	localVarQueryParams.Add("access_token", parameterToString(accessToken, ""))
   378  	// to determine the Content-Type header
   379  	localVarHttpContentTypes := []string{}
   380  
   381  	// set Content-Type header
   382  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   383  	if localVarHttpContentType != "" {
   384  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   385  	}
   386  
   387  	// to determine the Accept header
   388  	localVarHttpHeaderAccepts := []string{"application/json"}
   389  
   390  	// set Accept header
   391  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   392  	if localVarHttpHeaderAccept != "" {
   393  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   394  	}
   395  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   396  	if err != nil {
   397  		return localVarReturnValue, nil, err
   398  	}
   399  
   400  	localVarHttpResponse, err := a.client.callAPI(r)
   401  	if err != nil || localVarHttpResponse == nil {
   402  		return localVarReturnValue, localVarHttpResponse, err
   403  	}
   404  
   405  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   406  	localVarHttpResponse.Body.Close()
   407  	if err != nil {
   408  		return localVarReturnValue, localVarHttpResponse, err
   409  	}
   410  
   411  	if localVarHttpResponse.StatusCode >= 300 {
   412  		newErr := GenericOpenAPIError{
   413  			body:  localVarBody,
   414  			error: localVarHttpResponse.Status,
   415  		}
   416  		if localVarHttpResponse.StatusCode == 200 {
   417  			var v Webhook
   418  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   419  			if err != nil {
   420  				newErr.error = err.Error()
   421  				return localVarReturnValue, localVarHttpResponse, newErr
   422  			}
   423  			newErr.model = v
   424  			return localVarReturnValue, localVarHttpResponse, newErr
   425  		}
   426  		return localVarReturnValue, localVarHttpResponse, newErr
   427  	}
   428  
   429  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   430  	if err != nil {
   431  		newErr := GenericOpenAPIError{
   432  			body:  localVarBody,
   433  			error: err.Error(),
   434  		}
   435  		return localVarReturnValue, localVarHttpResponse, newErr
   436  	}
   437  
   438  	return localVarReturnValue, localVarHttpResponse, nil
   439  }
   440  
   441  /*
   442  WebhooksApiService Updating a webhook
   443  This method updates an existing webhook from given attributes and renders it in case of success.  Authorization​: All users having the manage_api_access_tokens permission or all users having an api access token belonging to the webhook you’re updating.
   444   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   445   * @param webhookId
   446   * @param accessToken Access token.
   447   * @param optional nil or *UpdateWebhookOpts - Optional Parameters:
   448   * @param "Active" (optional.Bool) -  true or false, this field is used to enable/disable a webhook.
   449   * @param "Label" (optional.String) -  The label of the webhook.
   450   * @param "StagingUse" (optional.Bool) -  true or false, this field is used to determine if a webhook will be run in staging
   451   * @param "Url" (optional.String) -  The url of a webhook. This is used to determine the endpoint of your webhook, where
   452   * @param "VerifyToken" (optional.String) -  The token used in your webhook.
   453   * @param "Secret" (optional.String) -  The secret key that will be served as a ​`X-Dimelo-Secret​` header in every request.
   454   * @param "RegisteredEvents" (optional.Interface of []string) -  An array containing all the events that your webhook wants to subscribe.
   455  @return Webhook
   456  */
   457  
   458  type UpdateWebhookOpts struct {
   459  	Active           optional.Bool
   460  	Label            optional.String
   461  	StagingUse       optional.Bool
   462  	Url              optional.String
   463  	VerifyToken      optional.String
   464  	Secret           optional.String
   465  	RegisteredEvents optional.Interface
   466  }
   467  
   468  func (a *WebhooksApiService) UpdateWebhook(ctx context.Context, webhookId string, accessToken string, localVarOptionals *UpdateWebhookOpts) (Webhook, *http.Response, error) {
   469  	var (
   470  		localVarHttpMethod   = http.MethodPut
   471  		localVarPostBody     interface{}
   472  		localVarFormFileName string
   473  		localVarFileName     string
   474  		localVarFileBytes    []byte
   475  		localVarReturnValue  Webhook
   476  	)
   477  
   478  	// create path and map variables
   479  	localVarPath := a.client.cfg.BasePath + "/webhooks/{webhookId}"
   480  	localVarPath = strings.Replace(localVarPath, "{"+"webhookId"+"}", fmt.Sprintf("%v", webhookId), -1)
   481  
   482  	localVarHeaderParams := make(map[string]string)
   483  	localVarQueryParams := url.Values{}
   484  	localVarFormParams := url.Values{}
   485  
   486  	localVarQueryParams.Add("access_token", parameterToString(accessToken, ""))
   487  	if localVarOptionals != nil && localVarOptionals.Active.IsSet() {
   488  		localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), ""))
   489  	}
   490  	if localVarOptionals != nil && localVarOptionals.Label.IsSet() {
   491  		localVarQueryParams.Add("label", parameterToString(localVarOptionals.Label.Value(), ""))
   492  	}
   493  	if localVarOptionals != nil && localVarOptionals.StagingUse.IsSet() {
   494  		localVarQueryParams.Add("staging_use", parameterToString(localVarOptionals.StagingUse.Value(), ""))
   495  	}
   496  	if localVarOptionals != nil && localVarOptionals.Url.IsSet() {
   497  		localVarQueryParams.Add("url", parameterToString(localVarOptionals.Url.Value(), ""))
   498  	}
   499  	if localVarOptionals != nil && localVarOptionals.VerifyToken.IsSet() {
   500  		localVarQueryParams.Add("verify_token", parameterToString(localVarOptionals.VerifyToken.Value(), ""))
   501  	}
   502  	if localVarOptionals != nil && localVarOptionals.Secret.IsSet() {
   503  		localVarQueryParams.Add("secret", parameterToString(localVarOptionals.Secret.Value(), ""))
   504  	}
   505  	if localVarOptionals != nil && localVarOptionals.RegisteredEvents.IsSet() {
   506  		t := localVarOptionals.RegisteredEvents.Value()
   507  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   508  			s := reflect.ValueOf(t)
   509  			for i := 0; i < s.Len(); i++ {
   510  				localVarQueryParams.Add("registered_events[]", parameterToString(s.Index(i), "multi"))
   511  			}
   512  		} else {
   513  			localVarQueryParams.Add("registered_events[]", parameterToString(t, "multi"))
   514  		}
   515  	}
   516  	// to determine the Content-Type header
   517  	localVarHttpContentTypes := []string{}
   518  
   519  	// set Content-Type header
   520  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   521  	if localVarHttpContentType != "" {
   522  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   523  	}
   524  
   525  	// to determine the Accept header
   526  	localVarHttpHeaderAccepts := []string{"application/json"}
   527  
   528  	// set Accept header
   529  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   530  	if localVarHttpHeaderAccept != "" {
   531  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   532  	}
   533  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   534  	if err != nil {
   535  		return localVarReturnValue, nil, err
   536  	}
   537  
   538  	localVarHttpResponse, err := a.client.callAPI(r)
   539  	if err != nil || localVarHttpResponse == nil {
   540  		return localVarReturnValue, localVarHttpResponse, err
   541  	}
   542  
   543  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   544  	localVarHttpResponse.Body.Close()
   545  	if err != nil {
   546  		return localVarReturnValue, localVarHttpResponse, err
   547  	}
   548  
   549  	if localVarHttpResponse.StatusCode >= 300 {
   550  		newErr := GenericOpenAPIError{
   551  			body:  localVarBody,
   552  			error: localVarHttpResponse.Status,
   553  		}
   554  		if localVarHttpResponse.StatusCode == 200 {
   555  			var v Webhook
   556  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   557  			if err != nil {
   558  				newErr.error = err.Error()
   559  				return localVarReturnValue, localVarHttpResponse, newErr
   560  			}
   561  			newErr.model = v
   562  			return localVarReturnValue, localVarHttpResponse, newErr
   563  		}
   564  		return localVarReturnValue, localVarHttpResponse, newErr
   565  	}
   566  
   567  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   568  	if err != nil {
   569  		newErr := GenericOpenAPIError{
   570  			body:  localVarBody,
   571  			error: err.Error(),
   572  		}
   573  		return localVarReturnValue, localVarHttpResponse, newErr
   574  	}
   575  
   576  	return localVarReturnValue, localVarHttpResponse, nil
   577  }