ultracart-rest-sdk 4.1.49__py3-none-any.whl → 4.1.55__py3-none-any.whl

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.
Files changed (33) hide show
  1. ultracart/__init__.py +1 -1
  2. ultracart/api/conversation_api.py +292 -0
  3. ultracart/api_client.py +1 -1
  4. ultracart/configuration.py +1 -1
  5. ultracart/model/conversation_pbx_agent.py +21 -4
  6. ultracart/model/conversation_pbx_call.py +370 -0
  7. ultracart/model/conversation_pbx_call_agent.py +296 -0
  8. ultracart/model/conversation_pbx_call_ai_cost.py +276 -0
  9. ultracart/model/conversation_pbx_call_ai_engagement.py +314 -0
  10. ultracart/model/conversation_pbx_call_ai_tool_call.py +296 -0
  11. ultracart/model/conversation_pbx_call_ai_whisper.py +276 -0
  12. ultracart/model/conversation_pbx_call_caller.py +280 -0
  13. ultracart/model/conversation_pbx_call_financial.py +288 -0
  14. ultracart/model/conversation_pbx_call_hold.py +276 -0
  15. ultracart/model/conversation_pbx_call_queue.py +284 -0
  16. ultracart/model/conversation_pbx_call_recording.py +294 -0
  17. ultracart/model/conversation_pbx_call_response.py +292 -0
  18. ultracart/model/conversation_pbx_call_routing.py +278 -0
  19. ultracart/model/conversation_pbx_call_search_request.py +324 -0
  20. ultracart/model/conversation_pbx_call_search_response.py +292 -0
  21. ultracart/model/conversation_pbx_call_timeline.py +284 -0
  22. ultracart/model/conversation_pbx_call_transcript.py +294 -0
  23. ultracart/model/conversation_pbx_call_transcript_segment.py +292 -0
  24. ultracart/model/conversation_pbx_call_transfer.py +280 -0
  25. ultracart/model/conversation_pbx_hardware_phone.py +21 -2
  26. ultracart/model/conversation_pbx_phone_number.py +4 -0
  27. ultracart/model/conversation_pbx_queue.py +4 -0
  28. ultracart/models/__init__.py +19 -0
  29. {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.55.dist-info}/METADATA +1 -1
  30. {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.55.dist-info}/RECORD +33 -14
  31. {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.55.dist-info}/LICENSE +0 -0
  32. {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.55.dist-info}/WHEEL +0 -0
  33. {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.55.dist-info}/top_level.txt +0 -0
