ultracart-rest-sdk 3.11.36__py3-none-any.whl → 3.11.45__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 (28) hide show
  1. ultracart/__init__.py +9 -0
  2. ultracart/api/conversation_api.py +1028 -113
  3. ultracart/api/item_api.py +329 -0
  4. ultracart/api_client.py +1 -1
  5. ultracart/configuration.py +1 -1
  6. ultracart/models/__init__.py +9 -0
  7. ultracart/models/conversation_agent_profile.py +89 -1
  8. ultracart/models/conversation_department_member.py +27 -1
  9. ultracart/models/conversation_pbx_address.py +473 -0
  10. ultracart/models/conversation_pbx_address_response.py +221 -0
  11. ultracart/models/conversation_pbx_addresses_response.py +115 -0
  12. ultracart/models/conversation_pbx_agent.py +29 -1
  13. ultracart/models/conversation_pbx_available_phone_number.py +385 -0
  14. ultracart/models/conversation_pbx_available_phone_numbers_response.py +221 -0
  15. ultracart/models/conversation_pbx_phone_number.py +59 -1
  16. ultracart/models/conversation_pbx_phone_number_purchase_request.py +243 -0
  17. ultracart/models/conversation_pbx_queue.py +63 -1
  18. ultracart/models/coupon_codes_request.py +31 -1
  19. ultracart/models/item_content_multimedia.py +29 -1
  20. ultracart/models/item_inventory_update.py +173 -0
  21. ultracart/models/item_inventory_update_request.py +117 -0
  22. ultracart/models/item_related_item.py +1 -1
  23. ultracart/models/item_shipping_distribution_center_response.py +221 -0
  24. {ultracart_rest_sdk-3.11.36.dist-info → ultracart_rest_sdk-3.11.45.dist-info}/METADATA +1 -1
  25. {ultracart_rest_sdk-3.11.36.dist-info → ultracart_rest_sdk-3.11.45.dist-info}/RECORD +28 -19
  26. {ultracart_rest_sdk-3.11.36.dist-info → ultracart_rest_sdk-3.11.45.dist-info}/LICENSE +0 -0
  27. {ultracart_rest_sdk-3.11.36.dist-info → ultracart_rest_sdk-3.11.45.dist-info}/WHEEL +0 -0
  28. {ultracart_rest_sdk-3.11.36.dist-info → ultracart_rest_sdk-3.11.45.dist-info}/top_level.txt +0 -0
ultracart/api/item_api.py CHANGED
@@ -969,6 +969,121 @@ class ItemApi(object):
969
969
  _request_timeout=params.get('_request_timeout'),
970
970
  collection_formats=collection_formats)
971
971
 
