ultracart_api 3.11.39 → 3.11.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -315,6 +315,61 @@ module UltracartClient
315
315
  end
316
316
  return data, status_code, headers
317
317
  end
318
+ # Delete pbx address
319
+ # Delete a pbx address
320
+ # @param conversation_pbx_address_uuid
321
+ # @param [Hash] opts the optional parameters
322
+ # @return [ConversationPbxAddressResponse]
323
+ def delete_pbx_address(conversation_pbx_address_uuid, opts = {})
324
+ data, _status_code, _headers = delete_pbx_address_with_http_info(conversation_pbx_address_uuid, opts)
325
+ data
326
+ end
327
+
328
+ # Delete pbx address
329
+ # Delete a pbx address
330
+ # @param conversation_pbx_address_uuid
331
+ # @param [Hash] opts the optional parameters
332
+ # @return [Array<(ConversationPbxAddressResponse, Fixnum, Hash)>] ConversationPbxAddressResponse data, response status code and response headers
333
+ def delete_pbx_address_with_http_info(conversation_pbx_address_uuid, opts = {})
334
+ if @api_client.config.debugging
335
+ @api_client.config.logger.debug 'Calling API: ConversationApi.delete_pbx_address ...'
336
+ end
337
+ # verify the required parameter 'conversation_pbx_address_uuid' is set
338
+ if @api_client.config.client_side_validation && conversation_pbx_address_uuid.nil?
339
+ fail ArgumentError, "Missing the required parameter 'conversation_pbx_address_uuid' when calling ConversationApi.delete_pbx_address"
340
+ end
341
+ # resource path
342
+ local_var_path = '/conversation/pbx/address/{conversationPbxAddressUuid}'.sub('{' + 'conversationPbxAddressUuid' + '}', conversation_pbx_address_uuid.to_s)
343
+
344
+ # query parameters
345
+ query_params = {}
346
+
347
+ # header parameters
348
+ header_params = {}
349
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
350
+ # HTTP header 'Accept' (if needed)
351
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
352
+ # HTTP header 'Content-Type'
353
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
354
+
355
+ # form parameters
356
+ form_params = {}
357
+
358
+ # http body (model)
359
+ post_body = nil
360
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
361
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :form_params => form_params,
365
+ :body => post_body,
366
+ :auth_names => auth_names,
367
+ :return_type => 'ConversationPbxAddressResponse')
368
+ if @api_client.config.debugging
369
+ @api_client.config.logger.debug "API called: ConversationApi#delete_pbx_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
370
+ end
371
+ return data, status_code, headers
372
+ end
318
373
  # Delete Agent Voicemail
319
374
  # Delete pbx agent Voicemail
320
375
  # @param recording_sid
@@ -479,6 +534,60 @@ module UltracartClient
479
534
  end
480
535
  return data, status_code, headers
481
536
  end