ultracart/__init__.py CHANGED
@@ -11,7 +11,7 @@
11
11
  """
12
12
 
13
13
 
14
- __version__ = "4.1.49"
14
+ __version__ = "4.1.55"
15
15
 
16
16
  # import ApiClient
17
17
  from ultracart.api_client import ApiClient
@@ -64,6 +64,9 @@ from ultracart.model.conversation_pbx_audio_upload_url_response import Conversat
64
64
  from ultracart.model.conversation_pbx_audio_usage_response import ConversationPbxAudioUsageResponse
65
65
  from ultracart.model.conversation_pbx_audios_response import ConversationPbxAudiosResponse
66
66
  from ultracart.model.conversation_pbx_available_phone_numbers_response import ConversationPbxAvailablePhoneNumbersResponse
67
+ from ultracart.model.conversation_pbx_call_response import ConversationPbxCallResponse
68
+ from ultracart.model.conversation_pbx_call_search_request import ConversationPbxCallSearchRequest
69
+ from ultracart.model.conversation_pbx_call_search_response import ConversationPbxCallSearchResponse
67
70
  from ultracart.model.conversation_pbx_customer_snapshot_request import ConversationPbxCustomerSnapshotRequest
68
71
  from ultracart.model.conversation_pbx_customer_snapshot_response import ConversationPbxCustomerSnapshotResponse
69
72
  from ultracart.model.conversation_pbx_hardware_phone import ConversationPbxHardwarePhone
@@ -2745,6 +2748,58 @@ class ConversationApi(object):
2745
2748
  },
2746
2749
  api_client=api_client
2747
2750
  )
2751
+ self.get_pbx_call_endpoint = _Endpoint(
2752
+ settings={
2753
+ 'response_type': (ConversationPbxCallResponse,),
2754
+ 'auth': [
2755
+ 'ultraCartOauth',
2756
+ 'ultraCartSimpleApiKey'
2757
+ ],
2758
+ 'endpoint_path': '/conversation/pbx/call/{callUuid}',
2759
+ 'operation_id': 'get_pbx_call',
2760
+ 'http_method': 'GET',
2761
+ 'servers': None,
2762
+ },
2763
+ params_map={
2764
+ 'all': [
2765
+ 'call_uuid',
2766
+ ],
2767
+ 'required': [
2768
+ 'call_uuid',
2769
+ ],
2770
+ 'nullable': [
2771
+ ],
2772
+ 'enum': [
2773
+ ],
2774
+ 'validation': [
2775
+ ]
2776
+ },
2777
+ root_map={
2778
+ 'validations': {
2779
+ },
2780
+ 'allowed_values': {
2781
+ },
2782
+ 'openapi_types': {
2783
+ 'call_uuid':
2784
+ (str,),
2785
+ },
2786
+ 'attribute_map': {
2787
+ 'call_uuid': 'callUuid',
2788
+ },
2789
+ 'location_map': {
2790
+ 'call_uuid': 'path',
2791
+ },
2792
+ 'collection_format_map': {
2793
+ }
2794
+ },
2795
+ headers_map={
2796
+ 'accept': [
2797
+ 'application/json'
2798
+ ],
2799
+ 'content_type': [],
2800
+ },
2801
+ api_client=api_client
2802
+ )
2748
2803
  self.get_pbx_hardware_phone_endpoint = _Endpoint(
2749
2804
  settings={
2750
2805
  'response_type': (ConversationPbxHardwarePhoneResponse,),
@@ -4993,6 +5048,74 @@ class ConversationApi(object):
4993
5048
  },
4994
5049
  api_client=api_client
4995
5050
  )
5051
+ self.search_pbx_calls_endpoint = _Endpoint(
5052
+ settings={
5053
+ 'response_type': (ConversationPbxCallSearchResponse,),
5054
+ 'auth': [
5055
+ 'ultraCartOauth',
5056
+ 'ultraCartSimpleApiKey'
5057
+ ],
5058
+ 'endpoint_path': '/conversation/pbx/call/search',
5059
+ 'operation_id': 'search_pbx_calls',
5060
+ 'http_method': 'POST',
5061
+ 'servers': None,
5062
+ },
5063
+ params_map={
5064
+ 'all': [
5065
+ 'search_request',
5066
+ 'limit',
5067
+ 'offset',
5068
+ 'sort',
5069
+ ],
5070
+ 'required': [
5071
+ 'search_request',
5072
+ ],
5073
+ 'nullable': [
5074
+ ],
5075
+ 'enum': [
5076
+ ],
5077
+ 'validation': [
5078
+ ]
5079
+ },
5080
+ root_map={
5081
+ 'validations': {
5082
+ },
5083
+ 'allowed_values': {
5084
+ },
5085
+ 'openapi_types': {
5086
+ 'search_request':
5087
+ (ConversationPbxCallSearchRequest,),
5088
+ 'limit':
5089
+ (int,),
5090
+ 'offset':
5091
+ (int,),
5092
+ 'sort':
5093
+ (str,),
5094
+ },
5095
+ 'attribute_map': {
5096
+ 'limit': '_limit',
5097
+ 'offset': '_offset',
5098
+ 'sort': '_sort',
5099
+ },
5100
+ 'location_map': {
5101
+ 'search_request': 'body',
5102
+ 'limit': 'query',
5103
+ 'offset': 'query',
5104
+ 'sort': 'query',
5105
+ },
5106
+ 'collection_format_map': {
5107
+ }
5108
+ },
5109
+ headers_map={
5110
+ 'accept': [
5111
+ 'application/json'
5112
+ ],
5113
+ 'content_type': [
5114
+ 'application/json'
5115
+ ]
5116
+ },
5117
+ api_client=api_client
5118
+ )
4996
5119
  self.sms_unsubscribe_conversation_endpoint = _Endpoint(
4997
5120
  settings={
4998
5121
  'response_type': None,
@@ -10336,6 +10459,89 @@ class ConversationApi(object):
10336
10459
  kwargs['_request_auths'] = kwargs.get('_request_auths', None)
10337
10460
  return self.get_pbx_audios_endpoint.call_with_http_info(**kwargs)
10338
10461
 
10462
+ def get_pbx_call(
10463
+ self,
10464
+ call_uuid,
10465
+ **kwargs
10466
+ ):
10467
+ """Get pbx call record # noqa: E501
10468
+
10469
+ Retrieve a single PBX call record with full details # noqa: E501
10470
+ This method makes a synchronous HTTP request by default. To make an
10471
+ asynchronous HTTP request, please pass async_req=True
10472
+
10473
+ >>> thread = api.get_pbx_call(call_uuid, async_req=True)
10474
+ >>> result = thread.get()
10475
+
10476
+ Args:
10477
+ call_uuid (str):
10478
+
10479
+ Keyword Args:
10480
+ _return_http_data_only (bool): response data without head status
10481
+ code and headers. Default is True.
10482
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
10483
+ will be returned without reading/decoding response data.
10484
+ Default is True.
10485
+ _request_timeout (int/float/tuple): timeout setting for this request. If
10486
+ one number provided, it will be total request timeout. It can also
10487
+ be a pair (tuple) of (connection, read) timeouts.
10488
+ Default is None.
10489
+ _check_input_type (bool): specifies if type checking
10490
+ should be done one the data sent to the server.
10491
+ Default is True.
10492
+ _check_return_type (bool): specifies if type checking
10493
+ should be done one the data received from the server.
10494
+ Default is True.
10495
+ _spec_property_naming (bool): True if the variable names in the input data
10496
+ are serialized names, as specified in the OpenAPI document.
10497
+ False if the variable names in the input data
10498
+ are pythonic names, e.g. snake case (default)
10499
+ _content_type (str/None): force body content-type.
10500
+ Default is None and content-type will be predicted by allowed
10501
+ content-types and body.
10502
+ _host_index (int/None): specifies the index of the server
10503
+ that we want to use.
10504
+ Default is read from the configuration.
10505
+ _request_auths (list): set to override the auth_settings for an a single
10506
+ request; this effectively ignores the authentication
10507
+ in the spec for a single request.
10508
+ Default is None
10509
+ async_req (bool): execute request asynchronously
10510
+
10511
+ Returns:
10512
+ ConversationPbxCallResponse
10513
+ If the method is called asynchronously, returns the request
10514
+ thread.
10515
+ """
10516
+ kwargs['async_req'] = kwargs.get(
10517
+ 'async_req', False
10518
+ )
10519
+ kwargs['_return_http_data_only'] = kwargs.get(
10520
+ '_return_http_data_only', True
10521
+ )
10522
+ kwargs['_preload_content'] = kwargs.get(
10523
+ '_preload_content', True
10524
+ )
10525
+ kwargs['_request_timeout'] = kwargs.get(
10526
+ '_request_timeout', None
10527
+ )
10528
+ kwargs['_check_input_type'] = kwargs.get(
10529
+ '_check_input_type', True
10530
+ )
10531
+ kwargs['_check_return_type'] = kwargs.get(
10532
+ '_check_return_type', True
10533
+ )
10534
+ kwargs['_spec_property_naming'] = kwargs.get(
10535
+ '_spec_property_naming', False
10536
+ )
10537
+ kwargs['_content_type'] = kwargs.get(
10538
+ '_content_type')
10539
+ kwargs['_host_index'] = kwargs.get('_host_index')
10540
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
10541
+ kwargs['call_uuid'] = \
10542
+ call_uuid
10543
+ return self.get_pbx_call_endpoint.call_with_http_info(**kwargs)
10544
+
10339
10545
  def get_pbx_hardware_phone(
10340
10546
  self,
10341
10547
  conversation_pbx_hardware_phone_uuid,
@@ -13882,6 +14088,92 @@ class ConversationApi(object):
13882
14088
  country
13883
14089
  return self.search_pbx_available_phone_numbers_endpoint.call_with_http_info(**kwargs)
13884
14090
 
14091
+ def search_pbx_calls(
14092
+ self,
14093
+ search_request,
14094
+ **kwargs
14095
+ ):
14096
+ """Search pbx call records # noqa: E501
14097
+
14098
+ Search and list PBX call records with filtering, sorting, and pagination # noqa: E501
14099
+ This method makes a synchronous HTTP request by default. To make an
14100
+ asynchronous HTTP request, please pass async_req=True
14101
+
14102
+ >>> thread = api.search_pbx_calls(search_request, async_req=True)
14103
+ >>> result = thread.get()
14104
+
14105
+ Args:
14106
+ search_request (ConversationPbxCallSearchRequest): Search Request
14107
+
14108
+ Keyword Args:
14109
+ limit (int): The maximum number of records to return on this one API call. (Maximum 200). [optional] if omitted the server will use the default value of 100
14110
+ offset (int): Pagination of the record set. Offset is a zero based index.. [optional] if omitted the server will use the default value of 0
14111
+ sort (str): The sort order of the calls.. [optional]
14112
+ _return_http_data_only (bool): response data without head status
14113
+ code and headers. Default is True.
14114
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
14115
+ will be returned without reading/decoding response data.
14116
+ Default is True.
14117
+ _request_timeout (int/float/tuple): timeout setting for this request. If
14118
+ one number provided, it will be total request timeout. It can also
14119
+ be a pair (tuple) of (connection, read) timeouts.
14120
+ Default is None.
14121
+ _check_input_type (bool): specifies if type checking
14122
+ should be done one the data sent to the server.
14123
+ Default is True.
14124
+ _check_return_type (bool): specifies if type checking
14125
+ should be done one the data received from the server.
14126
+ Default is True.
14127
+ _spec_property_naming (bool): True if the variable names in the input data
14128
+ are serialized names, as specified in the OpenAPI document.
14129
+ False if the variable names in the input data
14130
+ are pythonic names, e.g. snake case (default)
14131
+ _content_type (str/None): force body content-type.
14132
+ Default is None and content-type will be predicted by allowed
14133
+ content-types and body.
14134
+ _host_index (int/None): specifies the index of the server
14135
+ that we want to use.
14136
+ Default is read from the configuration.
14137
+ _request_auths (list): set to override the auth_settings for an a single
14138
+ request; this effectively ignores the authentication
14139
+ in the spec for a single request.
14140
+ Default is None
14141
+ async_req (bool): execute request asynchronously
14142
+
14143
+ Returns:
14144
+ ConversationPbxCallSearchResponse
14145
+ If the method is called asynchronously, returns the request
14146
+ thread.
14147
+ """
14148
+ kwargs['async_req'] = kwargs.get(
14149
+ 'async_req', False
14150
+ )
14151
+ kwargs['_return_http_data_only'] = kwargs.get(
14152
+ '_return_http_data_only', True
14153
+ )
14154
+ kwargs['_preload_content'] = kwargs.get(
14155
+ '_preload_content', True
14156
+ )
14157
+ kwargs['_request_timeout'] = kwargs.get(
14158
+ '_request_timeout', None
14159
+ )
14160
+ kwargs['_check_input_type'] = kwargs.get(
14161
+ '_check_input_type', True
14162
+ )
14163
+ kwargs['_check_return_type'] = kwargs.get(
14164
+ '_check_return_type', True
14165
+ )
14166
+ kwargs['_spec_property_naming'] = kwargs.get(
14167
+ '_spec_property_naming', False
14168
+ )
14169
+ kwargs['_content_type'] = kwargs.get(
14170
+ '_content_type')
14171
+ kwargs['_host_index'] = kwargs.get('_host_index')
14172
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
14173
+ kwargs['search_request'] = \
14174
+ search_request
14175
+ return self.search_pbx_calls_endpoint.call_with_http_info(**kwargs)
14176
+
13885
14177
  def sms_unsubscribe_conversation(
13886
14178
  self,
13887
14179
  conversation_uuid,
ultracart/api_client.py CHANGED
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = 'OpenAPI-Generator/4.1.49/python'
80
+ self.user_agent = 'OpenAPI-Generator/4.1.55/python'
81
81
 
82
82
  def __enter__(self):
83
83
  return self
@@ -422,7 +422,7 @@ conf = ultracart.Configuration(
422
422
  "OS: {env}\n"\
423
423
  "Python Version: {pyversion}\n"\
424
424
  "Version of the API: 2.0.0\n"\
425
- "SDK Package Version: 4.1.49".\
425
+ "SDK Package Version: 4.1.55".\
426
426
  format(env=sys.platform, pyversion=sys.version)
427
427
 
428
428
  def get_host_settings(self):
@@ -56,6 +56,11 @@ class ConversationPbxAgent(ModelNormal):
56
56
  """