972
+ def get_item_shipping_distribution_center_by_code(self, merchant_item_oid, distribution_center_code, **kwargs): # noqa: E501
973
+ """Retrieve an item shipping distribution center # noqa: E501
974
+
975
+ Retrieve an item shipping distribution center. # noqa: E501
976
+ This method makes a synchronous HTTP request by default. To make an
977
+ asynchronous HTTP request, please pass async_req=True
978
+ >>> thread = api.get_item_shipping_distribution_center_by_code(merchant_item_oid, distribution_center_code, async_req=True)
979
+ >>> result = thread.get()
980
+
981
+ :param async_req bool
982
+ :param int merchant_item_oid: The item oid to retrieve. (required)
983
+ :param str distribution_center_code: (required)
984
+ :param str expand: The object expansion to perform on the result. See documentation for examples
985
+ :param bool placeholders: Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API.
986
+ :return: ItemShippingDistributionCenterResponse
987
+ If the method is called asynchronously,
988
+ returns the request thread.
989
+ """
990
+ kwargs['_return_http_data_only'] = True
991
+ if kwargs.get('async_req'):
992
+ return self.get_item_shipping_distribution_center_by_code_with_http_info(merchant_item_oid, distribution_center_code, **kwargs) # noqa: E501
993
+ else:
994
+ (data) = self.get_item_shipping_distribution_center_by_code_with_http_info(merchant_item_oid, distribution_center_code, **kwargs) # noqa: E501
995
+ return data
996
+
997
+ def get_item_shipping_distribution_center_by_code_with_http_info(self, merchant_item_oid, distribution_center_code, **kwargs): # noqa: E501
998
+ """Retrieve an item shipping distribution center # noqa: E501
999
+
1000
+ Retrieve an item shipping distribution center. # noqa: E501
1001
+ This method makes a synchronous HTTP request by default. To make an
1002
+ asynchronous HTTP request, please pass async_req=True
1003
+ >>> thread = api.get_item_shipping_distribution_center_by_code_with_http_info(merchant_item_oid, distribution_center_code, async_req=True)
1004
+ >>> result = thread.get()
1005
+
1006
+ :param async_req bool
1007
+ :param int merchant_item_oid: The item oid to retrieve. (required)
1008
+ :param str distribution_center_code: (required)
1009
+ :param str expand: The object expansion to perform on the result. See documentation for examples
1010
+ :param bool placeholders: Whether or not placeholder values should be returned in the result. Useful for UIs that consume this REST API.
1011
+ :return: ItemShippingDistributionCenterResponse
1012
+ If the method is called asynchronously,
1013
+ returns the request thread.
1014
+ """
1015
+
1016
+ all_params = ['merchant_item_oid', 'distribution_center_code', 'expand', 'placeholders'] # noqa: E501
1017
+ all_params.append('async_req')
1018
+ all_params.append('_return_http_data_only')
1019
+ all_params.append('_preload_content')
1020
+ all_params.append('_request_timeout')
1021
+
1022
+ params = locals()
1023
+ for key, val in six.iteritems(params['kwargs']):
1024
+ if key not in all_params:
1025
+ raise TypeError(
1026
+ "Got an unexpected keyword argument '%s'"
1027
+ " to method get_item_shipping_distribution_center_by_code" % key
1028
+ )
1029
+ params[key] = val
1030
+ del params['kwargs']
1031
+ # verify the required parameter 'merchant_item_oid' is set
1032
+ if ('merchant_item_oid' not in params or
1033
+ params['merchant_item_oid'] is None):
1034
+ raise ValueError("Missing the required parameter `merchant_item_oid` when calling `get_item_shipping_distribution_center_by_code`") # noqa: E501
1035
+ # verify the required parameter 'distribution_center_code' is set
1036
+ if ('distribution_center_code' not in params or
1037
+ params['distribution_center_code'] is None):
1038
+ raise ValueError("Missing the required parameter `distribution_center_code` when calling `get_item_shipping_distribution_center_by_code`") # noqa: E501
1039
+
1040
+ collection_formats = {}
1041
+
1042
+ path_params = {}
1043
+ if 'merchant_item_oid' in params:
1044
+ path_params['merchant_item_oid'] = params['merchant_item_oid'] # noqa: E501
1045
+ if 'distribution_center_code' in params:
1046
+ path_params['distribution_center_code'] = params['distribution_center_code'] # noqa: E501
1047
+
1048
+ query_params = []
1049
+ if 'expand' in params:
1050
+ query_params.append(('_expand', params['expand'])) # noqa: E501
1051
+ if 'placeholders' in params:
1052
+ query_params.append(('_placeholders', params['placeholders'])) # noqa: E501
1053
+
1054
+ header_params = {}
1055
+
1056
+ form_params = []
1057
+ local_var_files = {}
1058
+
1059
+ body_params = None
1060
+ # HTTP header `Accept`
1061
+ header_params['Accept'] = self.api_client.select_header_accept(
1062
+ ['application/json']) # noqa: E501
1063
+
1064
+ # HTTP header `Content-Type`
1065
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
1066
+ ['application/json']) # noqa: E501
1067
+
1068
+ # Authentication setting
1069
+ auth_settings = ['ultraCartOauth', 'ultraCartSimpleApiKey'] # noqa: E501
1070
+
1071
+ return self.api_client.call_api(
1072
+ '/item/items/{merchant_item_oid}/shipping/distribution_centers/by_code/{distribution_center_code}', 'GET',
1073
+ path_params,
1074
+ query_params,
1075
+ header_params,
1076
+ body=body_params,
1077
+ post_params=form_params,
1078
+ files=local_var_files,
1079
+ response_type='ItemShippingDistributionCenterResponse', # noqa: E501
1080
+ auth_settings=auth_settings,
1081
+ async_req=params.get('async_req'),
1082
+ _return_http_data_only=params.get('_return_http_data_only'),
1083
+ _preload_content=params.get('_preload_content', True),
1084
+ _request_timeout=params.get('_request_timeout'),
1085
+ collection_formats=collection_formats)
1086
+
972
1087
  def get_items(self, **kwargs): # noqa: E501
