ultracart-rest-sdk 4.1.49__py3-none-any.whl → 4.1.54__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.
- ultracart/__init__.py +1 -1
- ultracart/api/conversation_api.py +292 -0
- ultracart/api_client.py +1 -1
- ultracart/configuration.py +1 -1
- ultracart/model/conversation_pbx_agent.py +21 -4
- ultracart/model/conversation_pbx_call.py +370 -0
- ultracart/model/conversation_pbx_call_agent.py +296 -0
- ultracart/model/conversation_pbx_call_ai_cost.py +276 -0
- ultracart/model/conversation_pbx_call_ai_engagement.py +314 -0
- ultracart/model/conversation_pbx_call_ai_tool_call.py +296 -0
- ultracart/model/conversation_pbx_call_ai_whisper.py +276 -0
- ultracart/model/conversation_pbx_call_caller.py +280 -0
- ultracart/model/conversation_pbx_call_financial.py +288 -0
- ultracart/model/conversation_pbx_call_hold.py +276 -0
- ultracart/model/conversation_pbx_call_queue.py +284 -0
- ultracart/model/conversation_pbx_call_recording.py +294 -0
- ultracart/model/conversation_pbx_call_response.py +292 -0
- ultracart/model/conversation_pbx_call_routing.py +278 -0
- ultracart/model/conversation_pbx_call_search_request.py +324 -0
- ultracart/model/conversation_pbx_call_search_response.py +292 -0
- ultracart/model/conversation_pbx_call_timeline.py +284 -0
- ultracart/model/conversation_pbx_call_transcript.py +294 -0
- ultracart/model/conversation_pbx_call_transcript_segment.py +292 -0
- ultracart/model/conversation_pbx_call_transfer.py +280 -0
- ultracart/model/conversation_pbx_hardware_phone.py +21 -2
- ultracart/model/conversation_pbx_phone_number.py +4 -0
- ultracart/model/conversation_pbx_queue.py +4 -0
- ultracart/models/__init__.py +19 -0
- {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.54.dist-info}/METADATA +1 -1
- {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.54.dist-info}/RECORD +33 -14
- {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.54.dist-info}/LICENSE +0 -0
- {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.54.dist-info}/WHEEL +0 -0
- {ultracart_rest_sdk-4.1.49.dist-info → ultracart_rest_sdk-4.1.54.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"""
|
|
2
|
+
UltraCart Rest API V2
|
|
3
|
+
|
|
4
|
+
UltraCart REST API Version 2 # noqa: E501
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 2.0.0
|
|
7
|
+
Contact: support@ultracart.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
import re # noqa: F401
|
|
13
|
+
import sys # noqa: F401
|
|
14
|
+
|
|
15
|
+
from ultracart.model_utils import ( # noqa: F401
|
|
16
|
+
ApiTypeError,
|
|
17
|
+
ModelComposed,
|
|
18
|
+
ModelNormal,
|
|
19
|
+
ModelSimple,
|
|
20
|
+
cached_property,
|
|
21
|
+
change_keys_js_to_python,
|
|
22
|
+
convert_js_args_to_python_args,
|
|
23
|
+
date,
|
|
24
|
+
datetime,
|
|
25
|
+
file_type,
|
|
26
|
+
none_type,
|
|
27
|
+
validate_get_composed_info,
|
|
28
|
+
OpenApiModel
|
|
29
|
+
)
|
|
30
|
+
from ultracart.exceptions import ApiAttributeError
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class ConversationPbxCallTransfer(ModelNormal):
|
|
35
|
+
"""NOTE: This class is auto generated by OpenAPI Generator.
|
|
36
|
+
Ref: https://openapi-generator.tech
|
|
37
|
+
|
|
38
|
+
Do not edit the class manually.
|
|
39
|
+
|
|
40
|
+
Attributes:
|
|
41
|
+
allowed_values (dict): The key is the tuple path to the attribute
|
|
42
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
43
|
+
with a capitalized key describing the allowed value and an allowed
|
|
44
|
+
value. These dicts store the allowed enum values.
|
|
45
|
+
attribute_map (dict): The key is attribute name
|
|
46
|
+
and the value is json key in definition.
|
|
47
|
+
discriminator_value_class_map (dict): A dict to go from the discriminator
|
|
48
|
+
variable value to the discriminator class name.
|
|
49
|
+
validations (dict): The key is the tuple path to the attribute
|
|
50
|
+
and the for var_name this is (var_name,). The value is a dict
|
|
51
|
+
that stores validations for max_length, min_length, max_items,
|
|
52
|
+
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
|
53
|
+
inclusive_minimum, and regex.
|
|
54
|
+
additional_properties_type (tuple): A tuple of classes accepted
|
|
55
|
+
as additional properties values.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
allowed_values = {
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
validations = {
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@cached_property
|
|
65
|
+
def additional_properties_type():
|
|
66
|
+
"""
|
|
67
|
+
This must be a method because a model may have properties that are
|
|
68
|
+
of type self, this must run after the class is loaded
|
|
69
|
+
"""
|
|
70
|
+
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
|
71
|
+
|
|
72
|
+
_nullable = False
|
|
73
|
+
|
|
74
|
+
@cached_property
|
|
75
|
+
def openapi_types():
|
|
76
|
+
"""
|
|
77
|
+
This must be a method because a model may have properties that are
|
|
78
|
+
of type self, this must run after the class is loaded
|
|
79
|
+
|
|
80
|
+
Returns
|
|
81
|
+
openapi_types (dict): The key is attribute name
|
|
82
|
+
and the value is attribute type.
|
|
83
|
+
"""
|
|
84
|
+
return {
|
|
85
|
+
'transfer_reason': (str,), # noqa: E501
|
|
86
|
+
'transfer_type': (str,), # noqa: E501
|
|
87
|
+
'transferred_at_dts': (str,), # noqa: E501
|
|
88
|
+
'transferred_by_agent_id': (str,), # noqa: E501
|
|
89
|
+
'transferred_to': (str,), # noqa: E501
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@cached_property
|
|
93
|
+
def discriminator():
|
|
94
|
+
return None
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
attribute_map = {
|
|
98
|
+
'transfer_reason': 'transfer_reason', # noqa: E501
|
|
99
|
+
'transfer_type': 'transfer_type', # noqa: E501
|
|
100
|
+
'transferred_at_dts': 'transferred_at_dts', # noqa: E501
|
|
101
|
+
'transferred_by_agent_id': 'transferred_by_agent_id', # noqa: E501
|
|
102
|
+
'transferred_to': 'transferred_to', # noqa: E501
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
read_only_vars = {
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
_composed_schemas = {}
|
|
109
|
+
|
|
110
|
+
@classmethod
|
|
111
|
+
@convert_js_args_to_python_args
|
|
112
|
+
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
|
|
113
|
+
"""ConversationPbxCallTransfer - a model defined in OpenAPI
|
|
114
|
+
|
|
115
|
+
Keyword Args:
|
|
116
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
117
|
+
will be type checked and a TypeError will be
|
|
118
|
+
raised if the wrong type is input.
|
|
119
|
+
Defaults to True
|
|
120
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
121
|
+
drill down to the model in received_data
|
|
122
|
+
when deserializing a response
|
|
123
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
124
|
+
are serialized names, as specified in the OpenAPI document.
|
|
125
|
+
False if the variable names in the input data
|
|
126
|
+
are pythonic names, e.g. snake case (default)
|
|
127
|
+
_configuration (Configuration): the instance to use when
|
|
128
|
+
deserializing a file_type parameter.
|
|
129
|
+
If passed, type conversion is attempted
|
|
130
|
+
If omitted no type conversion is done.
|
|
131
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
132
|
+
classes that we have traveled through so that
|
|
133
|
+
if we see that class again we will not use its
|
|
134
|
+
discriminator again.
|
|
135
|
+
When traveling through a discriminator, the
|
|
136
|
+
composed schema that is
|
|
137
|
+
is traveled through is added to this set.
|
|
138
|
+
For example if Animal has a discriminator
|
|
139
|
+
petType and we pass in "Dog", and the class Dog
|
|
140
|
+
allOf includes Animal, we move through Animal
|
|
141
|
+
once using the discriminator, and pick Dog.
|
|
142
|
+
Then in Dog, we will make an instance of the
|
|
143
|
+
Animal class but this time we won't travel
|
|
144
|
+
through its discriminator because we passed in
|
|
145
|
+
_visited_composed_classes = (Animal,)
|
|
146
|
+
transfer_reason (str): Reason provided for the transfer. [optional] # noqa: E501
|
|
147
|
+
transfer_type (str): Type of transfer performed. [optional] # noqa: E501
|
|
148
|
+
transferred_at_dts (str): Timestamp when the transfer occurred. [optional] # noqa: E501
|
|
149
|
+
transferred_by_agent_id (str): ID of the agent who initiated the transfer. [optional] # noqa: E501
|
|
150
|
+
transferred_to (str): Destination of the transfer (agent ID, queue name, or phone number). [optional] # noqa: E501
|
|
151
|
+
"""
|
|
152
|
+
|
|
153
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
154
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', True)
|
|
155
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
156
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
157
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
158
|
+
|
|
159
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
|
160
|
+
|
|
161
|
+
if args:
|
|
162
|
+
for arg in args:
|
|
163
|
+
if isinstance(arg, dict):
|
|
164
|
+
kwargs.update(arg)
|
|
165
|
+
else:
|
|
166
|
+
raise ApiTypeError(
|
|
167
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
168
|
+
args,
|
|
169
|
+
self.__class__.__name__,
|
|
170
|
+
),
|
|
171
|
+
path_to_item=_path_to_item,
|
|
172
|
+
valid_classes=(self.__class__,),
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
self._data_store = {}
|
|
176
|
+
self._check_type = _check_type
|
|
177
|
+
self._spec_property_naming = _spec_property_naming
|
|
178
|
+
self._path_to_item = _path_to_item
|
|
179
|
+
self._configuration = _configuration
|
|
180
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
181
|
+
|
|
182
|
+
for var_name, var_value in kwargs.items():
|
|
183
|
+
if var_name not in self.attribute_map and \
|
|
184
|
+
self._configuration is not None and \
|
|
185
|
+
self._configuration.discard_unknown_keys and \
|
|
186
|
+
self.additional_properties_type is None:
|
|
187
|
+
# discard variable.
|
|
188
|
+
continue
|
|
189
|
+
setattr(self, var_name, var_value)
|
|
190
|
+
return self
|
|
191
|
+
|
|
192
|
+
required_properties = set([
|
|
193
|
+
'_data_store',
|
|
194
|
+
'_check_type',
|
|
195
|
+
'_spec_property_naming',
|
|
196
|
+
'_path_to_item',
|
|
197
|
+
'_configuration',
|
|
198
|
+
'_visited_composed_classes',
|
|
199
|
+
])
|
|
200
|
+
|
|
201
|
+
@convert_js_args_to_python_args
|
|
202
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
|
203
|
+
"""ConversationPbxCallTransfer - a model defined in OpenAPI
|
|
204
|
+
|
|
205
|
+
Keyword Args:
|
|
206
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
|
207
|
+
will be type checked and a TypeError will be
|
|
208
|
+
raised if the wrong type is input.
|
|
209
|
+
Defaults to True
|
|
210
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
|
211
|
+
drill down to the model in received_data
|
|
212
|
+
when deserializing a response
|
|
213
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
|
214
|
+
are serialized names, as specified in the OpenAPI document.
|
|
215
|
+
False if the variable names in the input data
|
|
216
|
+
are pythonic names, e.g. snake case (default)
|
|
217
|
+
_configuration (Configuration): the instance to use when
|
|
218
|
+
deserializing a file_type parameter.
|
|
219
|
+
If passed, type conversion is attempted
|
|
220
|
+
If omitted no type conversion is done.
|
|
221
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
|
222
|
+
classes that we have traveled through so that
|
|
223
|
+
if we see that class again we will not use its
|
|
224
|
+
discriminator again.
|
|
225
|
+
When traveling through a discriminator, the
|
|
226
|
+
composed schema that is
|
|
227
|
+
is traveled through is added to this set.
|
|
228
|
+
For example if Animal has a discriminator
|
|
229
|
+
petType and we pass in "Dog", and the class Dog
|
|
230
|
+
allOf includes Animal, we move through Animal
|
|
231
|
+
once using the discriminator, and pick Dog.
|
|
232
|
+
Then in Dog, we will make an instance of the
|
|
233
|
+
Animal class but this time we won't travel
|
|
234
|
+
through its discriminator because we passed in
|
|
235
|
+
_visited_composed_classes = (Animal,)
|
|
236
|
+
transfer_reason (str): Reason provided for the transfer. [optional] # noqa: E501
|
|
237
|
+
transfer_type (str): Type of transfer performed. [optional] # noqa: E501
|
|
238
|
+
transferred_at_dts (str): Timestamp when the transfer occurred. [optional] # noqa: E501
|
|
239
|
+
transferred_by_agent_id (str): ID of the agent who initiated the transfer. [optional] # noqa: E501
|
|
240
|
+
transferred_to (str): Destination of the transfer (agent ID, queue name, or phone number). [optional] # noqa: E501
|
|
241
|
+
"""
|
|
242
|
+
|
|
243
|
+
_check_type = kwargs.pop('_check_type', True)
|
|
244
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
|
245
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
|
246
|
+
_configuration = kwargs.pop('_configuration', None)
|
|
247
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
|
248
|
+
|
|
249
|
+
if args:
|
|
250
|
+
for arg in args:
|
|
251
|
+
if isinstance(arg, dict):
|
|
252
|
+
kwargs.update(arg)
|
|
253
|
+
else:
|
|
254
|
+
raise ApiTypeError(
|
|
255
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
|
256
|
+
args,
|
|
257
|
+
self.__class__.__name__,
|
|
258
|
+
),
|
|
259
|
+
path_to_item=_path_to_item,
|
|
260
|
+
valid_classes=(self.__class__,),
|
|
261
|
+
)
|
|
262
|
+
|
|
263
|
+
self._data_store = {}
|
|
264
|
+
self._check_type = _check_type
|
|
265
|
+
self._spec_property_naming = _spec_property_naming
|
|
266
|
+
self._path_to_item = _path_to_item
|
|
267
|
+
self._configuration = _configuration
|
|
268
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
|
269
|
+
|
|
270
|
+
for var_name, var_value in kwargs.items():
|
|
271
|
+
if var_name not in self.attribute_map and \
|
|
272
|
+
self._configuration is not None and \
|
|
273
|
+
self._configuration.discard_unknown_keys and \
|
|
274
|
+
self.additional_properties_type is None:
|
|
275
|
+
# discard variable.
|
|
276
|
+
continue
|
|
277
|
+
setattr(self, var_name, var_value)
|
|
278
|
+
if var_name in self.read_only_vars:
|
|
279
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
|
280
|
+
f"class with read only attributes.")
|
|
@@ -83,6 +83,9 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
83
83
|
('sip_domain',): {
|
|
84
84
|
'max_length': 200,
|
|
85
85
|
},
|
|
86
|
+
('sip_edge_location',): {
|
|
87
|
+
'max_length': 50,
|
|
88
|
+
},
|
|
86
89
|
('sip_password',): {
|
|
87
90
|
'max_length': 100,
|
|
88
91
|
},
|
|
@@ -112,6 +115,8 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
112
115
|
and the value is attribute type.
|
|
113
116
|
"""
|
|
114
117
|
return {
|
|
118
|
+
'admin_username': (str,), # noqa: E501
|
|
119
|
+
'conversation_pbx_agent_uuid': (str,), # noqa: E501
|
|
115
120
|
'conversation_pbx_hardware_phone_uuid': (str,), # noqa: E501
|
|
116
121
|
'created_at': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
|
117
122
|
'description': (str,), # noqa: E501
|
|
@@ -122,8 +127,10 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
122
127
|
'name': (str,), # noqa: E501
|
|
123
128
|
'provisioning_url': (str,), # noqa: E501
|
|
124
129
|
'sip_domain': (str,), # noqa: E501
|
|
130
|
+
'sip_edge_location': (str,), # noqa: E501
|
|
125
131
|
'sip_password': (str,), # noqa: E501
|
|
126
132
|
'sip_username': (str,), # noqa: E501
|
|
133
|
+
'twilio_credential_sid': (str,), # noqa: E501
|
|
127
134
|
'updated_at': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
|
128
135
|
}
|
|
129
136
|
|
|
@@ -133,6 +140,8 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
133
140
|
|
|
134
141
|
|
|
135
142
|
attribute_map = {
|
|
143
|
+
'admin_username': 'admin_username', # noqa: E501
|
|
144
|
+
'conversation_pbx_agent_uuid': 'conversation_pbx_agent_uuid', # noqa: E501
|
|
136
145
|
'conversation_pbx_hardware_phone_uuid': 'conversation_pbx_hardware_phone_uuid', # noqa: E501
|
|
137
146
|
'created_at': 'created_at', # noqa: E501
|
|
138
147
|
'description': 'description', # noqa: E501
|
|
@@ -143,8 +152,10 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
143
152
|
'name': 'name', # noqa: E501
|
|
144
153
|
'provisioning_url': 'provisioning_url', # noqa: E501
|
|
145
154
|
'sip_domain': 'sip_domain', # noqa: E501
|
|
155
|
+
'sip_edge_location': 'sip_edge_location', # noqa: E501
|
|
146
156
|
'sip_password': 'sip_password', # noqa: E501
|
|
147
157
|
'sip_username': 'sip_username', # noqa: E501
|
|
158
|
+
'twilio_credential_sid': 'twilio_credential_sid', # noqa: E501
|
|
148
159
|
'updated_at': 'updated_at', # noqa: E501
|
|
149
160
|
}
|
|
150
161
|
|
|
@@ -189,6 +200,8 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
189
200
|
Animal class but this time we won't travel
|
|
190
201
|
through its discriminator because we passed in
|
|
191
202
|
_visited_composed_classes = (Animal,)
|
|
203
|
+
admin_username (str): Admin Username. [optional] # noqa: E501
|
|
204
|
+
conversation_pbx_agent_uuid (str): Associated Agent UUID. [optional] # noqa: E501
|
|
192
205
|
conversation_pbx_hardware_phone_uuid (str): Conversation Pbx Hardware Phone UUID. [optional] # noqa: E501
|
|
193
206
|
created_at (bool, date, datetime, dict, float, int, list, str, none_type): Created At. [optional] # noqa: E501
|
|
194
207
|
description (str): Description. [optional] # noqa: E501
|
|
@@ -199,8 +212,10 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
199
212
|
name (str): Name. [optional] # noqa: E501
|
|
200
213
|
provisioning_url (str): Auto-provisioning URL for phone configuration. [optional] # noqa: E501
|
|
201
214
|
sip_domain (str): SIP Domain. [optional] # noqa: E501
|
|
202
|
-
|
|
215
|
+
sip_edge_location (str): SIP Edge Location. [optional] # noqa: E501
|
|
216
|
+
sip_password (str): SIP Password (only on create or regenerate password requests). [optional] # noqa: E501
|
|
203
217
|
sip_username (str): SIP Username. [optional] # noqa: E501
|
|
218
|
+
twilio_credential_sid (str): Twilio Credential SID. [optional] # noqa: E501
|
|
204
219
|
updated_at (bool, date, datetime, dict, float, int, list, str, none_type): Updated At. [optional] # noqa: E501
|
|
205
220
|
"""
|
|
206
221
|
|
|
@@ -287,6 +302,8 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
287
302
|
Animal class but this time we won't travel
|
|
288
303
|
through its discriminator because we passed in
|
|
289
304
|
_visited_composed_classes = (Animal,)
|
|
305
|
+
admin_username (str): Admin Username. [optional] # noqa: E501
|
|
306
|
+
conversation_pbx_agent_uuid (str): Associated Agent UUID. [optional] # noqa: E501
|
|
290
307
|
conversation_pbx_hardware_phone_uuid (str): Conversation Pbx Hardware Phone UUID. [optional] # noqa: E501
|
|
291
308
|
created_at (bool, date, datetime, dict, float, int, list, str, none_type): Created At. [optional] # noqa: E501
|
|
292
309
|
description (str): Description. [optional] # noqa: E501
|
|
@@ -297,8 +314,10 @@ class ConversationPbxHardwarePhone(ModelNormal):
|
|
|
297
314
|
name (str): Name. [optional] # noqa: E501
|
|
298
315
|
provisioning_url (str): Auto-provisioning URL for phone configuration. [optional] # noqa: E501
|
|
299
316
|
sip_domain (str): SIP Domain. [optional] # noqa: E501
|
|
300
|
-
|
|
317
|
+
sip_edge_location (str): SIP Edge Location. [optional] # noqa: E501
|
|
318
|
+
sip_password (str): SIP Password (only on create or regenerate password requests). [optional] # noqa: E501
|
|
301
319
|
sip_username (str): SIP Username. [optional] # noqa: E501
|
|
320
|
+
twilio_credential_sid (str): Twilio Credential SID. [optional] # noqa: E501
|
|
302
321
|
updated_at (bool, date, datetime, dict, float, int, list, str, none_type): Updated At. [optional] # noqa: E501
|
|
303
322
|
"""
|
|
304
323
|
|
|
@@ -111,6 +111,7 @@ class ConversationPbxPhoneNumber(ModelNormal):
|
|
|
111
111
|
'action_target': (str,), # noqa: E501
|
|
112
112
|
'address_sid': (str,), # noqa: E501
|
|
113
113
|
'conversation_pbx_phone_number_uuid': (str,), # noqa: E501
|
|
114
|
+
'default_phone_number': (bool,), # noqa: E501
|
|
114
115
|
'deletion_protected': (bool,), # noqa: E501
|
|
115
116
|
'merchant_id': (str,), # noqa: E501
|
|
116
117
|
'phone_number': (str,), # noqa: E501
|
|
@@ -126,6 +127,7 @@ class ConversationPbxPhoneNumber(ModelNormal):
|
|
|
126
127
|
'action_target': 'action_target', # noqa: E501
|
|
127
128
|
'address_sid': 'address_sid', # noqa: E501
|
|
128
129
|
'conversation_pbx_phone_number_uuid': 'conversation_pbx_phone_number_uuid', # noqa: E501
|
|
130
|
+
'default_phone_number': 'default_phone_number', # noqa: E501
|
|
129
131
|
'deletion_protected': 'deletion_protected', # noqa: E501
|
|
130
132
|
'merchant_id': 'merchant_id', # noqa: E501
|
|
131
133
|
'phone_number': 'phone_number', # noqa: E501
|
|
@@ -176,6 +178,7 @@ class ConversationPbxPhoneNumber(ModelNormal):
|
|
|
176
178
|
action_target (str): Action target. This is the UUID associated with the configuration object of that particular type.. [optional] # noqa: E501
|
|
177
179
|
address_sid (str): Twilio Address SID linked to this phone number for regulatory compliance. [optional] # noqa: E501
|
|
178
180
|
conversation_pbx_phone_number_uuid (str): Conversation Pbx Phone Number UUID. [optional] # noqa: E501
|
|
181
|
+
default_phone_number (bool): Default phone number for outbound calling.. [optional] # noqa: E501
|
|
179
182
|
deletion_protected (bool): If true, this phone number cannot be deleted through the API. It must be deleted via the Twilio console.. [optional] # noqa: E501
|
|
180
183
|
merchant_id (str): Merchant Id. [optional] # noqa: E501
|
|
181
184
|
phone_number (str): Phone number. [optional] # noqa: E501
|
|
@@ -268,6 +271,7 @@ class ConversationPbxPhoneNumber(ModelNormal):
|
|
|
268
271
|
action_target (str): Action target. This is the UUID associated with the configuration object of that particular type.. [optional] # noqa: E501
|
|
269
272
|
address_sid (str): Twilio Address SID linked to this phone number for regulatory compliance. [optional] # noqa: E501
|
|
270
273
|
conversation_pbx_phone_number_uuid (str): Conversation Pbx Phone Number UUID. [optional] # noqa: E501
|
|
274
|
+
default_phone_number (bool): Default phone number for outbound calling.. [optional] # noqa: E501
|
|
271
275
|
deletion_protected (bool): If true, this phone number cannot be deleted through the API. It must be deleted via the Twilio console.. [optional] # noqa: E501
|
|
272
276
|
merchant_id (str): Merchant Id. [optional] # noqa: E501
|
|
273
277
|
phone_number (str): Phone number. [optional] # noqa: E501
|
|
@@ -126,6 +126,7 @@ class ConversationPbxQueue(ModelNormal):
|
|
|
126
126
|
'ai_priority': (str,), # noqa: E501
|
|
127
127
|
'ai_timeout_seconds': (int,), # noqa: E501
|
|
128
128
|
'announce_queue_position': (bool,), # noqa: E501
|
|
129
|
+
'automatic_coach_agent_uuid': (str,), # noqa: E501
|
|
129
130
|
'conversation_pbx_queue_uuid': (str,), # noqa: E501
|
|
130
131
|
'conversation_voicemail_mailbox_uuid': (str,), # noqa: E501
|
|
131
132
|
'hold_conversation_pbx_audio_uuid': (str,), # noqa: E501
|
|
@@ -157,6 +158,7 @@ class ConversationPbxQueue(ModelNormal):
|
|
|
157
158
|
'ai_priority': 'ai_priority', # noqa: E501
|
|
158
159
|
'ai_timeout_seconds': 'ai_timeout_seconds', # noqa: E501
|
|
159
160
|
'announce_queue_position': 'announce_queue_position', # noqa: E501
|
|
161
|
+
'automatic_coach_agent_uuid': 'automatic_coach_agent_uuid', # noqa: E501
|
|
160
162
|
'conversation_pbx_queue_uuid': 'conversation_pbx_queue_uuid', # noqa: E501
|
|
161
163
|
'conversation_voicemail_mailbox_uuid': 'conversation_voicemail_mailbox_uuid', # noqa: E501
|
|
162
164
|
'hold_conversation_pbx_audio_uuid': 'hold_conversation_pbx_audio_uuid', # noqa: E501
|
|
@@ -223,6 +225,7 @@ class ConversationPbxQueue(ModelNormal):
|
|
|
223
225
|
ai_priority (str): AI Agent Priority compared to human agents. [optional] # noqa: E501
|
|
224
226
|
ai_timeout_seconds (int): AI timeout seconds. [optional] # noqa: E501
|
|
225
227
|
announce_queue_position (bool): If true, the customer is told their queue position upon entering the queue. [optional] # noqa: E501
|
|
228
|
+
automatic_coach_agent_uuid (str): AI Agent UUID to automatically engage to provide coaching. [optional] # noqa: E501
|
|
226
229
|
conversation_pbx_queue_uuid (str): Conversation Pbx Queue unique identifier. [optional] # noqa: E501
|
|
227
230
|
conversation_voicemail_mailbox_uuid (str): The voicemail mailbox associated with this queue. [optional] # noqa: E501
|
|
228
231
|
hold_conversation_pbx_audio_uuid (str): The audio to play while holding in a queue. [optional] # noqa: E501
|
|
@@ -331,6 +334,7 @@ class ConversationPbxQueue(ModelNormal):
|
|
|
331
334
|
ai_priority (str): AI Agent Priority compared to human agents. [optional] # noqa: E501
|
|
332
335
|
ai_timeout_seconds (int): AI timeout seconds. [optional] # noqa: E501
|
|
333
336
|
announce_queue_position (bool): If true, the customer is told their queue position upon entering the queue. [optional] # noqa: E501
|
|
337
|
+
automatic_coach_agent_uuid (str): AI Agent UUID to automatically engage to provide coaching. [optional] # noqa: E501
|
|
334
338
|
conversation_pbx_queue_uuid (str): Conversation Pbx Queue unique identifier. [optional] # noqa: E501
|
|
335
339
|
conversation_voicemail_mailbox_uuid (str): The voicemail mailbox associated with this queue. [optional] # noqa: E501
|
|
336
340
|
hold_conversation_pbx_audio_uuid (str): The audio to play while holding in a queue. [optional] # noqa: E501
|
ultracart/models/__init__.py
CHANGED
|
@@ -204,6 +204,25 @@ from ultracart.model.conversation_pbx_audio_usage_response import ConversationPb
|
|
|
204
204
|
from ultracart.model.conversation_pbx_audios_response import ConversationPbxAudiosResponse
|
|
205
205
|
from ultracart.model.conversation_pbx_available_phone_number import ConversationPbxAvailablePhoneNumber
|
|
206
206
|
from ultracart.model.conversation_pbx_available_phone_numbers_response import ConversationPbxAvailablePhoneNumbersResponse
|
|
207
|
+
from ultracart.model.conversation_pbx_call import ConversationPbxCall
|
|
208
|
+
from ultracart.model.conversation_pbx_call_agent import ConversationPbxCallAgent
|
|
209
|
+
from ultracart.model.conversation_pbx_call_ai_cost import ConversationPbxCallAiCost
|
|
210
|
+
from ultracart.model.conversation_pbx_call_ai_engagement import ConversationPbxCallAiEngagement
|
|
211
|
+
from ultracart.model.conversation_pbx_call_ai_tool_call import ConversationPbxCallAiToolCall
|
|
212
|
+
from ultracart.model.conversation_pbx_call_ai_whisper import ConversationPbxCallAiWhisper
|
|
213
|
+
from ultracart.model.conversation_pbx_call_caller import ConversationPbxCallCaller
|
|
214
|
+
from ultracart.model.conversation_pbx_call_financial import ConversationPbxCallFinancial
|
|
215
|
+
from ultracart.model.conversation_pbx_call_hold import ConversationPbxCallHold
|
|
216
|
+
from ultracart.model.conversation_pbx_call_queue import ConversationPbxCallQueue
|
|
217
|
+
from ultracart.model.conversation_pbx_call_recording import ConversationPbxCallRecording
|
|
218
|
+
from ultracart.model.conversation_pbx_call_response import ConversationPbxCallResponse
|
|
219
|
+
from ultracart.model.conversation_pbx_call_routing import ConversationPbxCallRouting
|
|
220
|
+
from ultracart.model.conversation_pbx_call_search_request import ConversationPbxCallSearchRequest
|
|
221
|
+
from ultracart.model.conversation_pbx_call_search_response import ConversationPbxCallSearchResponse
|
|
222
|
+
from ultracart.model.conversation_pbx_call_timeline import ConversationPbxCallTimeline
|
|
223
|
+
from ultracart.model.conversation_pbx_call_transcript import ConversationPbxCallTranscript
|
|
224
|
+
from ultracart.model.conversation_pbx_call_transcript_segment import ConversationPbxCallTranscriptSegment
|
|
225
|
+
from ultracart.model.conversation_pbx_call_transfer import ConversationPbxCallTransfer
|
|
207
226
|
from ultracart.model.conversation_pbx_customer_snapshot_request import ConversationPbxCustomerSnapshotRequest
|
|
208
227
|
from ultracart.model.conversation_pbx_customer_snapshot_response import ConversationPbxCustomerSnapshotResponse
|
|
209
228
|
from ultracart.model.conversation_pbx_hardware_phone import ConversationPbxHardwarePhone
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
ultracart/__init__.py,sha256=
|
|
2
|
-
ultracart/api_client.py,sha256=
|
|
3
|
-
ultracart/configuration.py,sha256=
|
|
1
|
+
ultracart/__init__.py,sha256=OftZYisrTQvgYHiH_5h8NRMqIGUKjdcDcTnehaAZdDI,698
|
|
2
|
+
ultracart/api_client.py,sha256=UcFN0l57WL1GsB6jyv_lVvY8wfl_9Xh_M27RlClDR_E,39071
|
|
3
|
+
ultracart/configuration.py,sha256=W2mvlsy-7wBRkO_czM36m3ACAIcf775t0nPxTIE4bUE,17841
|
|
4
4
|
ultracart/exceptions.py,sha256=dwRtrWJsW4H_jKk3B1w2chykcQ7E2FSlhftUByD9e9E,5069
|
|
5
5
|
ultracart/model_utils.py,sha256=X_RAfA-TlvDKBICnIve7PPVDM34Nl58aV1bqCrVmoTo,82574
|
|
6
6
|
ultracart/rest.py,sha256=2lM6zwrjGp_SjkddamoKdpk3jFuc8Ow7fKIXRdKNp24,14268
|
|
@@ -9,7 +9,7 @@ ultracart/api/affiliate_api.py,sha256=Rq7y9AAmN2gOT57qTulnMkr-W4SBboMrzKyM2SXT6R
|
|
|
9
9
|
ultracart/api/auto_order_api.py,sha256=Fxh8jqvSKGeVDod9pWGV9z6mgzP1cVS2hvqQA1bLNnI,72000
|
|
10
10
|
ultracart/api/channel_partner_api.py,sha256=EbAPFtaF8E38jrD7JgDaD-rGU3DM86O3lBPhDuq_fw4,89568
|
|
11
11
|
ultracart/api/checkout_api.py,sha256=KLZAsTMiY55AHDhubbNZYipBPGwihQbEsLDjIDzkLkQ,105889
|
|
12
|
-
ultracart/api/conversation_api.py,sha256=
|
|
12
|
+
ultracart/api/conversation_api.py,sha256=v-j7x_FQZBfGcfgigYXi-Yw9FZS6Hy_V_zDFg0dogdw,624530
|
|
13
13
|
ultracart/api/coupon_api.py,sha256=voBpCzDhuBog_0WKSj9J-2zKSI8LyJINjUneeLAwlHg,109039
|
|
14
14
|
ultracart/api/customer_api.py,sha256=vOM1GTsUFMfEwp9pYF2H_efZbZgMk-L1hlq4qA0CqZ8,153900
|
|
15
15
|
ultracart/api/datawarehouse_api.py,sha256=QkXb1rXOjjsmVcpP5epPnmmxo-w2GRA1Z0xrnfGtftE,162366
|
|
@@ -211,7 +211,7 @@ ultracart/model/conversation_participant.py,sha256=AL9wPJxm2TozPN31HbUisIv6AhvTL
|
|
|
211
211
|
ultracart/model/conversation_pbx_address.py,sha256=iTlORJI21e55aT7ZlMCgjDtveqlj86Wqq6lFG75S0PA,15396
|
|
212
212
|
ultracart/model/conversation_pbx_address_response.py,sha256=bRPz3PD7drTc5NcigJsE27NZ3iYe7Yy5w4NiVY7ssrY,12901
|
|
213
213
|
ultracart/model/conversation_pbx_addresses_response.py,sha256=s32DRvLOnNu_Nkmqs_YAHHnzJyyzfCrV0QqxNJFk4ug,11742
|
|
214
|
-
ultracart/model/conversation_pbx_agent.py,sha256=
|
|
214
|
+
ultracart/model/conversation_pbx_agent.py,sha256=8RJUOedY3euqB9IdRSsTqrOmNykoobG0_qBFszRswVc,18648
|
|
215
215
|
ultracart/model/conversation_pbx_agent_response.py,sha256=ExYxi_fMSjPzyaBA1U9OODt0Ktn8DSMHlRFiq8vfQ04,12871
|
|
216
216
|
ultracart/model/conversation_pbx_agents_response.py,sha256=DsJzAkoq_3y8maXw3rlGTfshJnZK9gG0sdVO5WnFjTQ,12885
|
|
217
217
|
ultracart/model/conversation_pbx_audio.py,sha256=0SF54E2KA7HeOb8szFIeydhTuilStBu7cbE3A0GX_JA,14218
|
|
@@ -222,9 +222,28 @@ ultracart/model/conversation_pbx_audio_usage_response.py,sha256=tNc1ZTFkkUKvRiIc
|
|
|
222
222
|
ultracart/model/conversation_pbx_audios_response.py,sha256=llnOyuMCddIzgEzHTVHSKHeA7aha8ns6w2NDViqR8cY,12885
|
|
223
223
|
ultracart/model/conversation_pbx_available_phone_number.py,sha256=wEQ-D-5XA16jNkUtvncniAKC6d-6IarEe8Ac5mJPrg4,14272
|
|
224
224
|
ultracart/model/conversation_pbx_available_phone_numbers_response.py,sha256=O9BC6M9WeYvxn8UlSmrplZozi7zp9hUr9p6MtKmPtTs,13122
|
|
225
|
+
ultracart/model/conversation_pbx_call.py,sha256=GClsWVFCBFawZ0PNSEzkVtMwPehc71yBcwygUZ_fr5E,19625
|
|
226
|
+
ultracart/model/conversation_pbx_call_agent.py,sha256=fSkWWZoactdsmz0NNZTAIMW08RnJrc8wr8ebF41g9Ps,13717
|
|
227
|
+
ultracart/model/conversation_pbx_call_ai_cost.py,sha256=TTeNbika57NRXRwdRi2jLsAXLKkF-dJFxUXYd1mCVG4,12395
|
|
228
|
+
ultracart/model/conversation_pbx_call_ai_engagement.py,sha256=vs3dCslhQiFkp-bxY00S4TBuPD20wR4h_WxL1fq8W-c,15007
|
|
229
|
+
ultracart/model/conversation_pbx_call_ai_tool_call.py,sha256=jdcp3P854HXmQ6WOMu8c_zJVtxvLZS2CVr0NTS7UyIo,14274
|
|
230
|
+
ultracart/model/conversation_pbx_call_ai_whisper.py,sha256=AkdmZLdBC6LI9n9RaS4PfMQG-1qJXNG_tiq-LHT52qA,12368
|
|
231
|
+
ultracart/model/conversation_pbx_call_caller.py,sha256=Oo1Y8XzD-kMDYMI2hTPjhmgGE3jKGystR-8eCCMihGE,12647
|
|
232
|
+
ultracart/model/conversation_pbx_call_financial.py,sha256=TfXdBa9tPABceQk-3WCQ3xdNNQ5J6Ak1VBLuvqvHjt4,13533
|
|
233
|
+
ultracart/model/conversation_pbx_call_hold.py,sha256=XkLfGRN3TH3ZK9rdgbylTJ5RyPvGt4dMWAjKEJHKl5I,12475
|
|
234
|
+
ultracart/model/conversation_pbx_call_queue.py,sha256=jkPfG32PA6lYZTRZyip50MuUzGgyx8nkSRXhBPUGPG0,13062
|
|
235
|
+
ultracart/model/conversation_pbx_call_recording.py,sha256=XliqpVcmPZO_t80fH0Uh2WUv-Xa5GtNGIh7LHj3OPqM,13558
|
|
236
|
+
ultracart/model/conversation_pbx_call_response.py,sha256=2okpBJruGfW3y4GCtVxbPU_dLB38zjArRSTkBXke1z0,12856
|
|
237
|
+
ultracart/model/conversation_pbx_call_routing.py,sha256=lOh7BnLOREmo6L8t3OQiBw52xibaM8DoSAiNEkwhcz0,12219
|
|
238
|
+
ultracart/model/conversation_pbx_call_search_request.py,sha256=e3opMlhs2LC3Dvnq5U9fVniA4_5NjeZ6GDRnBBAGUVw,16159
|
|
239
|
+
ultracart/model/conversation_pbx_call_search_response.py,sha256=5h1Ap6m_k2AaHT62ZsvlDhv6dpv4Ujr-EKB-Xhxpdl4,12899
|
|
240
|
+
ultracart/model/conversation_pbx_call_timeline.py,sha256=6a2pZegEaIMK8n0g-pfaxN-N8NT0YJo27c8Shuyrm4M,13189
|
|
241
|
+
ultracart/model/conversation_pbx_call_transcript.py,sha256=-puf5p0fVII9n0wsh--VvKnX6vb1hIo7R0NEXXBUKMk,13737
|
|
242
|
+
ultracart/model/conversation_pbx_call_transcript_segment.py,sha256=QiX8Mz1dm_IwX6ptf4WVdq9g18k2Ky-VUNMD_E1A1k0,13304
|
|
243
|
+
ultracart/model/conversation_pbx_call_transfer.py,sha256=yCK5i204wsht-gi6vKOWEawBkDOAh65vlZu56ykB4wE,12883
|
|
225
244
|
ultracart/model/conversation_pbx_customer_snapshot_request.py,sha256=NX_L4Dnn2vkE0LJWKuHU_s_opzpzxVvoZIyuULwH7bo,13442
|
|
226
245
|
ultracart/model/conversation_pbx_customer_snapshot_response.py,sha256=altaQBJHMquhMUViFRjvXY8c8BmPLs6KHRCzW_Ek0tg,13448
|
|
227
|
-
ultracart/model/conversation_pbx_hardware_phone.py,sha256=
|
|
246
|
+
ultracart/model/conversation_pbx_hardware_phone.py,sha256=OX34Q_2QcxvWa75umD1N95gxnOIxjO1qLp3990kPdSM,16953
|
|
228
247
|
ultracart/model/conversation_pbx_hardware_phone_response.py,sha256=mZ2zkha3QnYaSjqlhIQOIpwzxuI7cQb_jys7bm_oUOw,12997
|
|
229
248
|
ultracart/model/conversation_pbx_hardware_phones_response.py,sha256=37Z2Ipn0n8nTfN78i_vyPd6Ce9KoAw_u3TWBakxRY4I,11830
|
|
230
249
|
ultracart/model/conversation_pbx_menu.py,sha256=Rc8FHYvtAppQYGBCNOdfVz5S4ouV4SVU6pQXxhPHHrg,15421
|
|
@@ -234,11 +253,11 @@ ultracart/model/conversation_pbx_menus_response.py,sha256=b7aNcBBXfAlXGxlX0LXcHq
|
|
|
234
253
|
ultracart/model/conversation_pbx_phone_manufacturer.py,sha256=svVVhjGb5IRgTW7ZHhfLF8Bk-41QM1t1z_dVvjjt8to,12160
|
|
235
254
|
ultracart/model/conversation_pbx_phone_manufacturers_response.py,sha256=SmJhVl8B6GheL1QWIqu308dWfXcb4hc8wIPB9TRewfE,13041
|
|
236
255
|
ultracart/model/conversation_pbx_phone_model.py,sha256=0-uXEQf0ofvIiDSZGyJy9qN2EGItvv_kMui4ITyx19I,11622
|
|
237
|
-
ultracart/model/conversation_pbx_phone_number.py,sha256=
|
|
256
|
+
ultracart/model/conversation_pbx_phone_number.py,sha256=vx4hNN-ThqlKSRS_jdKlEmSTaMWrdYzcC21smcHdl6g,14568
|
|
238
257
|
ultracart/model/conversation_pbx_phone_number_purchase_request.py,sha256=nw2gAGvlZ7RDRskGdJU8w391UHUnNE1CCrVG5NfnqgI,13332
|
|
239
258
|
ultracart/model/conversation_pbx_phone_number_response.py,sha256=FjbU6Rqy6J3eT3Jkhm32Wt47V0DxgR9-TPL4vq7k-hs,12967
|
|
240
259
|
ultracart/model/conversation_pbx_phone_numbers_response.py,sha256=rYihQnA17xnRi69J5HL8A8WPPhpEsis9cPvWmXRbJVQ,12981
|
|
241
|
-
ultracart/model/conversation_pbx_queue.py,sha256=
|
|
260
|
+
ultracart/model/conversation_pbx_queue.py,sha256=C6TH95NAu_6N9nXIK_WBQHU6vTvnFhcz3B24RWahmlw,20570
|
|
242
261
|
ultracart/model/conversation_pbx_queue_members.py,sha256=05KtH79B4H8imx-lfd4hlrrrcbCoXrpK2p0JmHUOr9c,11635
|
|
243
262
|
ultracart/model/conversation_pbx_queue_response.py,sha256=xzYGTLoM4wtTuxNOu_pabjyM3qKxTGwX3p4cC3imGhs,12871
|
|
244
263
|
ultracart/model/conversation_pbx_queues_response.py,sha256=TYpY1yzuSZnjgzNoWudPEAyqWIHzsmWvYdVBGcQZwxc,12885
|
|
@@ -946,9 +965,9 @@ ultracart/model/workflow_tasks_response.py,sha256=KmHe72xKnZiS9CemBr5hluY5EsU9_x
|
|
|
946
965
|
ultracart/model/workflow_user.py,sha256=gkQIeMSIhawpz5wtpTJ8Lof_Td0IrwG0KZF6catE41k,11903
|
|
947
966
|
ultracart/model/workflow_user_response.py,sha256=TKfMu5vF1fXlV8mvxRFhvk6WNdGce2T8a4vFycQvuhQ,12785
|
|
948
967
|
ultracart/model/workflow_users_response.py,sha256=3Y7L1oHc2-HOvl1pDdcnl9xHKYLGblKpKdbkPBh2u68,13059
|
|
949
|
-
ultracart/models/__init__.py,sha256=
|
|
950
|
-
ultracart_rest_sdk-4.1.
|
|
951
|
-
ultracart_rest_sdk-4.1.
|
|
952
|
-
ultracart_rest_sdk-4.1.
|
|
953
|
-
ultracart_rest_sdk-4.1.
|
|
954
|
-
ultracart_rest_sdk-4.1.
|
|
968
|
+
ultracart/models/__init__.py,sha256=X-zIVVFhvPoD7R9lt6CE0N3u4n0M8HcecrP0KcXipQQ,73652
|
|
969
|
+
ultracart_rest_sdk-4.1.54.dist-info/LICENSE,sha256=4DukHX-rIHAHaf5BGLq1DYAMt0-ZA1OgXS9f_xwig2M,11558
|
|
970
|
+
ultracart_rest_sdk-4.1.54.dist-info/METADATA,sha256=1NVPrMCTng1R4cOZ-TwZ96173ykOHiO6JveETELum2U,402
|
|
971
|
+
ultracart_rest_sdk-4.1.54.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
|
|
972
|
+
ultracart_rest_sdk-4.1.54.dist-info/top_level.txt,sha256=90IoRqV6KX58jTyx9MwEBqh4j38_10hWrrvqsmXWZYo,10
|
|
973
|
+
ultracart_rest_sdk-4.1.54.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|