537
+ # Delete pbx phoneNumber
538
+ # Delete a pbx phoneNumber. Only works if deletion_protected is false.
539
+ # @param conversation_pbx_phone_number_uuid
540
+ # @param [Hash] opts the optional parameters
541
+ # @return [nil]
542
+ def delete_pbx_phone_number(conversation_pbx_phone_number_uuid, opts = {})
543
+ delete_pbx_phone_number_with_http_info(conversation_pbx_phone_number_uuid, opts)
544
+ nil
545
+ end
546
+
547
+ # Delete pbx phoneNumber
548
+ # Delete a pbx phoneNumber. Only works if deletion_protected is false.
549
+ # @param conversation_pbx_phone_number_uuid
550
+ # @param [Hash] opts the optional parameters
551
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
552
+ def delete_pbx_phone_number_with_http_info(conversation_pbx_phone_number_uuid, opts = {})
553
+ if @api_client.config.debugging
554
+ @api_client.config.logger.debug 'Calling API: ConversationApi.delete_pbx_phone_number ...'
555
+ end
556
+ # verify the required parameter 'conversation_pbx_phone_number_uuid' is set
557
+ if @api_client.config.client_side_validation && conversation_pbx_phone_number_uuid.nil?
558
+ fail ArgumentError, "Missing the required parameter 'conversation_pbx_phone_number_uuid' when calling ConversationApi.delete_pbx_phone_number"
559
+ end
560
+ # resource path
561
+ local_var_path = '/conversation/pbx/phone_number/{conversationPbxPhoneNumberUuid}'.sub('{' + 'conversationPbxPhoneNumberUuid' + '}', conversation_pbx_phone_number_uuid.to_s)
562
+
563
+ # query parameters
564
+ query_params = {}
565
+
566
+ # header parameters
567
+ header_params = {}
568
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
569
+ # HTTP header 'Accept' (if needed)
570
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
571
+ # HTTP header 'Content-Type'
572
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
573
+
574
+ # form parameters
575
+ form_params = {}
576
+
577
+ # http body (model)
578
+ post_body = nil
579
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
580
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
581
+ :header_params => header_params,
582
+ :query_params => query_params,
583
+ :form_params => form_params,
584
+ :body => post_body,
585
+ :auth_names => auth_names)
586
+ if @api_client.config.debugging
587
+ @api_client.config.logger.debug "API called: ConversationApi#delete_pbx_phone_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
588
+ end
589
+ return data, status_code, headers
590
+ end
482
591
  # Delete pbx queue
483
592
  # Delete a pbx queue
484
593
  # @param conversation_pbx_queue_uuid
@@ -2158,6 +2267,110 @@ module UltracartClient
2158
2267
  end
2159
2268
  return data, status_code, headers
2160
2269
  end
2270
+ # Get pbx address
2271
+ # Retrieve a pbx address
2272
+ # @param conversation_pbx_address_uuid
2273
+ # @param [Hash] opts the optional parameters
2274
+ # @return [ConversationPbxAddressResponse]
2275
+ def get_pbx_address(conversation_pbx_address_uuid, opts = {})
2276
+ data, _status_code, _headers = get_pbx_address_with_http_info(conversation_pbx_address_uuid, opts)
2277
+ data
2278
+ end
2279
+
2280
+ # Get pbx address
2281
+ # Retrieve a pbx address
2282
+ # @param conversation_pbx_address_uuid
2283
+ # @param [Hash] opts the optional parameters
2284
+ # @return [Array<(ConversationPbxAddressResponse, Fixnum, Hash)>] ConversationPbxAddressResponse data, response status code and response headers
2285
+ def get_pbx_address_with_http_info(conversation_pbx_address_uuid, opts = {})
2286
+ if @api_client.config.debugging
2287
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_pbx_address ...'
2288
+ end
2289
+ # verify the required parameter 'conversation_pbx_address_uuid' is set
2290
+ if @api_client.config.client_side_validation && conversation_pbx_address_uuid.nil?
2291
+ fail ArgumentError, "Missing the required parameter 'conversation_pbx_address_uuid' when calling ConversationApi.get_pbx_address"
2292
+ end
2293
+ # resource path
2294
+ local_var_path = '/conversation/pbx/address/{conversationPbxAddressUuid}'.sub('{' + 'conversationPbxAddressUuid' + '}', conversation_pbx_address_uuid.to_s)
2295
+
2296
+ # query parameters
2297
+ query_params = {}
2298
+
2299
+ # header parameters
2300
+ header_params = {}
2301
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
2302
+ # HTTP header 'Accept' (if needed)
2303
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2304
+ # HTTP header 'Content-Type'
2305
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2306
+
2307
+ # form parameters
2308
+ form_params = {}
2309
+
2310
+ # http body (model)
2311
+ post_body = nil
2312
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
2313
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2314
+ :header_params => header_params,
2315
+ :query_params => query_params,
2316
+ :form_params => form_params,
2317
+ :body => post_body,
2318
+ :auth_names => auth_names,
2319
+ :return_type => 'ConversationPbxAddressResponse')
2320
+ if @api_client.config.debugging
2321
+ @api_client.config.logger.debug "API called: ConversationApi#get_pbx_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2322
+ end
2323
+ return data, status_code, headers
2324
+ end
2325
+ # Get pbx addresses
2326
+ # Retrieve pbx addresses
2327
+ # @param [Hash] opts the optional parameters
2328
+ # @return [ConversationPbxAddressesResponse]
2329
+ def get_pbx_addresses(opts = {})
2330
+ data, _status_code, _headers = get_pbx_addresses_with_http_info(opts)
2331
+ data
2332
+ end
2333
+
2334
+ # Get pbx addresses
2335
+ # Retrieve pbx addresses
2336
+ # @param [Hash] opts the optional parameters
2337
+ # @return [Array<(ConversationPbxAddressesResponse, Fixnum, Hash)>] ConversationPbxAddressesResponse data, response status code and response headers
2338
+ def get_pbx_addresses_with_http_info(opts = {})
2339
+ if @api_client.config.debugging
2340
+ @api_client.config.logger.debug 'Calling API: ConversationApi.get_pbx_addresses ...'
2341
+ end
2342
+ # resource path
2343
+ local_var_path = '/conversation/pbx/address'
2344
+
2345
+ # query parameters
2346
+ query_params = {}
2347
+
2348
+ # header parameters
2349
+ header_params = {}
2350
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
2351
+ # HTTP header 'Accept' (if needed)
2352
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2353
+ # HTTP header 'Content-Type'
2354
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2355
+
2356
+ # form parameters
2357
+ form_params = {}
2358
+
2359
+ # http body (model)
2360
+ post_body = nil
2361
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
2362
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
2363
+ :header_params => header_params,
2364
+ :query_params => query_params,
2365
+ :form_params => form_params,
2366
+ :body => post_body,
2367
+ :auth_names => auth_names,
2368
+ :return_type => 'ConversationPbxAddressesResponse')
2369
+ if @api_client.config.debugging
2370
+ @api_client.config.logger.debug "API called: ConversationApi#get_pbx_addresses\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2371
+ end
2372
+ return data, status_code, headers
2373
+ end
2161
2374
  # Get pbx agent