973
1088
  """Retrieve items # noqa: E501
974
1089
 
@@ -2150,6 +2265,220 @@ class ItemApi(object):
2150
2265
  _request_timeout=params.get('_request_timeout'),
2151
2266
  collection_formats=collection_formats)
2152
2267
 
2268
+ def update_item_inventories(self, item_inventory_update_request, **kwargs): # noqa: E501
2269
+ """Update item inventories for a distribution center # noqa: E501
2270
+
2271
+ Update item inventories for a distribution center # noqa: E501
2272
+ This method makes a synchronous HTTP request by default. To make an
2273
+ asynchronous HTTP request, please pass async_req=True
2274
+ >>> thread = api.update_item_inventories(item_inventory_update_request, async_req=True)
2275
+ >>> result = thread.get()
2276
+
2277
+ :param async_req bool
2278
+ :param ItemInventoryUpdateRequest item_inventory_update_request: Item inventory updates (required)
2279
+ :return: None
2280
+ If the method is called asynchronously,
2281
+ returns the request thread.
2282
+ """
2283
+ kwargs['_return_http_data_only'] = True
2284
+ if kwargs.get('async_req'):
2285
+ return self.update_item_inventories_with_http_info(item_inventory_update_request, **kwargs) # noqa: E501
2286
+ else:
2287
+ (data) = self.update_item_inventories_with_http_info(item_inventory_update_request, **kwargs) # noqa: E501
2288
+ return data
2289
+
2290
+ def update_item_inventories_with_http_info(self, item_inventory_update_request, **kwargs): # noqa: E501
2291
+ """Update item inventories for a distribution center # noqa: E501
2292
+
2293
+ Update item inventories for a distribution center # noqa: E501
2294
+ This method makes a synchronous HTTP request by default. To make an
2295
+ asynchronous HTTP request, please pass async_req=True
2296
+ >>> thread = api.update_item_inventories_with_http_info(item_inventory_update_request, async_req=True)
2297
+ >>> result = thread.get()
2298
+
2299
+ :param async_req bool
2300
+ :param ItemInventoryUpdateRequest item_inventory_update_request: Item inventory updates (required)
2301
+ :return: None
2302
+ If the method is called asynchronously,
2303
+ returns the request thread.
2304
+ """
2305
+
2306
+ all_params = ['item_inventory_update_request'] # noqa: E501
2307
+ all_params.append('async_req')
2308
+ all_params.append('_return_http_data_only')
2309
+ all_params.append('_preload_content')
2310
+ all_params.append('_request_timeout')
2311
+
2312
+ params = locals()
2313
+ for key, val in six.iteritems(params['kwargs']):
2314
+ if key not in all_params:
2315
+ raise TypeError(
2316
+ "Got an unexpected keyword argument '%s'"
2317
+ " to method update_item_inventories" % key
2318
+ )
2319
+ params[key] = val
2320
+ del params['kwargs']
2321
+ # verify the required parameter 'item_inventory_update_request' is set
2322
+ if ('item_inventory_update_request' not in params or
2323
+ params['item_inventory_update_request'] is None):
2324
+ raise ValueError("Missing the required parameter `item_inventory_update_request` when calling `update_item_inventories`") # noqa: E501
2325
+
2326
+ collection_formats = {}
2327
+
2328
+ path_params = {}
2329
+
2330
+ query_params = []
2331
+
2332
+ header_params = {}
2333
+
2334
+ form_params = []
2335
+ local_var_files = {}
2336
+
2337
+ body_params = None
2338
+ if 'item_inventory_update_request' in params:
2339
+ body_params = params['item_inventory_update_request']
2340
+ # HTTP header `Accept`
2341
+ header_params['Accept'] = self.api_client.select_header_accept(
2342
+ ['application/json']) # noqa: E501
2343
+
2344
+ # HTTP header `Content-Type`
2345
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
2346
+ ['application/json; charset=UTF-8']) # noqa: E501
2347
+
2348
+ # Authentication setting
2349
+ auth_settings = ['ultraCartOauth', 'ultraCartSimpleApiKey'] # noqa: E501
2350
+
2351
+ return self.api_client.call_api(
2352
+ '/item/items/update_item_inventories', 'PUT',
2353
+ path_params,
2354
+ query_params,
2355
+ header_params,
2356
+ body=body_params,
2357
+ post_params=form_params,
2358
+ files=local_var_files,
2359
+ response_type=None, # noqa: E501
2360
+ auth_settings=auth_settings,
2361
+ async_req=params.get('async_req'),
2362
+ _return_http_data_only=params.get('_return_http_data_only'),
2363
+ _preload_content=params.get('_preload_content', True),
2364
+ _request_timeout=params.get('_request_timeout'),
2365
+ collection_formats=collection_formats)
2366
+
2367
+ def update_item_shipping_distribution_center_by_code(self, item_shipping_distribution_center, merchant_item_oid, distribution_center_code, **kwargs): # noqa: E501
2368
+ """Update an item shipping distribution center # noqa: E501
2369
+
2370
+ Update an item shipping distribution center # noqa: E501
2371
+ This method makes a synchronous HTTP request by default. To make an
2372
+ asynchronous HTTP request, please pass async_req=True
2373
+ >>> thread = api.update_item_shipping_distribution_center_by_code(item_shipping_distribution_center, merchant_item_oid, distribution_center_code, async_req=True)
2374
+ >>> result = thread.get()
2375
+
2376
+ :param async_req bool
2377
+ :param ItemShippingDistributionCenter item_shipping_distribution_center: Item shipping distribution center (required)
2378
+ :param int merchant_item_oid: The item oid to update. (required)
2379
+ :param str distribution_center_code: (required)
2380
+ :return: None
2381
+ If the method is called asynchronously,
2382
+ returns the request thread.
2383
+ """
2384
+ kwargs['_return_http_data_only'] = True
2385
+ if kwargs.get('async_req'):
2386
+ return self.update_item_shipping_distribution_center_by_code_with_http_info(item_shipping_distribution_center, merchant_item_oid, distribution_center_code, **kwargs) # noqa: E501
2387
+ else:
2388
+ (data) = self.update_item_shipping_distribution_center_by_code_with_http_info(item_shipping_distribution_center, merchant_item_oid, distribution_center_code, **kwargs) # noqa: E501
2389
+ return data
2390
+
2391
+ def update_item_shipping_distribution_center_by_code_with_http_info(self, item_shipping_distribution_center, merchant_item_oid, distribution_center_code, **kwargs): # noqa: E501
2392
+ """Update an item shipping distribution center # noqa: E501
2393
+
2394
+ Update an item shipping distribution center # noqa: E501
2395
+ This method makes a synchronous HTTP request by default. To make an
2396
+ asynchronous HTTP request, please pass async_req=True
2397
+ >>> thread = api.update_item_shipping_distribution_center_by_code_with_http_info(item_shipping_distribution_center, merchant_item_oid, distribution_center_code, async_req=True)
2398
+ >>> result = thread.get()
2399
+
2400
+ :param async_req bool
2401
+ :param ItemShippingDistributionCenter item_shipping_distribution_center: Item shipping distribution center (required)
2402
+ :param int merchant_item_oid: The item oid to update. (required)
2403
+ :param str distribution_center_code: (required)
2404
+ :return: None
2405
+ If the method is called asynchronously,
2406
+ returns the request thread.
2407
+ """
2408
+
2409
+ all_params = ['item_shipping_distribution_center', 'merchant_item_oid', 'distribution_center_code'] # noqa: E501
2410
+ all_params.append('async_req')
2411
+ all_params.append('_return_http_data_only')
2412
+ all_params.append('_preload_content')
2413
+ all_params.append('_request_timeout')
2414
+
2415
+ params = locals()
2416
+ for key, val in six.iteritems(params['kwargs']):
2417
+ if key not in all_params:
2418
+ raise TypeError(
2419
+ "Got an unexpected keyword argument '%s'"
2420
+ " to method update_item_shipping_distribution_center_by_code" % key
2421
+ )
2422
+ params[key] = val
2423
+ del params['kwargs']
2424
+ # verify the required parameter 'item_shipping_distribution_center' is set
2425
+ if ('item_shipping_distribution_center' not in params or
2426
+ params['item_shipping_distribution_center'] is None):
2427
+ raise ValueError("Missing the required parameter `item_shipping_distribution_center` when calling `update_item_shipping_distribution_center_by_code`") # noqa: E501
2428
+ # verify the required parameter 'merchant_item_oid' is set
2429
+ if ('merchant_item_oid' not in params or
2430
+ params['merchant_item_oid'] is None):
2431
+ raise ValueError("Missing the required parameter `merchant_item_oid` when calling `update_item_shipping_distribution_center_by_code`") # noqa: E501
2432
+ # verify the required parameter 'distribution_center_code' is set
2433
+ if ('distribution_center_code' not in params or
2434
+ params['distribution_center_code'] is None):
2435
+ raise ValueError("Missing the required parameter `distribution_center_code` when calling `update_item_shipping_distribution_center_by_code`") # noqa: E501
2436
+
2437
+ collection_formats = {}
2438
+
2439
+ path_params = {}
2440
+ if 'merchant_item_oid' in params:
2441
+ path_params['merchant_item_oid'] = params['merchant_item_oid'] # noqa: E501
2442
+ if 'distribution_center_code' in params:
2443
+ path_params['distribution_center_code'] = params['distribution_center_code'] # noqa: E501
2444
+
2445
+ query_params = []
2446
+
2447
+ header_params = {}
2448
+
2449
+ form_params = []
2450
+ local_var_files = {}
2451
+
2452
+ body_params = None
2453
+ if 'item_shipping_distribution_center' in params:
2454
+ body_params = params['item_shipping_distribution_center']
2455
+ # HTTP header `Accept`
2456
+ header_params['Accept'] = self.api_client.select_header_accept(
2457
+ ['application/json']) # noqa: E501
2458
+
2459
+ # HTTP header `Content-Type`
2460
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
2461
+ ['application/json; charset=UTF-8']) # noqa: E501
2462
+
2463
+ # Authentication setting
2464
+ auth_settings = ['ultraCartOauth', 'ultraCartSimpleApiKey'] # noqa: E501
2465
+
2466
+ return self.api_client.call_api(
2467
+ '/item/items/{merchant_item_oid}/shipping/distribution_centers/by_code/{distribution_center_code}', 'PUT',
2468
+ path_params,
2469
+ query_params,
2470
+ header_params,
2471
+ body=body_params,
2472
+ post_params=form_params,
2473
+ files=local_var_files,
2474
+ response_type=None, # noqa: E501
2475
+ auth_settings=auth_settings,
2476
+ async_req=params.get('async_req'),
2477
+ _return_http_data_only=params.get('_return_http_data_only'),
2478
+ _preload_content=params.get('_preload_content', True),
2479
+ _request_timeout=params.get('_request_timeout'),
2480
+ collection_formats=collection_formats)
2481
+
2153
2482
  def update_items(self, items_request, **kwargs): # noqa: E501
2154
2483
  """Update multiple items # noqa: E501
