github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_company_contacts.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  	"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 CompanyContactsApiService service
    28  
    29  /*
    30  CompanyContactsApiService Create Bot Extension
    31  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.32 (Release 9.3)&lt;/p&gt;&lt;p&gt;Creates a bot extension. Please note: Bot extension is always created in Enabled status, no welcome email is sent.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
    34   * @param botExtensionCreationRequest JSON body
    35  @return BotExtensionCreation
    36  */
    37  func (a *CompanyContactsApiService) CreateBotExtension(ctx context.Context, accountId string, botExtensionCreationRequest BotExtensionCreationRequest) (BotExtensionCreation, *http.Response, error) {
    38  	var (
    39  		localVarHttpMethod   = strings.ToUpper("Post")
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  		localVarReturnValue  BotExtensionCreation
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/bot"
    49  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -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{"application/json"}
    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  	// body params
    73  	localVarPostBody = &botExtensionCreationRequest
    74  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    75  	if err != nil {
    76  		return localVarReturnValue, nil, err
    77  	}
    78  
    79  	localVarHttpResponse, err := a.client.callAPI(r)
    80  	if err != nil || localVarHttpResponse == nil {
    81  		return localVarReturnValue, localVarHttpResponse, err
    82  	}
    83  
    84  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    85  	localVarHttpResponse.Body.Close()
    86  	if err != nil {
    87  		return localVarReturnValue, localVarHttpResponse, err
    88  	}
    89  
    90  	if localVarHttpResponse.StatusCode >= 300 {
    91  		newErr := GenericOpenAPIError{
    92  			body:  localVarBody,
    93  			error: localVarHttpResponse.Status,
    94  		}
    95  		if localVarHttpResponse.StatusCode == 0 {
    96  			var v BotExtensionCreation
    97  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    98  			if err != nil {
    99  				newErr.error = err.Error()
   100  				return localVarReturnValue, localVarHttpResponse, newErr
   101  			}
   102  			newErr.model = v
   103  			return localVarReturnValue, localVarHttpResponse, newErr
   104  		}
   105  		return localVarReturnValue, localVarHttpResponse, newErr
   106  	}
   107  
   108  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   109  	if err != nil {
   110  		newErr := GenericOpenAPIError{
   111  			body:  localVarBody,
   112  			error: err.Error(),
   113  		}
   114  		return localVarReturnValue, localVarHttpResponse, newErr
   115  	}
   116  
   117  	return localVarReturnValue, localVarHttpResponse, nil
   118  }
   119  
   120  /*
   121  CompanyContactsApiService Create Extension
   122  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.10 (Release 6.2)&lt;/p&gt;&lt;p&gt;Creates an extension.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   123   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   124   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   125   * @param extensionCreationRequest JSON body
   126  @return ExtensionInfo
   127  */
   128  func (a *CompanyContactsApiService) CreateExtension(ctx context.Context, accountId string, extensionCreationRequest ExtensionCreationRequest) (ExtensionInfo, *http.Response, error) {
   129  	var (
   130  		localVarHttpMethod   = strings.ToUpper("Post")
   131  		localVarPostBody     interface{}
   132  		localVarFormFileName string
   133  		localVarFileName     string
   134  		localVarFileBytes    []byte
   135  		localVarReturnValue  ExtensionInfo
   136  	)
   137  
   138  	// create path and map variables
   139  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension"
   140  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -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 = &extensionCreationRequest
   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 ExtensionInfo
   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  }
   210  
   211  /*
   212  CompanyContactsApiService Get Company Directory
   213  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns contact information on corporate users of federated accounts. Please note: 1. User, DigitalUser, VirtualUser and FaxUser types are returned as User type. 2.ApplicationExtension type is not returned. 3. Only extensions in Enabled, Disabled and NotActivated state are returned.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   214   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   215   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   216   * @param optional nil or *ListCompanyDirectoryContactsOpts - Optional Parameters:
   217   * @param "Page" (optional.Int64) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   218   * @param "PerPage" (optional.Int64) -  Indicates the page size (number of items). The possible values are: Max, all or a numeric value. If not specified, all records are returned on one page
   219   * @param "ExcludeFederatedContacts" (optional.Bool) -  If 'True' then only contacts of current account are returned, if 'False' then all contacts of all federation accounts are returned
   220  @return CompanyDirectoryContacts
   221  */
   222  
   223  type ListCompanyDirectoryContactsOpts struct {
   224  	Page                     optional.Int64
   225  	PerPage                  optional.Int64
   226  	ExcludeFederatedContacts optional.Bool
   227  }
   228  
   229  func (a *CompanyContactsApiService) ListCompanyDirectoryContacts(ctx context.Context, accountId string, localVarOptionals *ListCompanyDirectoryContactsOpts) (CompanyDirectoryContacts, *http.Response, error) {
   230  	var (
   231  		localVarHttpMethod   = strings.ToUpper("Get")
   232  		localVarPostBody     interface{}
   233  		localVarFormFileName string
   234  		localVarFileName     string
   235  		localVarFileBytes    []byte
   236  		localVarReturnValue  CompanyDirectoryContacts
   237  	)
   238  
   239  	// create path and map variables
   240  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/contacts"
   241  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   242  
   243  	localVarHeaderParams := make(map[string]string)
   244  	localVarQueryParams := url.Values{}
   245  	localVarFormParams := url.Values{}
   246  
   247  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   248  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   249  	}
   250  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   251  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   252  	}
   253  	if localVarOptionals != nil && localVarOptionals.ExcludeFederatedContacts.IsSet() {
   254  		localVarQueryParams.Add("excludeFederatedContacts", parameterToString(localVarOptionals.ExcludeFederatedContacts.Value(), ""))
   255  	}
   256  	// to determine the Content-Type header
   257  	localVarHttpContentTypes := []string{}
   258  
   259  	// set Content-Type header
   260  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   261  	if localVarHttpContentType != "" {
   262  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   263  	}
   264  
   265  	// to determine the Accept header
   266  	localVarHttpHeaderAccepts := []string{"application/json"}
   267  
   268  	// set Accept header
   269  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   270  	if localVarHttpHeaderAccept != "" {
   271  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   272  	}
   273  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   274  	if err != nil {
   275  		return localVarReturnValue, nil, err
   276  	}
   277  
   278  	localVarHttpResponse, err := a.client.callAPI(r)
   279  	if err != nil || localVarHttpResponse == nil {
   280  		return localVarReturnValue, localVarHttpResponse, err
   281  	}
   282  
   283  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   284  	localVarHttpResponse.Body.Close()
   285  	if err != nil {
   286  		return localVarReturnValue, localVarHttpResponse, err
   287  	}
   288  
   289  	if localVarHttpResponse.StatusCode >= 300 {
   290  		newErr := GenericOpenAPIError{
   291  			body:  localVarBody,
   292  			error: localVarHttpResponse.Status,
   293  		}
   294  		if localVarHttpResponse.StatusCode == 0 {
   295  			var v CompanyDirectoryContacts
   296  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   297  			if err != nil {
   298  				newErr.error = err.Error()
   299  				return localVarReturnValue, localVarHttpResponse, newErr
   300  			}
   301  			newErr.model = v
   302  			return localVarReturnValue, localVarHttpResponse, newErr
   303  		}
   304  		return localVarReturnValue, localVarHttpResponse, newErr
   305  	}
   306  
   307  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   308  	if err != nil {
   309  		newErr := GenericOpenAPIError{
   310  			body:  localVarBody,
   311  			error: err.Error(),
   312  		}
   313  		return localVarReturnValue, localVarHttpResponse, newErr
   314  	}
   315  
   316  	return localVarReturnValue, localVarHttpResponse, nil
   317  }
   318  
   319  /*
   320  CompanyContactsApiService Get Extensions
   321  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.0&lt;/p&gt;&lt;p&gt;Returns the list of extensions created for a particular account. All types of extensions are included in this list.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   322   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   323   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   324   * @param optional nil or *ListExtensionsOpts - Optional Parameters:
   325   * @param "Page" (optional.Int64) -  Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
   326   * @param "PerPage" (optional.Int64) -  Indicates the page size (number of items). If not specified, the value is '100' by default.
   327   * @param "Status" (optional.Interface of []string) -  Extension current state. Multiple values are supported. If 'Unassigned' is specified, then extensions without extensionNumber are returned. If not specified, then all extensions are returned
   328   * @param "Type_" (optional.Interface of []string) -  Extension type. Multiple values are supported
   329  @return GetExtensionListResponse
   330  */
   331  
   332  type ListExtensionsOpts struct {
   333  	Page    optional.Int64
   334  	PerPage optional.Int64
   335  	Status  optional.Interface
   336  	Type_   optional.Interface
   337  }
   338  
   339  func (a *CompanyContactsApiService) ListExtensions(ctx context.Context, accountId string, localVarOptionals *ListExtensionsOpts) (GetExtensionListResponse, *http.Response, error) {
   340  	var (
   341  		localVarHttpMethod   = strings.ToUpper("Get")
   342  		localVarPostBody     interface{}
   343  		localVarFormFileName string
   344  		localVarFileName     string
   345  		localVarFileBytes    []byte
   346  		localVarReturnValue  GetExtensionListResponse
   347  	)
   348  
   349  	// create path and map variables
   350  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension"
   351  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   352  
   353  	localVarHeaderParams := make(map[string]string)
   354  	localVarQueryParams := url.Values{}
   355  	localVarFormParams := url.Values{}
   356  
   357  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   358  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   359  	}
   360  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   361  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   362  	}
   363  	if localVarOptionals != nil && localVarOptionals.Status.IsSet() {
   364  		localVarQueryParams.Add("status", parameterToString(localVarOptionals.Status.Value(), "multi"))
   365  	}
   366  	if localVarOptionals != nil && localVarOptionals.Type_.IsSet() {
   367  		localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi"))
   368  	}
   369  	// to determine the Content-Type header
   370  	localVarHttpContentTypes := []string{}
   371  
   372  	// set Content-Type header
   373  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   374  	if localVarHttpContentType != "" {
   375  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   376  	}
   377  
   378  	// to determine the Accept header
   379  	localVarHttpHeaderAccepts := []string{"application/json"}
   380  
   381  	// set Accept header
   382  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   383  	if localVarHttpHeaderAccept != "" {
   384  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   385  	}
   386  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   387  	if err != nil {
   388  		return localVarReturnValue, nil, err
   389  	}
   390  
   391  	localVarHttpResponse, err := a.client.callAPI(r)
   392  	if err != nil || localVarHttpResponse == nil {
   393  		return localVarReturnValue, localVarHttpResponse, err
   394  	}
   395  
   396  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   397  	localVarHttpResponse.Body.Close()
   398  	if err != nil {
   399  		return localVarReturnValue, localVarHttpResponse, err
   400  	}
   401  
   402  	if localVarHttpResponse.StatusCode >= 300 {
   403  		newErr := GenericOpenAPIError{
   404  			body:  localVarBody,
   405  			error: localVarHttpResponse.Status,
   406  		}
   407  		if localVarHttpResponse.StatusCode == 0 {
   408  			var v GetExtensionListResponse
   409  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   410  			if err != nil {
   411  				newErr.error = err.Error()
   412  				return localVarReturnValue, localVarHttpResponse, newErr
   413  			}
   414  			newErr.model = v
   415  			return localVarReturnValue, localVarHttpResponse, newErr
   416  		}
   417  		return localVarReturnValue, localVarHttpResponse, newErr
   418  	}
   419  
   420  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   421  	if err != nil {
   422  		newErr := GenericOpenAPIError{
   423  			body:  localVarBody,
   424  			error: err.Error(),
   425  		}
   426  		return localVarReturnValue, localVarHttpResponse, newErr
   427  	}
   428  
   429  	return localVarReturnValue, localVarHttpResponse, nil
   430  }
   431  
   432  /*
   433  CompanyContactsApiService Get Company Directory Contact
   434  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns contact information on a particular corporate user of a federated account.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   435   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   436   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   437   * @param contactId Internal identifier of an extension
   438  @return ContactInfo
   439  */
   440  func (a *CompanyContactsApiService) LoadCompanyDirectoryContact(ctx context.Context, accountId string, contactId string) (ContactInfo, *http.Response, error) {
   441  	var (
   442  		localVarHttpMethod   = strings.ToUpper("Get")
   443  		localVarPostBody     interface{}
   444  		localVarFormFileName string
   445  		localVarFileName     string
   446  		localVarFileBytes    []byte
   447  		localVarReturnValue  ContactInfo
   448  	)
   449  
   450  	// create path and map variables
   451  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/contacts/{contactId}"
   452  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   453  	localVarPath = strings.Replace(localVarPath, "{"+"contactId"+"}", fmt.Sprintf("%v", contactId), -1)
   454  
   455  	localVarHeaderParams := make(map[string]string)
   456  	localVarQueryParams := url.Values{}
   457  	localVarFormParams := url.Values{}
   458  
   459  	// to determine the Content-Type header
   460  	localVarHttpContentTypes := []string{}
   461  
   462  	// set Content-Type header
   463  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   464  	if localVarHttpContentType != "" {
   465  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   466  	}
   467  
   468  	// to determine the Accept header
   469  	localVarHttpHeaderAccepts := []string{"application/json"}
   470  
   471  	// set Accept header
   472  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   473  	if localVarHttpHeaderAccept != "" {
   474  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   475  	}
   476  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   477  	if err != nil {
   478  		return localVarReturnValue, nil, err
   479  	}
   480  
   481  	localVarHttpResponse, err := a.client.callAPI(r)
   482  	if err != nil || localVarHttpResponse == nil {
   483  		return localVarReturnValue, localVarHttpResponse, err
   484  	}
   485  
   486  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   487  	localVarHttpResponse.Body.Close()
   488  	if err != nil {
   489  		return localVarReturnValue, localVarHttpResponse, err
   490  	}
   491  
   492  	if localVarHttpResponse.StatusCode >= 300 {
   493  		newErr := GenericOpenAPIError{
   494  			body:  localVarBody,
   495  			error: localVarHttpResponse.Status,
   496  		}
   497  		if localVarHttpResponse.StatusCode == 0 {
   498  			var v ContactInfo
   499  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   500  			if err != nil {
   501  				newErr.error = err.Error()
   502  				return localVarReturnValue, localVarHttpResponse, newErr
   503  			}
   504  			newErr.model = v
   505  			return localVarReturnValue, localVarHttpResponse, newErr
   506  		}
   507  		return localVarReturnValue, localVarHttpResponse, newErr
   508  	}
   509  
   510  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   511  	if err != nil {
   512  		newErr := GenericOpenAPIError{
   513  			body:  localVarBody,
   514  			error: err.Error(),
   515  		}
   516  		return localVarReturnValue, localVarHttpResponse, newErr
   517  	}
   518  
   519  	return localVarReturnValue, localVarHttpResponse, nil
   520  }
   521  
   522  /*
   523  CompanyContactsApiService Get Existing Extension Numbers
   524  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns the list of account federation extensions.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   525   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   526   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   527  @return FederationExtensionNumbers
   528  */
   529  func (a *CompanyContactsApiService) LoadCompanyDirectoryExtensionNumbers(ctx context.Context, accountId string) (FederationExtensionNumbers, *http.Response, error) {
   530  	var (
   531  		localVarHttpMethod   = strings.ToUpper("Get")
   532  		localVarPostBody     interface{}
   533  		localVarFormFileName string
   534  		localVarFileName     string
   535  		localVarFileBytes    []byte
   536  		localVarReturnValue  FederationExtensionNumbers
   537  	)
   538  
   539  	// create path and map variables
   540  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/extension-numbers"
   541  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   542  
   543  	localVarHeaderParams := make(map[string]string)
   544  	localVarQueryParams := url.Values{}
   545  	localVarFormParams := url.Values{}
   546  
   547  	// to determine the Content-Type header
   548  	localVarHttpContentTypes := []string{}
   549  
   550  	// set Content-Type header
   551  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   552  	if localVarHttpContentType != "" {
   553  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   554  	}
   555  
   556  	// to determine the Accept header
   557  	localVarHttpHeaderAccepts := []string{"application/json"}
   558  
   559  	// set Accept header
   560  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   561  	if localVarHttpHeaderAccept != "" {
   562  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   563  	}
   564  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   565  	if err != nil {
   566  		return localVarReturnValue, nil, err
   567  	}
   568  
   569  	localVarHttpResponse, err := a.client.callAPI(r)
   570  	if err != nil || localVarHttpResponse == nil {
   571  		return localVarReturnValue, localVarHttpResponse, err
   572  	}
   573  
   574  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   575  	localVarHttpResponse.Body.Close()
   576  	if err != nil {
   577  		return localVarReturnValue, localVarHttpResponse, err
   578  	}
   579  
   580  	if localVarHttpResponse.StatusCode >= 300 {
   581  		newErr := GenericOpenAPIError{
   582  			body:  localVarBody,
   583  			error: localVarHttpResponse.Status,
   584  		}
   585  		if localVarHttpResponse.StatusCode == 0 {
   586  			var v FederationExtensionNumbers
   587  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   588  			if err != nil {
   589  				newErr.error = err.Error()
   590  				return localVarReturnValue, localVarHttpResponse, newErr
   591  			}
   592  			newErr.model = v
   593  			return localVarReturnValue, localVarHttpResponse, newErr
   594  		}
   595  		return localVarReturnValue, localVarHttpResponse, newErr
   596  	}
   597  
   598  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   599  	if err != nil {
   600  		newErr := GenericOpenAPIError{
   601  			body:  localVarBody,
   602  			error: err.Error(),
   603  		}
   604  		return localVarReturnValue, localVarHttpResponse, newErr
   605  	}
   606  
   607  	return localVarReturnValue, localVarHttpResponse, nil
   608  }
   609  
   610  /*
   611  CompanyContactsApiService Get Account Federation
   612  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns information on a federation and associated accounts.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   613   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   614   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   615  @return FederationInfo
   616  */
   617  func (a *CompanyContactsApiService) LoadCompanyDirectoryFederation(ctx context.Context, accountId string) (FederationInfo, *http.Response, error) {
   618  	var (
   619  		localVarHttpMethod   = strings.ToUpper("Get")
   620  		localVarPostBody     interface{}
   621  		localVarFormFileName string
   622  		localVarFileName     string
   623  		localVarFileBytes    []byte
   624  		localVarReturnValue  FederationInfo
   625  	)
   626  
   627  	// create path and map variables
   628  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/federation"
   629  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   630  
   631  	localVarHeaderParams := make(map[string]string)
   632  	localVarQueryParams := url.Values{}
   633  	localVarFormParams := url.Values{}
   634  
   635  	// to determine the Content-Type header
   636  	localVarHttpContentTypes := []string{}
   637  
   638  	// set Content-Type header
   639  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   640  	if localVarHttpContentType != "" {
   641  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   642  	}
   643  
   644  	// to determine the Accept header
   645  	localVarHttpHeaderAccepts := []string{"application/json"}
   646  
   647  	// set Accept header
   648  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   649  	if localVarHttpHeaderAccept != "" {
   650  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   651  	}
   652  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   653  	if err != nil {
   654  		return localVarReturnValue, nil, err
   655  	}
   656  
   657  	localVarHttpResponse, err := a.client.callAPI(r)
   658  	if err != nil || localVarHttpResponse == nil {
   659  		return localVarReturnValue, localVarHttpResponse, err
   660  	}
   661  
   662  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   663  	localVarHttpResponse.Body.Close()
   664  	if err != nil {
   665  		return localVarReturnValue, localVarHttpResponse, err
   666  	}
   667  
   668  	if localVarHttpResponse.StatusCode >= 300 {
   669  		newErr := GenericOpenAPIError{
   670  			body:  localVarBody,
   671  			error: localVarHttpResponse.Status,
   672  		}
   673  		if localVarHttpResponse.StatusCode == 0 {
   674  			var v FederationInfo
   675  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   676  			if err != nil {
   677  				newErr.error = err.Error()
   678  				return localVarReturnValue, localVarHttpResponse, newErr
   679  			}
   680  			newErr.model = v
   681  			return localVarReturnValue, localVarHttpResponse, newErr
   682  		}
   683  		return localVarReturnValue, localVarHttpResponse, newErr
   684  	}
   685  
   686  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   687  	if err != nil {
   688  		newErr := GenericOpenAPIError{
   689  			body:  localVarBody,
   690  			error: err.Error(),
   691  		}
   692  		return localVarReturnValue, localVarHttpResponse, newErr
   693  	}
   694  
   695  	return localVarReturnValue, localVarHttpResponse, nil
   696  }
   697  
   698  /*
   699  CompanyContactsApiService Get Account Federation Conflicts
   700  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Returns the list of federation extensions which numbers are conflicting with extension numbers of the requested account.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
   701   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   702   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   703  @return FederationConflicts
   704  */
   705  func (a *CompanyContactsApiService) LoadCompanyDirectoryFederationConflicts(ctx context.Context, accountId string) (FederationConflicts, *http.Response, error) {
   706  	var (
   707  		localVarHttpMethod   = strings.ToUpper("Get")
   708  		localVarPostBody     interface{}
   709  		localVarFormFileName string
   710  		localVarFileName     string
   711  		localVarFileBytes    []byte
   712  		localVarReturnValue  FederationConflicts
   713  	)
   714  
   715  	// create path and map variables
   716  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/directory/federation-conflicts"
   717  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   718  
   719  	localVarHeaderParams := make(map[string]string)
   720  	localVarQueryParams := url.Values{}
   721  	localVarFormParams := url.Values{}
   722  
   723  	// to determine the Content-Type header
   724  	localVarHttpContentTypes := []string{}
   725  
   726  	// set Content-Type header
   727  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   728  	if localVarHttpContentType != "" {
   729  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   730  	}
   731  
   732  	// to determine the Accept header
   733  	localVarHttpHeaderAccepts := []string{"application/json"}
   734  
   735  	// set Accept header
   736  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   737  	if localVarHttpHeaderAccept != "" {
   738  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   739  	}
   740  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   741  	if err != nil {
   742  		return localVarReturnValue, nil, err
   743  	}
   744  
   745  	localVarHttpResponse, err := a.client.callAPI(r)
   746  	if err != nil || localVarHttpResponse == nil {
   747  		return localVarReturnValue, localVarHttpResponse, err
   748  	}
   749  
   750  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   751  	localVarHttpResponse.Body.Close()
   752  	if err != nil {
   753  		return localVarReturnValue, localVarHttpResponse, err
   754  	}
   755  
   756  	if localVarHttpResponse.StatusCode >= 300 {
   757  		newErr := GenericOpenAPIError{
   758  			body:  localVarBody,
   759  			error: localVarHttpResponse.Status,
   760  		}
   761  		if localVarHttpResponse.StatusCode == 0 {
   762  			var v FederationConflicts
   763  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   764  			if err != nil {
   765  				newErr.error = err.Error()
   766  				return localVarReturnValue, localVarHttpResponse, newErr
   767  			}
   768  			newErr.model = v
   769  			return localVarReturnValue, localVarHttpResponse, newErr
   770  		}
   771  		return localVarReturnValue, localVarHttpResponse, newErr
   772  	}
   773  
   774  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   775  	if err != nil {
   776  		newErr := GenericOpenAPIError{
   777  			body:  localVarBody,
   778  			error: err.Error(),
   779  		}
   780  		return localVarReturnValue, localVarHttpResponse, newErr
   781  	}
   782  
   783  	return localVarReturnValue, localVarHttpResponse, nil
   784  }