2162
2375
  # Retrieve a pbx agent
2163
2376
  # @param conversation_pbx_agent_uuid
@@ -3650,6 +3863,61 @@ module UltracartClient
3650
3863
  end
3651
3864
  return data, status_code, headers
3652
3865
  end
3866
+ # Insert pbx address
3867
+ # Insert a pbx address
3868
+ # @param pbx_address Pbx Address
3869
+ # @param [Hash] opts the optional parameters
3870
+ # @return [ConversationPbxAddressResponse]
3871
+ def insert_pbx_address(pbx_address, opts = {})
3872
+ data, _status_code, _headers = insert_pbx_address_with_http_info(pbx_address, opts)
3873
+ data
3874
+ end
3875
+
3876
+ # Insert pbx address
3877
+ # Insert a pbx address
3878
+ # @param pbx_address Pbx Address
3879
+ # @param [Hash] opts the optional parameters
3880
+ # @return [Array<(ConversationPbxAddressResponse, Fixnum, Hash)>] ConversationPbxAddressResponse data, response status code and response headers
3881
+ def insert_pbx_address_with_http_info(pbx_address, opts = {})
3882
+ if @api_client.config.debugging
3883
+ @api_client.config.logger.debug 'Calling API: ConversationApi.insert_pbx_address ...'
3884
+ end
3885
+ # verify the required parameter 'pbx_address' is set
3886
+ if @api_client.config.client_side_validation && pbx_address.nil?
3887
+ fail ArgumentError, "Missing the required parameter 'pbx_address' when calling ConversationApi.insert_pbx_address"
3888
+ end
3889
+ # resource path
3890
+ local_var_path = '/conversation/pbx/address'
3891
+
3892
+ # query parameters
3893
+ query_params = {}
3894
+
3895
+ # header parameters
3896
+ header_params = {}
3897
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
3898
+ # HTTP header 'Accept' (if needed)
3899
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3900
+ # HTTP header 'Content-Type'
3901
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
3902
+
3903
+ # form parameters
3904
+ form_params = {}
3905
+
3906
+ # http body (model)
3907
+ post_body = @api_client.object_to_http_body(pbx_address)
3908
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
3909
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
3910
+ :header_params => header_params,
3911
+ :query_params => query_params,
3912
+ :form_params => form_params,
3913
+ :body => post_body,
3914
+ :auth_names => auth_names,
3915
+ :return_type => 'ConversationPbxAddressResponse')
3916
+ if @api_client.config.debugging
3917
+ @api_client.config.logger.debug "API called: ConversationApi#insert_pbx_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3918
+ end
3919
+ return data, status_code, headers
3920
+ end
3653
3921
  # Insert pbx audio