2155
2484
 
ultracart/api_client.py CHANGED
@@ -74,7 +74,7 @@ class ApiClient(object):
74
74
  self.default_headers[header_name] = header_value
75
75
  self.cookie = cookie
76
76
  # Set default User-Agent.
77
- self.user_agent = 'Swagger-Codegen/3.11.36/python'
77
+ self.user_agent = 'Swagger-Codegen/3.11.45/python'
78
78
 
79
79
  def __del__(self):
80
80
  if self._pool is not None:
@@ -266,5 +266,5 @@ class Configuration(object):
266
266
  "OS: {env}\n"\
267
267
  "Python Version: {pyversion}\n"\
268
268
  "Version of the API: 2.0.0\n"\
269
- "SDK Package Version: 3.11.36".\
269
+ "SDK Package Version: 3.11.45".\
270
270
  format(env=sys.platform, pyversion=sys.version)
@@ -196,6 +196,9 @@ from ultracart.models.conversation_messages_response import ConversationMessages
196
196
  from ultracart.models.conversation_multimedia_upload_url import ConversationMultimediaUploadUrl
197
197
  from ultracart.models.conversation_multimedia_upload_url_response import ConversationMultimediaUploadUrlResponse
198
198
  from ultracart.models.conversation_participant import ConversationParticipant