57
57
 
58
58
  allowed_values = {
59
+ ('call_routing_preference',): {
60
+ 'SOFTPHONE': "softphone",
61
+ 'HARDWARE_PHONE': "hardware_phone",
62
+ 'CELLPHONE': "cellphone",
63
+ },
59
64
  }
60
65
 
61
66
  validations = {
@@ -104,14 +109,17 @@ class ConversationPbxAgent(ModelNormal):
104
109
  """
105
110
  return {
106
111
  'ai': (bool,), # noqa: E501
112
+ 'call_routing_preference': (str,), # noqa: E501
107
113
  'cellphone': (str,), # noqa: E501
108
114
  'conversation_pbx_agent_uuid': (str,), # noqa: E501
115
+ 'default_phone_number_uuid': (str,), # noqa: E501
109
116
  'extension': (int,), # noqa: E501
110
- 'forward_calls_to_cellphone': (bool,), # noqa: E501
111
117
  'full_name': (str,), # noqa: E501
118
+ 'hardware_phone_uuids': ([str],), # noqa: E501
112
119
  'login': (str,), # noqa: E501
113
120
  'merchant_id': (str,), # noqa: E501
114
121
  'personal_conversation_pbx_voicemail_mailbox_uuid': (str,), # noqa: E501
122
+ 'preferred_hardware_phone_uuid': (str,), # noqa: E501
115
123
  'record_outgoing_automatically': (bool,), # noqa: E501
116
124
  'shared_conversation_pbx_voicemail_mailbox_uuid': (str,), # noqa: E501
117
125
  'twilio_taskrouter_worker_id': (str,), # noqa: E501
@@ -129,14 +137,17 @@ class ConversationPbxAgent(ModelNormal):
129
137
 
130
138
  attribute_map = {
131
139
  'ai': 'ai', # noqa: E501
140
+ 'call_routing_preference': 'call_routing_preference', # noqa: E501
132
141
  'cellphone': 'cellphone', # noqa: E501
133
142
  'conversation_pbx_agent_uuid': 'conversation_pbx_agent_uuid', # noqa: E501
143
+ 'default_phone_number_uuid': 'default_phone_number_uuid', # noqa: E501
134
144
  'extension': 'extension', # noqa: E501
135
- 'forward_calls_to_cellphone': 'forward_calls_to_cellphone', # noqa: E501
136
145
  'full_name': 'full_name', # noqa: E501
146
+ 'hardware_phone_uuids': 'hardware_phone_uuids', # noqa: E501
137
147
  'login': 'login', # noqa: E501
138
148
  'merchant_id': 'merchant_id', # noqa: E501
139
149
  'personal_conversation_pbx_voicemail_mailbox_uuid': 'personal_conversation_pbx_voicemail_mailbox_uuid', # noqa: E501
150
+ 'preferred_hardware_phone_uuid': 'preferred_hardware_phone_uuid', # noqa: E501
140
151
  'record_outgoing_automatically': 'record_outgoing_automatically', # noqa: E501
141
152
  'shared_conversation_pbx_voicemail_mailbox_uuid': 'shared_conversation_pbx_voicemail_mailbox_uuid', # noqa: E501
142
153
  'twilio_taskrouter_worker_id': 'twilio_taskrouter_worker_id', # noqa: E501
@@ -189,14 +200,17 @@ class ConversationPbxAgent(ModelNormal):
189
200
  through its discriminator because we passed in
190
201
  _visited_composed_classes = (Animal,)
191
202
  ai (bool): Flag to indicate if the agent is AI. [optional] # noqa: E501
203
+ call_routing_preference (str): The call routing preference. [optional] # noqa: E501
192
204
  cellphone (str): Cellphone number of agent in E.164 format. [optional] # noqa: E501
193
205
  conversation_pbx_agent_uuid (str): Conversation Pbx Agent unique identifier. [optional] # noqa: E501
206
+ default_phone_number_uuid (str): The default phone number that this agent should dial out to the PSTN with.. [optional] # noqa: E501
194
207
  extension (int): Extension. [optional] # noqa: E501
195
- forward_calls_to_cellphone (bool): True if calls to this agent should be forwarded to their cellphone. [optional] # noqa: E501
196
208
  full_name (str): Full name. [optional] # noqa: E501
209
+ hardware_phone_uuids ([str]): Array of hardware phones UUIDs associated with this agent. [optional] # noqa: E501
197
210
  login (str): Agent login. [optional] # noqa: E501
198
211
  merchant_id (str): Merchant Id. [optional] # noqa: E501
199
212
  personal_conversation_pbx_voicemail_mailbox_uuid (str): Personal Conversation Pbx Voicemail Mailbox UUID. [optional] # noqa: E501
213
+ preferred_hardware_phone_uuid (str): The hardware phone that will be dialed on an incoming call if routing preference is hardware_phone. [optional] # noqa: E501
200
214
  record_outgoing_automatically (bool): True if outgoing calls should be automatically recorded. [optional] # noqa: E501
201
215
  shared_conversation_pbx_voicemail_mailbox_uuid (str): Shared Conversation Pbx Voicemail Mailbox UUID. [optional] # noqa: E501
202
216
  twilio_taskrouter_worker_id (str): Twilio taskrouter worker Id. [optional] # noqa: E501
@@ -291,14 +305,17 @@ class ConversationPbxAgent(ModelNormal):
291
305
  through its discriminator because we passed in
292
306
  _visited_composed_classes = (Animal,)
293
307
  ai (bool): Flag to indicate if the agent is AI. [optional] # noqa: E501
308
+ call_routing_preference (str): The call routing preference. [optional] # noqa: E501
294
309
  cellphone (str): Cellphone number of agent in E.164 format. [optional] # noqa: E501
295
310
  conversation_pbx_agent_uuid (str): Conversation Pbx Agent unique identifier. [optional] # noqa: E501
311
+ default_phone_number_uuid (str): The default phone number that this agent should dial out to the PSTN with.. [optional] # noqa: E501
296
312
  extension (int): Extension. [optional] # noqa: E501
297
- forward_calls_to_cellphone (bool): True if calls to this agent should be forwarded to their cellphone. [optional] # noqa: E501
298
313
  full_name (str): Full name. [optional] # noqa: E501
314
+ hardware_phone_uuids ([str]): Array of hardware phones UUIDs associated with this agent. [optional] # noqa: E501
299
315
  login (str): Agent login. [optional] # noqa: E501
300
316
  merchant_id (str): Merchant Id. [optional] # noqa: E501
301
317
  personal_conversation_pbx_voicemail_mailbox_uuid (str): Personal Conversation Pbx Voicemail Mailbox UUID. [optional] # noqa: E501
318
+ preferred_hardware_phone_uuid (str): The hardware phone that will be dialed on an incoming call if routing preference is hardware_phone. [optional] # noqa: E501
302
319
  record_outgoing_automatically (bool): True if outgoing calls should be automatically recorded. [optional] # noqa: E501
303
320
  shared_conversation_pbx_voicemail_mailbox_uuid (str): Shared Conversation Pbx Voicemail Mailbox UUID. [optional] # noqa: E501
304
321
  twilio_taskrouter_worker_id (str): Twilio taskrouter worker Id. [optional] # noqa: E501