3654
3922
  # Insert a pbx audio
3655
3923
  # @param pbx_audio Pbx Audio
@@ -4258,6 +4526,116 @@ module UltracartClient
4258
4526
  end
4259
4527
  return data, status_code, headers
4260
4528
  end
4529
+ # Protect pbx phoneNumber from deletion
4530
+ # Protect a pbx phoneNumber from deletion. This is a one-way operation and cannot be undone through the API.
4531
+ # @param conversation_pbx_phone_number_uuid
4532
+ # @param [Hash] opts the optional parameters
4533
+ # @return [ConversationPbxPhoneNumberResponse]
4534
+ def protect_pbx_phone_number(conversation_pbx_phone_number_uuid, opts = {})
4535
+ data, _status_code, _headers = protect_pbx_phone_number_with_http_info(conversation_pbx_phone_number_uuid, opts)
4536
+ data
4537
+ end
4538
+
4539
+ # Protect pbx phoneNumber from deletion
4540
+ # Protect a pbx phoneNumber from deletion. This is a one-way operation and cannot be undone through the API.
4541
+ # @param conversation_pbx_phone_number_uuid
4542
+ # @param [Hash] opts the optional parameters
4543
+ # @return [Array<(ConversationPbxPhoneNumberResponse, Fixnum, Hash)>] ConversationPbxPhoneNumberResponse data, response status code and response headers
4544
+ def protect_pbx_phone_number_with_http_info(conversation_pbx_phone_number_uuid, opts = {})
4545
+ if @api_client.config.debugging
4546
+ @api_client.config.logger.debug 'Calling API: ConversationApi.protect_pbx_phone_number ...'
4547
+ end
4548
+ # verify the required parameter 'conversation_pbx_phone_number_uuid' is set
4549
+ if @api_client.config.client_side_validation && conversation_pbx_phone_number_uuid.nil?
4550
+ fail ArgumentError, "Missing the required parameter 'conversation_pbx_phone_number_uuid' when calling ConversationApi.protect_pbx_phone_number"
4551
+ end
4552
+ # resource path
4553
+ local_var_path = '/conversation/pbx/phone_number/{conversationPbxPhoneNumberUuid}/protect'.sub('{' + 'conversationPbxPhoneNumberUuid' + '}', conversation_pbx_phone_number_uuid.to_s)
4554
+
4555
+ # query parameters
4556
+ query_params = {}
4557
+
4558
+ # header parameters
4559
+ header_params = {}
4560
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
4561
+ # HTTP header 'Accept' (if needed)
4562
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4563
+ # HTTP header 'Content-Type'
4564
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4565
+
4566
+ # form parameters
4567
+ form_params = {}
4568
+
4569
+ # http body (model)
4570
+ post_body = nil
4571
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
4572
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
4573
+ :header_params => header_params,
4574
+ :query_params => query_params,
4575
+ :form_params => form_params,
4576
+ :body => post_body,
4577
+ :auth_names => auth_names,
4578
+ :return_type => 'ConversationPbxPhoneNumberResponse')
4579
+ if @api_client.config.debugging
4580
+ @api_client.config.logger.debug "API called: ConversationApi#protect_pbx_phone_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4581
+ end
4582
+ return data, status_code, headers
4583
+ end
4584
+ # Purchase pbx phone number
4585
+ # Purchase a phone number from Twilio. The phone_number must be from the available phone number search results.
4586
+ # @param phone_number_purchase_request Phone number purchase request
4587
+ # @param [Hash] opts the optional parameters
4588
+ # @return [ConversationPbxPhoneNumberResponse]
4589
+ def purchase_pbx_phone_number(phone_number_purchase_request, opts = {})
4590
+ data, _status_code, _headers = purchase_pbx_phone_number_with_http_info(phone_number_purchase_request, opts)
4591
+ data
4592
+ end
4593
+
4594
+ # Purchase pbx phone number
4595
+ # Purchase a phone number from Twilio. The phone_number must be from the available phone number search results.
4596
+ # @param phone_number_purchase_request Phone number purchase request
4597
+ # @param [Hash] opts the optional parameters
4598
+ # @return [Array<(ConversationPbxPhoneNumberResponse, Fixnum, Hash)>] ConversationPbxPhoneNumberResponse data, response status code and response headers
4599
+ def purchase_pbx_phone_number_with_http_info(phone_number_purchase_request, opts = {})
4600
+ if @api_client.config.debugging
4601
+ @api_client.config.logger.debug 'Calling API: ConversationApi.purchase_pbx_phone_number ...'
4602
+ end
4603
+ # verify the required parameter 'phone_number_purchase_request' is set
4604
+ if @api_client.config.client_side_validation && phone_number_purchase_request.nil?
4605
+ fail ArgumentError, "Missing the required parameter 'phone_number_purchase_request' when calling ConversationApi.purchase_pbx_phone_number"
4606
+ end
4607
+ # resource path
4608
+ local_var_path = '/conversation/pbx/phone_number'
4609
+
4610
+ # query parameters
4611
+ query_params = {}
4612
+
4613
+ # header parameters
4614
+ header_params = {}
4615
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
4616
+ # HTTP header 'Accept' (if needed)
4617
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4618
+ # HTTP header 'Content-Type'
4619
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4620
+
4621
+ # form parameters
4622
+ form_params = {}
4623
+
4624
+ # http body (model)
4625
+ post_body = @api_client.object_to_http_body(phone_number_purchase_request)
4626
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
4627
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
4628
+ :header_params => header_params,
4629
+ :query_params => query_params,
4630
+ :form_params => form_params,
4631
+ :body => post_body,
4632
+ :auth_names => auth_names,
4633
+ :return_type => 'ConversationPbxPhoneNumberResponse')
4634
+ if @api_client.config.debugging
4635
+ @api_client.config.logger.debug "API called: ConversationApi#purchase_pbx_phone_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4636
+ end
4637
+ return data, status_code, headers
4638
+ end
4261
4639
  # reset statistics within the queue