199
+ from ultracart.models.conversation_pbx_address import ConversationPbxAddress
200
+ from ultracart.models.conversation_pbx_address_response import ConversationPbxAddressResponse
201
+ from ultracart.models.conversation_pbx_addresses_response import ConversationPbxAddressesResponse
199
202
  from ultracart.models.conversation_pbx_agent import ConversationPbxAgent
200
203
  from ultracart.models.conversation_pbx_agent_response import ConversationPbxAgentResponse
201
204
  from ultracart.models.conversation_pbx_agents_response import ConversationPbxAgentsResponse
@@ -205,6 +208,8 @@ from ultracart.models.conversation_pbx_audio_upload_url import ConversationPbxAu
205
208
  from ultracart.models.conversation_pbx_audio_upload_url_response import ConversationPbxAudioUploadUrlResponse
206
209
  from ultracart.models.conversation_pbx_audio_usage_response import ConversationPbxAudioUsageResponse
207
210
  from ultracart.models.conversation_pbx_audios_response import ConversationPbxAudiosResponse
211
+ from ultracart.models.conversation_pbx_available_phone_number import ConversationPbxAvailablePhoneNumber
212
+ from ultracart.models.conversation_pbx_available_phone_numbers_response import ConversationPbxAvailablePhoneNumbersResponse
208
213
  from ultracart.models.conversation_pbx_customer_snapshot_request import ConversationPbxCustomerSnapshotRequest