4262
4640
  # reset statistics within the queue
4263
4641
  # @param queue_uuid
@@ -4367,6 +4745,80 @@ module UltracartClient
4367
4745
  end
4368
4746
  return data, status_code, headers
4369
4747
  end
4748
+ # Search for available phone numbers
4749
+ # Search for available phone numbers from Twilio that can be purchased
4750
+ # @param country ISO country code (e.g., US, CA, GB)
4751
+ # @param [Hash] opts the optional parameters
4752
+ # @option opts [String] :area_code Area code filter (e.g., 614)
4753
+ # @option opts [String] :contains Pattern to match (e.g., 555, *PIZZA)
4754
+ # @option opts [BOOLEAN] :sms_enabled Filter for SMS capability
4755
+ # @option opts [BOOLEAN] :voice_enabled Filter for voice capability
4756
+ # @option opts [String] :type Phone number type
4757
+ # @option opts [Integer] :limit Max results (default 20, max 100)
4758
+ # @return [ConversationPbxAvailablePhoneNumbersResponse]
4759
+ def search_pbx_available_phone_numbers(country, opts = {})
4760
+ data, _status_code, _headers = search_pbx_available_phone_numbers_with_http_info(country, opts)
4761
+ data
4762
+ end
4763
+
4764
+ # Search for available phone numbers
4765
+ # Search for available phone numbers from Twilio that can be purchased
4766
+ # @param country ISO country code (e.g., US, CA, GB)
4767
+ # @param [Hash] opts the optional parameters
4768
+ # @option opts [String] :area_code Area code filter (e.g., 614)
4769
+ # @option opts [String] :contains Pattern to match (e.g., 555, *PIZZA)
4770
+ # @option opts [BOOLEAN] :sms_enabled Filter for SMS capability
4771
+ # @option opts [BOOLEAN] :voice_enabled Filter for voice capability
4772
+ # @option opts [String] :type Phone number type
4773
+ # @option opts [Integer] :limit Max results (default 20, max 100)
4774
+ # @return [Array<(ConversationPbxAvailablePhoneNumbersResponse, Fixnum, Hash)>] ConversationPbxAvailablePhoneNumbersResponse data, response status code and response headers
4775
+ def search_pbx_available_phone_numbers_with_http_info(country, opts = {})
4776
+ if @api_client.config.debugging
4777
+ @api_client.config.logger.debug 'Calling API: ConversationApi.search_pbx_available_phone_numbers ...'
4778
+ end
4779
+ # verify the required parameter 'country' is set
4780
+ if @api_client.config.client_side_validation && country.nil?
4781
+ fail ArgumentError, "Missing the required parameter 'country' when calling ConversationApi.search_pbx_available_phone_numbers"
4782
+ end
4783
+ # resource path
4784
+ local_var_path = '/conversation/pbx/phone_number/search'
4785
+
4786
+ # query parameters
4787
+ query_params = {}
4788
+ query_params[:'country'] = country
4789
+ query_params[:'area_code'] = opts[:'area_code'] if !opts[:'area_code'].nil?
4790
+ query_params[:'contains'] = opts[:'contains'] if !opts[:'contains'].nil?
4791
+ query_params[:'sms_enabled'] = opts[:'sms_enabled'] if !opts[:'sms_enabled'].nil?
4792
+ query_params[:'voice_enabled'] = opts[:'voice_enabled'] if !opts[:'voice_enabled'].nil?
4793
+ query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
4794
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
4795
+
4796
+ # header parameters
4797
+ header_params = {}
4798
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
4799
+ # HTTP header 'Accept' (if needed)
4800
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
4801
+ # HTTP header 'Content-Type'
4802
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
4803
+
4804
+ # form parameters
4805
+ form_params = {}
4806
+
4807
+ # http body (model)
4808
+ post_body = nil
4809
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
4810
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
4811
+ :header_params => header_params,
4812
+ :query_params => query_params,
4813
+ :form_params => form_params,
4814
+ :body => post_body,
4815
+ :auth_names => auth_names,
4816
+ :return_type => 'ConversationPbxAvailablePhoneNumbersResponse')
4817
+ if @api_client.config.debugging
4818
+ @api_client.config.logger.debug "API called: ConversationApi#search_pbx_available_phone_numbers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
4819
+ end
4820
+ return data, status_code, headers
4821
+ end
4370
4822
  # Unsubscribe any SMS participants in this conversation
4371
4823
  # Unsubscribe any SMS participants in this conversation
4372
4824
  # @param conversation_uuid
@@ -4841,6 +5293,67 @@ module UltracartClient
4841
5293
  end
4842
5294
  return data, status_code, headers
4843
5295
  end
5296
+ # Update pbx address
5297
+ # Update a pbx address
5298
+ # @param conversation_pbx_address_uuid
5299
+ # @param pbx_address Pbx Address
5300
+ # @param [Hash] opts the optional parameters
5301
+ # @return [ConversationPbxAddressResponse]
5302
+ def update_pbx_address(conversation_pbx_address_uuid, pbx_address, opts = {})
5303
+ data, _status_code, _headers = update_pbx_address_with_http_info(conversation_pbx_address_uuid, pbx_address, opts)
5304
+ data
5305
+ end
5306
+
5307
+ # Update pbx address
5308
+ # Update a pbx address
5309
+ # @param conversation_pbx_address_uuid
5310
+ # @param pbx_address Pbx Address
5311
+ # @param [Hash] opts the optional parameters
5312
+ # @return [Array<(ConversationPbxAddressResponse, Fixnum, Hash)>] ConversationPbxAddressResponse data, response status code and response headers
5313
+ def update_pbx_address_with_http_info(conversation_pbx_address_uuid, pbx_address, opts = {})
5314
+ if @api_client.config.debugging
5315
+ @api_client.config.logger.debug 'Calling API: ConversationApi.update_pbx_address ...'
5316
+ end
5317
+ # verify the required parameter 'conversation_pbx_address_uuid' is set
5318
+ if @api_client.config.client_side_validation && conversation_pbx_address_uuid.nil?
5319
+ fail ArgumentError, "Missing the required parameter 'conversation_pbx_address_uuid' when calling ConversationApi.update_pbx_address"
5320
+ end
5321
+ # verify the required parameter 'pbx_address' is set
5322
+ if @api_client.config.client_side_validation && pbx_address.nil?
5323
+ fail ArgumentError, "Missing the required parameter 'pbx_address' when calling ConversationApi.update_pbx_address"
5324
+ end
5325
+ # resource path
5326
+ local_var_path = '/conversation/pbx/address/{conversationPbxAddressUuid}'.sub('{' + 'conversationPbxAddressUuid' + '}', conversation_pbx_address_uuid.to_s)
5327
+
5328
+ # query parameters
5329
+ query_params = {}
5330
+
5331
+ # header parameters
5332
+ header_params = {}
5333
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
5334
+ # HTTP header 'Accept' (if needed)
5335
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
5336
+ # HTTP header 'Content-Type'
5337
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
5338
+
5339
+ # form parameters
5340
+ form_params = {}
5341
+
5342
+ # http body (model)
5343
+ post_body = @api_client.object_to_http_body(pbx_address)
5344
+ auth_names = ['ultraCartOauth', 'ultraCartSimpleApiKey']
5345
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
5346
+ :header_params => header_params,
5347
+ :query_params => query_params,
5348
+ :form_params => form_params,
5349
+ :body => post_body,
5350
+ :auth_names => auth_names,
5351
+ :return_type => 'ConversationPbxAddressResponse')
5352
+ if @api_client.config.debugging
5353
+ @api_client.config.logger.debug "API called: ConversationApi#update_pbx_address\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
5354
+ end
5355
+ return data, status_code, headers
5356
+ end
4844
5357
  # Update pbx agent