209
214
  from ultracart.models.conversation_pbx_customer_snapshot_response import ConversationPbxCustomerSnapshotResponse
210
215
  from ultracart.models.conversation_pbx_menu import ConversationPbxMenu
@@ -212,6 +217,7 @@ from ultracart.models.conversation_pbx_menu_mapping import ConversationPbxMenuMa
212
217
  from ultracart.models.conversation_pbx_menu_response import ConversationPbxMenuResponse
213
218
  from ultracart.models.conversation_pbx_menus_response import ConversationPbxMenusResponse
214
219
  from ultracart.models.conversation_pbx_phone_number import ConversationPbxPhoneNumber
220
+ from ultracart.models.conversation_pbx_phone_number_purchase_request import ConversationPbxPhoneNumberPurchaseRequest
215
221
  from ultracart.models.conversation_pbx_phone_number_response import ConversationPbxPhoneNumberResponse
216
222
  from ultracart.models.conversation_pbx_phone_numbers_response import ConversationPbxPhoneNumbersResponse
217
223
  from ultracart.models.conversation_pbx_queue import ConversationPbxQueue
@@ -601,6 +607,8 @@ from ultracart.models.item_internal import ItemInternal
601
607
  from ultracart.models.item_inventory_snapshot import ItemInventorySnapshot
602
608
  from ultracart.models.item_inventory_snapshot_distribution_center import ItemInventorySnapshotDistributionCenter
603
609
  from ultracart.models.item_inventory_snapshot_response import ItemInventorySnapshotResponse
610
+ from ultracart.models.item_inventory_update import ItemInventoryUpdate
611
+ from ultracart.models.item_inventory_update_request import ItemInventoryUpdateRequest
604
612
  from ultracart.models.item_kit_component import ItemKitComponent
605
613
  from ultracart.models.item_kit_definition import ItemKitDefinition
606
614
  from ultracart.models.item_option import ItemOption
@@ -632,6 +640,7 @@ from ultracart.models.item_shipping_case import ItemShippingCase
632
640
  from ultracart.models.item_shipping_destination_markup import ItemShippingDestinationMarkup
633
641
  from ultracart.models.item_shipping_destination_restriction import ItemShippingDestinationRestriction
634
642
  from ultracart.models.item_shipping_distribution_center import ItemShippingDistributionCenter
643
+ from ultracart.models.item_shipping_distribution_center_response import ItemShippingDistributionCenterResponse
635
644
  from ultracart.models.item_shipping_method import ItemShippingMethod
636
645
  from ultracart.models.item_shipping_package_requirement import ItemShippingPackageRequirement
637
646
  from ultracart.models.item_tag import ItemTag