4845
5358
  # Update a pbx agent
4846
5359
  # @param conversation_pbx_agent_uuid
@@ -31,6 +31,12 @@ module UltracartClient
31
31
  # Additional instructions for this AI when handling ticket draft replies
32
32
  attr_accessor :ai_ticket_instructions
33
33
 
34
+ # Additional voice instructions for this AI when handling voice calls
35
+ attr_accessor :ai_voice_instructions
36
+
37
+ # Which AI voice personality to use when handling the call.
38
+ attr_accessor :ai_voice_personality
39
+
34
40
  # The number of engagement chats that can be pushed on them at any given time.
35
41
  attr_accessor :chat_limit
36
42
 
@@ -92,6 +98,8 @@ module UltracartClient
92
98
  :'ai_persona' => :'ai_persona',
93
99
  :'ai_sms_instructions' => :'ai_sms_instructions',
94
100
  :'ai_ticket_instructions' => :'ai_ticket_instructions',
101
+ :'ai_voice_instructions' => :'ai_voice_instructions',
102
+ :'ai_voice_personality' => :'ai_voice_personality',
95
103
  :'chat_limit' => :'chat_limit',
96
104
  :'default_language_iso_code' => :'default_language_iso_code',
97
105
  :'default_status' => :'default_status',
@@ -114,6 +122,8 @@ module UltracartClient
114
122
  :'ai_persona' => :'String',