@@ -32,10 +32,13 @@ class ConversationAgentProfile(object):
32
32
  """
33
33
  swagger_types = {
34
34
  'ai': 'bool',
35
+ 'ai_capabilities': 'ConversationVirtualAgentCapabilities',
35
36
  'ai_chat_instructions': 'str',
36
37
  'ai_persona': 'str',
37
38
  'ai_sms_instructions': 'str',
38
39
  'ai_ticket_instructions': 'str',
40
+ 'ai_voice_instructions': 'str',
41
+ 'ai_voice_personality': 'str',
39
42
  'chat_limit': 'int',
40
43
  'default_language_iso_code': 'str',
41
44
  'default_status': 'str',
@@ -50,10 +53,13 @@ class ConversationAgentProfile(object):
50
53
 
51
54
  attribute_map = {
52
55
  'ai': 'ai',
56
+ 'ai_capabilities': 'ai_capabilities',
53
57
  'ai_chat_instructions': 'ai_chat_instructions',
54
58
  'ai_persona': 'ai_persona',
55
59
  'ai_sms_instructions': 'ai_sms_instructions',
56
60
  'ai_ticket_instructions': 'ai_ticket_instructions',
61
+ 'ai_voice_instructions': 'ai_voice_instructions',
62
+ 'ai_voice_personality': 'ai_voice_personality',
57
63
  'chat_limit': 'chat_limit',
58
64
  'default_language_iso_code': 'default_language_iso_code',
59
65
  'default_status': 'default_status',
@@ -66,14 +72,17 @@ class ConversationAgentProfile(object):
66
72
  'zohodesk_departments': 'zohodesk_departments'
67
73
  }
68
74
 
69
- def __init__(self, ai=None, ai_chat_instructions=None, ai_persona=None, ai_sms_instructions=None, ai_ticket_instructions=None, chat_limit=None, default_language_iso_code=None, default_status=None, display_name=None, name=None, profile_image_upload_key=None, profile_image_url=None, user_id=None, zohodesk_classifications=None, zohodesk_departments=None): # noqa: E501
75
+ def __init__(self, ai=None, ai_capabilities=None, ai_chat_instructions=None, ai_persona=None, ai_sms_instructions=None, ai_ticket_instructions=None, ai_voice_instructions=None, ai_voice_personality=None, chat_limit=None, default_language_iso_code=None, default_status=None, display_name=None, name=None, profile_image_upload_key=None, profile_image_url=None, user_id=None, zohodesk_classifications=None, zohodesk_departments=None): # noqa: E501
70
76
  """ConversationAgentProfile - a model defined in Swagger""" # noqa: E501
71
77
 
72
78
  self._ai = None
79
+ self._ai_capabilities = None
73
80
  self._ai_chat_instructions = None
74
81
  self._ai_persona = None
75
82
  self._ai_sms_instructions = None
76
83
  self._ai_ticket_instructions = None
84
+ self._ai_voice_instructions = None
85
+ self._ai_voice_personality = None
77
86
  self._chat_limit = None
78
87
  self._default_language_iso_code = None
79
88
  self._default_status = None
@@ -88,6 +97,8 @@ class ConversationAgentProfile(object):
88
97
 
89
98
  if ai is not None:
90
99
  self.ai = ai
100
+ if ai_capabilities is not None:
101
+ self.ai_capabilities = ai_capabilities
91
102
  if ai_chat_instructions is not None:
92
103
  self.ai_chat_instructions = ai_chat_instructions
93
104
  if ai_persona is not None:
@@ -96,6 +107,10 @@ class ConversationAgentProfile(object):
96
107
  self.ai_sms_instructions = ai_sms_instructions
97
108
  if ai_ticket_instructions is not None:
98
109
  self.ai_ticket_instructions = ai_ticket_instructions
110
+ if ai_voice_instructions is not None:
111
+ self.ai_voice_instructions = ai_voice_instructions
112
+ if ai_voice_personality is not None:
113
+ self.ai_voice_personality = ai_voice_personality
99
114
  if chat_limit is not None:
100
115
  self.chat_limit = chat_limit
101
116
  if default_language_iso_code is not None:
@@ -140,6 +155,27 @@ class ConversationAgentProfile(object):
140
155
 
141
156
  self._ai = ai
142
157
 
158
+ @property
159
+ def ai_capabilities(self):
160
+ """Gets the ai_capabilities of this ConversationAgentProfile. # noqa: E501
161
+
162
+
163
+ :return: The ai_capabilities of this ConversationAgentProfile. # noqa: E501
164
+ :rtype: ConversationVirtualAgentCapabilities
165
+ """
166
+ return self._ai_capabilities
167
+
168
+ @ai_capabilities.setter
169
+ def ai_capabilities(self, ai_capabilities):
170
+ """Sets the ai_capabilities of this ConversationAgentProfile.
171
+
172
+
173
+ :param ai_capabilities: The ai_capabilities of this ConversationAgentProfile. # noqa: E501
174
+ :type: ConversationVirtualAgentCapabilities
175
+ """
176
+
177
+ self._ai_capabilities = ai_capabilities
178
+
143
179
  @property
144
180
  def ai_chat_instructions(self):
145
181
  """Gets the ai_chat_instructions of this ConversationAgentProfile. # noqa: E501
@@ -232,6 +268,58 @@ class ConversationAgentProfile(object):
232
268
 
233
269
  self._ai_ticket_instructions = ai_ticket_instructions
234
270
 
271
+ @property
272
+ def ai_voice_instructions(self):
273
+ """Gets the ai_voice_instructions of this ConversationAgentProfile. # noqa: E501
274
+
275
+ Additional voice instructions for this AI when handling voice calls # noqa: E501
276
+
277
+ :return: The ai_voice_instructions of this ConversationAgentProfile. # noqa: E501
278
+ :rtype: str
279
+ """
280
+ return self._ai_voice_instructions
281
+
282
+ @ai_voice_instructions.setter
283
+ def ai_voice_instructions(self, ai_voice_instructions):
284
+ """Sets the ai_voice_instructions of this ConversationAgentProfile.
285
+
286
+ Additional voice instructions for this AI when handling voice calls # noqa: E501
287
+
288
+ :param ai_voice_instructions: The ai_voice_instructions of this ConversationAgentProfile. # noqa: E501
289
+ :type: str
290
+ """
291
+
292
+ self._ai_voice_instructions = ai_voice_instructions
293
+
294
+ @property
295
+ def ai_voice_personality(self):
296
+ """Gets the ai_voice_personality of this ConversationAgentProfile. # noqa: E501
297
+
298
+ Which AI voice personality to use when handling the call. # noqa: E501
299
+
300
+ :return: The ai_voice_personality of this ConversationAgentProfile. # noqa: E501
301
+ :rtype: str
302
+ """
303
+ return self._ai_voice_personality
304
+
305
+ @ai_voice_personality.setter
306
+ def ai_voice_personality(self, ai_voice_personality):
307
+ """Sets the ai_voice_personality of this ConversationAgentProfile.
308
+
309
+ Which AI voice personality to use when handling the call. # noqa: E501
310
+
311
+ :param ai_voice_personality: The ai_voice_personality of this ConversationAgentProfile. # noqa: E501
312
+ :type: str
313
+ """
314
+ allowed_values = ["Ara", "Rex", "Sal", "Eve", "Leo"] # noqa: E501
315
+ if ai_voice_personality not in allowed_values:
316
+ raise ValueError(
317
+ "Invalid value for `ai_voice_personality` ({0}), must be one of {1}" # noqa: E501
318
+ .format(ai_voice_personality, allowed_values)
319
+ )
320
+
321
+ self._ai_voice_personality = ai_voice_personality
322
+
235
323
  @property
236
324
  def chat_limit(self):
237
325
  """Gets the chat_limit of this ConversationAgentProfile. # noqa: E501
@@ -31,25 +31,30 @@ class ConversationDepartmentMember(object):
31
31
  and the value is json key in definition.
32
32
  """
33
33
  swagger_types = {
34
+ 'ai': 'bool',
34
35
  'member': 'bool',
35
36
  'name': 'str',
36
37
  'user_id': 'int'
37
38
  }
38
39
 
39
40
  attribute_map = {
41
+ 'ai': 'ai',
40
42
  'member': 'member',
41
43
  'name': 'name',
42
44
  'user_id': 'user_id'
43
45
  }
44
46
 
45
- def __init__(self, member=None, name=None, user_id=None): # noqa: E501
47
+ def __init__(self, ai=None, member=None, name=None, user_id=None): # noqa: E501
46
48
  """ConversationDepartmentMember - a model defined in Swagger""" # noqa: E501
47
49
 
50
+ self._ai = None
48
51
  self._member = None
49
52
  self._name = None
50
53
  self._user_id = None
51
54
  self.discriminator = None
52
55
 
56
+ if ai is not None:
57
+ self.ai = ai
53
58
  if member is not None:
54
59
  self.member = member
55
60
  if name is not None:
@@ -57,6 +62,27 @@ class ConversationDepartmentMember(object):
57
62
  if user_id is not None:
58
63
  self.user_id = user_id
59
64
 
65
+ @property
66
+ def ai(self):
67
+ """Gets the ai of this ConversationDepartmentMember. # noqa: E501
68
+
69
+
70
+ :return: The ai of this ConversationDepartmentMember. # noqa: E501
71
+ :rtype: bool
72
+ """
73
+ return self._ai
74
+
75
+ @ai.setter
76
+ def ai(self, ai):
77
+ """Sets the ai of this ConversationDepartmentMember.
78
+
79
+
80
+ :param ai: The ai of this ConversationDepartmentMember. # noqa: E501
81
+ :type: bool
82
+ """
83
+
84
+ self._ai = ai
85
+
60
86
  @property
61
87
  def member(self):
62
88
  """Gets the member of this ConversationDepartmentMember. # noqa: E501