115
123
  :'ai_sms_instructions' => :'String',
116
124
  :'ai_ticket_instructions' => :'String',
125
+ :'ai_voice_instructions' => :'String',
126
+ :'ai_voice_personality' => :'String',
117
127
  :'chat_limit' => :'Integer',
118
128
  :'default_language_iso_code' => :'String',
119
129
  :'default_status' => :'String',
@@ -159,6 +169,14 @@ module UltracartClient
159
169
  self.ai_ticket_instructions = attributes[:'ai_ticket_instructions']
160
170
  end
161
171
 
172
+ if attributes.has_key?(:'ai_voice_instructions')
173
+ self.ai_voice_instructions = attributes[:'ai_voice_instructions']
174
+ end
175
+
176
+ if attributes.has_key?(:'ai_voice_personality')
177
+ self.ai_voice_personality = attributes[:'ai_voice_personality']
178
+ end
179
+
162
180
  if attributes.has_key?(:'chat_limit')
163
181
  self.chat_limit = attributes[:'chat_limit']
164
182
  end
@@ -214,11 +232,23 @@ module UltracartClient
214
232
  # Check to see if the all the properties in the model are valid
215
233
  # @return true if the model is valid
216
234
  def valid?
235
+ ai_voice_personality_validator = EnumAttributeValidator.new('String', ['Ara', 'Rex', 'Sal', 'Eve', 'Leo'])
236
+ return false unless ai_voice_personality_validator.valid?(@ai_voice_personality)
217
237
  default_status_validator = EnumAttributeValidator.new('String', ['available', 'busy', 'unavailable'])
218
238
  return false unless default_status_validator.valid?(@default_status)
219
239
  true
220
240
  end
221
241
 
242
+ # Custom attribute writer method checking allowed values (enum).
243
+ # @param [Object] ai_voice_personality Object to be assigned
244
+ def ai_voice_personality=(ai_voice_personality)
245
+ validator = EnumAttributeValidator.new('String', ['Ara', 'Rex', 'Sal', 'Eve', 'Leo'])
246
+ unless validator.valid?(ai_voice_personality)
247
+ fail ArgumentError, 'invalid value for "ai_voice_personality", must be one of #{validator.allowable_values}.'
248
+ end
249
+ @ai_voice_personality = ai_voice_personality
250
+ end
251
+
222
252
  # Custom attribute writer method checking allowed values (enum).
223
253
  # @param [Object] default_status Object to be assigned
224
254
  def default_status=(default_status)
@@ -240,6 +270,8 @@ module UltracartClient
240
270
  ai_persona == o.ai_persona &&
241
271
  ai_sms_instructions == o.ai_sms_instructions &&
242
272
  ai_ticket_instructions == o.ai_ticket_instructions &&
273
+ ai_voice_instructions == o.ai_voice_instructions &&
274
+ ai_voice_personality == o.ai_voice_personality &&
243
275
  chat_limit == o.chat_limit &&
244
276
  default_language_iso_code == o.default_language_iso_code &&
245
277
  default_status == o.default_status &&
@@ -261,7 +293,7 @@ module UltracartClient
261
293
  # Calculates hash code according to all attributes.
262
294
  # @return [Fixnum] Hash code
263
295
  def hash
264
- [ai, ai_capabilities, ai_chat_instructions, ai_persona, ai_sms_instructions, ai_ticket_instructions, chat_limit, default_language_iso_code, default_status, display_name, name, profile_image_upload_key, profile_image_url, user_id, zohodesk_classifications, zohodesk_departments].hash
296
+ [ai, ai_capabilities, ai_chat_instructions, ai_persona, ai_sms_instructions, ai_ticket_instructions, ai_voice_instructions, ai_voice_personality, chat_limit, default_language_iso_code, default_status, display_name, name, profile_image_upload_key, profile_image_url, user_id, zohodesk_classifications, zohodesk_departments].hash
265
297
  end
266
298
 
267
299
  # Builds the object from hash