ultracart-rest-sdk 4.0.238__py3-none-any.whl → 4.0.241__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.

Potentially problematic release.


This version of ultracart-rest-sdk might be problematic. Click here for more details.

ultracart/__init__.py CHANGED
@@ -11,7 +11,7 @@
11
11
  """
12
12
 
13
13
 
14
- __version__ = "4.0.238"
14
+ __version__ = "4.0.241"
15
15
 
16
16
  # import ApiClient
17
17
  from ultracart.api_client import ApiClient
@@ -32,6 +32,8 @@ from ultracart.model.channel_partner_ship_to_preference_response import ChannelP
32
32
  from ultracart.model.channel_partner_ship_to_preferences_response import ChannelPartnerShipToPreferencesResponse
33
33
  from ultracart.model.channel_partners_response import ChannelPartnersResponse
34
34
  from ultracart.model.error_response import ErrorResponse
35
+ from ultracart.model.order import Order
36
+ from ultracart.model.order_response import OrderResponse
35
37
 
36
38
 
37
39
  class ChannelPartnerApi(object):
@@ -324,6 +326,120 @@ class ChannelPartnerApi(object):
324
326
  },
325
327
  api_client=api_client
326
328
  )
329
+ self.get_channel_partner_order_endpoint = _Endpoint(
330
+ settings={
331
+ 'response_type': (OrderResponse,),
332
+ 'auth': [
333
+ 'ultraCartOauth',
334
+ 'ultraCartSimpleApiKey'
335
+ ],
336
+ 'endpoint_path': '/channel_partner/orders/{order_id}',
337
+ 'operation_id': 'get_channel_partner_order',
338
+ 'http_method': 'GET',
339
+ 'servers': None,
340
+ },
341
+ params_map={
342
+ 'all': [
343
+ 'order_id',
344
+ 'expand',
345
+ ],
346
+ 'required': [
347
+ 'order_id',
348
+ ],
349
+ 'nullable': [
350
+ ],
351
+ 'enum': [
352
+ ],
353
+ 'validation': [
354
+ ]
355
+ },
356
+ root_map={
357
+ 'validations': {
358
+ },
359
+ 'allowed_values': {
360
+ },
361
+ 'openapi_types': {
362
+ 'order_id':
363
+ (str,),
364
+ 'expand':
365
+ (str,),
366
+ },
367
+ 'attribute_map': {
368
+ 'order_id': 'order_id',
369
+ 'expand': '_expand',
370
+ },
371
+ 'location_map': {
372
+ 'order_id': 'path',
373
+ 'expand': 'query',
374
+ },
375
+ 'collection_format_map': {
376
+ }
377
+ },
378
+ headers_map={
379
+ 'accept': [
380
+ 'application/json'
381
+ ],
382
+ 'content_type': [],
383
+ },
384
+ api_client=api_client
385
+ )
386
+ self.get_channel_partner_order_by_channel_partner_order_id_endpoint = _Endpoint(
387
+ settings={
388
+ 'response_type': (OrderResponse,),
389
+ 'auth': [
390
+ 'ultraCartOauth',
391
+ 'ultraCartSimpleApiKey'
392
+ ],
393
+ 'endpoint_path': '/channel_partner/orders/by_channel_partner_order_id/{order_id}',
394
+ 'operation_id': 'get_channel_partner_order_by_channel_partner_order_id',
395
+ 'http_method': 'GET',
396
+ 'servers': None,
397
+ },
398
+ params_map={
399
+ 'all': [
400
+ 'order_id',
401
+ 'expand',
402
+ ],
403
+ 'required': [
404
+ 'order_id',
405
+ ],
406
+ 'nullable': [
407
+ ],
408
+ 'enum': [
409
+ ],
410
+ 'validation': [
411
+ ]
412
+ },
413
+ root_map={
414
+ 'validations': {
415
+ },
416
+ 'allowed_values': {
417
+ },
418
+ 'openapi_types': {
419
+ 'order_id':
420
+ (str,),
421
+ 'expand':
422
+ (str,),
423
+ },
424
+ 'attribute_map': {
425
+ 'order_id': 'order_id',
426
+ 'expand': '_expand',
427
+ },
428
+ 'location_map': {
429
+ 'order_id': 'path',
430
+ 'expand': 'query',
431
+ },
432
+ 'collection_format_map': {
433
+ }
434
+ },
435
+ headers_map={
436
+ 'accept': [
437
+ 'application/json'
438
+ ],
439
+ 'content_type': [],
440
+ },
441
+ api_client=api_client
442
+ )
327
443
  self.get_channel_partner_ship_to_preference_endpoint = _Endpoint(
328
444
  settings={
329
445
  'response_type': (ChannelPartnerShipToPreferenceResponse,),
@@ -591,6 +707,105 @@ class ChannelPartnerApi(object):
591
707
  },
592
708
  api_client=api_client
593
709
  )
710
+ self.refund_channel_partner_order_endpoint = _Endpoint(
711
+ settings={
712
+ 'response_type': (OrderResponse,),
713
+ 'auth': [
714
+ 'ultraCartOauth',
715
+ 'ultraCartSimpleApiKey'
716
+ ],
717
+ 'endpoint_path': '/channel_partner/orders/{order_id}/refund',
718
+ 'operation_id': 'refund_channel_partner_order',
719
+ 'http_method': 'PUT',
720
+ 'servers': None,
721
+ },
722
+ params_map={
723
+ 'all': [
724
+ 'order_id',
725
+ 'order',
726
+ 'reject_after_refund',
727
+ 'skip_customer_notification',
728
+ 'auto_order_cancel',
729
+ 'manual_refund',
730
+ 'reverse_affiliate_transactions',
731
+ 'issue_store_credit',
732
+ 'auto_order_cancel_reason',
733
+ 'expand',
734
+ ],
735
+ 'required': [
736
+ 'order_id',
737
+ 'order',
738
+ ],
739
+ 'nullable': [
740
+ ],
741
+ 'enum': [
742
+ ],
743
+ 'validation': [
744
+ ]
745
+ },
746
+ root_map={
747
+ 'validations': {
748
+ },
749
+ 'allowed_values': {
750
+ },
751
+ 'openapi_types': {
752
+ 'order_id':
753
+ (str,),
754
+ 'order':
755
+ (Order,),
756
+ 'reject_after_refund':
757
+ (bool,),
758
+ 'skip_customer_notification':
759
+ (bool,),
760
+ 'auto_order_cancel':
761
+ (bool,),
762
+ 'manual_refund':
763
+ (bool,),
764
+ 'reverse_affiliate_transactions':
765
+ (bool,),
766
+ 'issue_store_credit':
767
+ (bool,),
768
+ 'auto_order_cancel_reason':
769
+ (str,),
770
+ 'expand':
771
+ (str,),
772
+ },
773
+ 'attribute_map': {
774
+ 'order_id': 'order_id',
775
+ 'reject_after_refund': 'reject_after_refund',
776
+ 'skip_customer_notification': 'skip_customer_notification',
777
+ 'auto_order_cancel': 'auto_order_cancel',
778
+ 'manual_refund': 'manual_refund',
779
+ 'reverse_affiliate_transactions': 'reverse_affiliate_transactions',
780
+ 'issue_store_credit': 'issue_store_credit',
781
+ 'auto_order_cancel_reason': 'auto_order_cancel_reason',
782
+ 'expand': '_expand',
783
+ },
784
+ 'location_map': {
785
+ 'order_id': 'path',
786
+ 'order': 'body',
787
+ 'reject_after_refund': 'query',
788
+ 'skip_customer_notification': 'query',
789
+ 'auto_order_cancel': 'query',
790
+ 'manual_refund': 'query',
791
+ 'reverse_affiliate_transactions': 'query',
792
+ 'issue_store_credit': 'query',
793
+ 'auto_order_cancel_reason': 'query',
794
+ 'expand': 'query',
795
+ },
796
+ 'collection_format_map': {
797
+ }
798
+ },
799
+ headers_map={
800
+ 'accept': [
801
+ 'application/json'
802
+ ],
803
+ 'content_type': [
804
+ 'application/json; charset=UTF-8'
805
+ ]
806
+ },
807
+ api_client=api_client
808
+ )
594
809
  self.update_channel_partner_ship_to_preference_endpoint = _Endpoint(
595
810
  settings={
596
811
  'response_type': (ChannelPartnerShipToPreferenceResponse,),
@@ -1076,6 +1291,174 @@ class ChannelPartnerApi(object):
1076
1291
  channel_partner_order
1077
1292
  return self.estimate_tax_for_channel_partner_order_endpoint.call_with_http_info(**kwargs)
1078
1293
 
1294
+ def get_channel_partner_order(
1295
+ self,
1296
+ order_id,
1297
+ **kwargs
1298
+ ):
1299
+ """Retrieve a channel partner order # noqa: E501
1300
+
1301
+ Retrieves a single order using the specified order id. Only orders belonging to this channel partner may be retrieved. # noqa: E501
1302
+ This method makes a synchronous HTTP request by default. To make an
1303
+ asynchronous HTTP request, please pass async_req=True
1304
+
1305
+ >>> thread = api.get_channel_partner_order(order_id, async_req=True)
1306
+ >>> result = thread.get()
1307
+
1308
+ Args:
1309
+ order_id (str): The order id to retrieve.
1310
+
1311
+ Keyword Args:
1312
+ expand (str): The object expansion to perform on the result. See OrderApi.getOrder documentation for examples. [optional]
1313
+ _return_http_data_only (bool): response data without head status
1314
+ code and headers. Default is True.
1315
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
1316
+ will be returned without reading/decoding response data.
1317
+ Default is True.
1318
+ _request_timeout (int/float/tuple): timeout setting for this request. If
1319
+ one number provided, it will be total request timeout. It can also
1320
+ be a pair (tuple) of (connection, read) timeouts.
1321
+ Default is None.
1322
+ _check_input_type (bool): specifies if type checking
1323
+ should be done one the data sent to the server.
1324
+ Default is True.
1325
+ _check_return_type (bool): specifies if type checking
1326
+ should be done one the data received from the server.
1327
+ Default is True.
1328
+ _spec_property_naming (bool): True if the variable names in the input data
1329
+ are serialized names, as specified in the OpenAPI document.
1330
+ False if the variable names in the input data
1331
+ are pythonic names, e.g. snake case (default)
1332
+ _content_type (str/None): force body content-type.
1333
+ Default is None and content-type will be predicted by allowed
1334
+ content-types and body.
1335
+ _host_index (int/None): specifies the index of the server
1336
+ that we want to use.
1337
+ Default is read from the configuration.
1338
+ _request_auths (list): set to override the auth_settings for an a single
1339
+ request; this effectively ignores the authentication
1340
+ in the spec for a single request.
1341
+ Default is None
1342
+ async_req (bool): execute request asynchronously
1343
+
1344
+ Returns:
1345
+ OrderResponse
1346
+ If the method is called asynchronously, returns the request
1347
+ thread.
1348
+ """
1349
+ kwargs['async_req'] = kwargs.get(
1350
+ 'async_req', False
1351
+ )
1352
+ kwargs['_return_http_data_only'] = kwargs.get(
1353
+ '_return_http_data_only', True
1354
+ )
1355
+ kwargs['_preload_content'] = kwargs.get(
1356
+ '_preload_content', True
1357
+ )
1358
+ kwargs['_request_timeout'] = kwargs.get(
1359
+ '_request_timeout', None
1360
+ )
1361
+ kwargs['_check_input_type'] = kwargs.get(
1362
+ '_check_input_type', True
1363
+ )
1364
+ kwargs['_check_return_type'] = kwargs.get(
1365
+ '_check_return_type', True
1366
+ )
1367
+ kwargs['_spec_property_naming'] = kwargs.get(
1368
+ '_spec_property_naming', False
1369
+ )
1370
+ kwargs['_content_type'] = kwargs.get(
1371
+ '_content_type')
1372
+ kwargs['_host_index'] = kwargs.get('_host_index')
1373
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
1374
+ kwargs['order_id'] = \
1375
+ order_id
1376
+ return self.get_channel_partner_order_endpoint.call_with_http_info(**kwargs)
1377
+
1378
+ def get_channel_partner_order_by_channel_partner_order_id(
1379
+ self,
1380
+ order_id,
1381
+ **kwargs
1382
+ ):
1383
+ """Retrieve a channel partner order by the channel partner order id # noqa: E501
1384
+
1385
+ Retrieves a single order using the channel partner order id, not the ultracart order id. Only orders belonging to this channel partner may be retrieved. # noqa: E501
1386
+ This method makes a synchronous HTTP request by default. To make an
1387
+ asynchronous HTTP request, please pass async_req=True
1388
+
1389
+ >>> thread = api.get_channel_partner_order_by_channel_partner_order_id(order_id, async_req=True)
1390
+ >>> result = thread.get()
1391
+
1392
+ Args:
1393
+ order_id (str): The channel partner order id to retrieve.
1394
+
1395
+ Keyword Args:
1396
+ expand (str): The object expansion to perform on the result. See OrderApi.getOrder documentation for examples. [optional]
1397
+ _return_http_data_only (bool): response data without head status
1398
+ code and headers. Default is True.
1399
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
1400
+ will be returned without reading/decoding response data.
1401
+ Default is True.
1402
+ _request_timeout (int/float/tuple): timeout setting for this request. If
1403
+ one number provided, it will be total request timeout. It can also
1404
+ be a pair (tuple) of (connection, read) timeouts.
1405
+ Default is None.
1406
+ _check_input_type (bool): specifies if type checking
1407
+ should be done one the data sent to the server.
1408
+ Default is True.
1409
+ _check_return_type (bool): specifies if type checking
1410
+ should be done one the data received from the server.
1411
+ Default is True.
1412
+ _spec_property_naming (bool): True if the variable names in the input data
1413
+ are serialized names, as specified in the OpenAPI document.
1414
+ False if the variable names in the input data
1415
+ are pythonic names, e.g. snake case (default)
1416
+ _content_type (str/None): force body content-type.
1417
+ Default is None and content-type will be predicted by allowed
1418
+ content-types and body.
1419
+ _host_index (int/None): specifies the index of the server
1420
+ that we want to use.
1421
+ Default is read from the configuration.
1422
+ _request_auths (list): set to override the auth_settings for an a single
1423
+ request; this effectively ignores the authentication
1424
+ in the spec for a single request.
1425
+ Default is None
1426
+ async_req (bool): execute request asynchronously
1427
+
1428
+ Returns:
1429
+ OrderResponse
1430
+ If the method is called asynchronously, returns the request
1431
+ thread.
1432
+ """
1433
+ kwargs['async_req'] = kwargs.get(
1434
+ 'async_req', False
1435
+ )
1436
+ kwargs['_return_http_data_only'] = kwargs.get(
1437
+ '_return_http_data_only', True
1438
+ )
1439
+ kwargs['_preload_content'] = kwargs.get(
1440
+ '_preload_content', True
1441
+ )
1442
+ kwargs['_request_timeout'] = kwargs.get(
1443
+ '_request_timeout', None
1444
+ )
1445
+ kwargs['_check_input_type'] = kwargs.get(
1446
+ '_check_input_type', True
1447
+ )
1448
+ kwargs['_check_return_type'] = kwargs.get(
1449
+ '_check_return_type', True
1450
+ )
1451
+ kwargs['_spec_property_naming'] = kwargs.get(
1452
+ '_spec_property_naming', False
1453
+ )
1454
+ kwargs['_content_type'] = kwargs.get(
1455
+ '_content_type')
1456
+ kwargs['_host_index'] = kwargs.get('_host_index')
1457
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
1458
+ kwargs['order_id'] = \
1459
+ order_id
1460
+ return self.get_channel_partner_order_by_channel_partner_order_id_endpoint.call_with_http_info(**kwargs)
1461
+
1079
1462
  def get_channel_partner_ship_to_preference(
1080
1463
  self,
1081
1464
  channel_partner_oid,
@@ -1494,6 +1877,101 @@ class ChannelPartnerApi(object):
1494
1877
  ship_to_preference
1495
1878
  return self.insert_channel_partner_ship_to_preference_endpoint.call_with_http_info(**kwargs)
1496
1879
 
1880
+ def refund_channel_partner_order(
1881
+ self,
1882
+ order_id,
1883
+ order,
1884
+ **kwargs
1885
+ ):
1886
+ """Refund a channel partner order # noqa: E501
1887
+
1888
+ Perform a refund operation on a channel partner order and then update the order if successful. All of the object properties ending in _refunded should be the TOTAL amount that should end up being refunded. UltraCart will calculate the actual amount to refund based upon the prior refunds. # noqa: E501
1889
+ This method makes a synchronous HTTP request by default. To make an
1890
+ asynchronous HTTP request, please pass async_req=True
1891
+
1892
+ >>> thread = api.refund_channel_partner_order(order_id, order, async_req=True)
1893
+ >>> result = thread.get()
1894
+
1895
+ Args:
1896
+ order_id (str): The order id to refund.
1897
+ order (Order): Order to refund
1898
+
1899
+ Keyword Args:
1900
+ reject_after_refund (bool): Reject order after refund. [optional] if omitted the server will use the default value of False
1901
+ skip_customer_notification (bool): Skip customer email notification. [optional] if omitted the server will use the default value of False
1902
+ auto_order_cancel (bool): Cancel associated auto orders. [optional] if omitted the server will use the default value of False
1903
+ manual_refund (bool): Consider a manual refund done externally. [optional] if omitted the server will use the default value of False
1904
+ reverse_affiliate_transactions (bool): Reverse affiliate transactions. [optional] if omitted the server will use the default value of True
1905
+ issue_store_credit (bool): Issue a store credit instead of refunding the original payment method, loyalty must be configured on merchant account. [optional] if omitted the server will use the default value of False
1906
+ auto_order_cancel_reason (str): Reason for auto orders cancellation. [optional]
1907
+ expand (str): The object expansion to perform on the result. See OrderApi.refundOrder documentation for examples. [optional]
1908
+ _return_http_data_only (bool): response data without head status
1909
+ code and headers. Default is True.
1910
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
1911
+ will be returned without reading/decoding response data.
1912
+ Default is True.
1913
+ _request_timeout (int/float/tuple): timeout setting for this request. If
1914
+ one number provided, it will be total request timeout. It can also
1915
+ be a pair (tuple) of (connection, read) timeouts.
1916
+ Default is None.
1917
+ _check_input_type (bool): specifies if type checking
1918
+ should be done one the data sent to the server.
1919
+ Default is True.
1920
+ _check_return_type (bool): specifies if type checking
1921
+ should be done one the data received from the server.
1922
+ Default is True.
1923
+ _spec_property_naming (bool): True if the variable names in the input data
1924
+ are serialized names, as specified in the OpenAPI document.
1925
+ False if the variable names in the input data
1926
+ are pythonic names, e.g. snake case (default)
1927
+ _content_type (str/None): force body content-type.
1928
+ Default is None and content-type will be predicted by allowed
1929
+ content-types and body.
1930
+ _host_index (int/None): specifies the index of the server
1931
+ that we want to use.
1932
+ Default is read from the configuration.
1933
+ _request_auths (list): set to override the auth_settings for an a single
1934
+ request; this effectively ignores the authentication
1935
+ in the spec for a single request.
1936
+ Default is None
1937
+ async_req (bool): execute request asynchronously
1938
+
1939
+ Returns:
1940
+ OrderResponse
1941
+ If the method is called asynchronously, returns the request
1942
+ thread.
1943
+ """
1944
+ kwargs['async_req'] = kwargs.get(
1945
+ 'async_req', False
1946
+ )
1947
+ kwargs['_return_http_data_only'] = kwargs.get(
1948
+ '_return_http_data_only', True
1949
+ )
1950
+ kwargs['_preload_content'] = kwargs.get(
1951
+ '_preload_content', True
1952
+ )
1953
+ kwargs['_request_timeout'] = kwargs.get(
1954
+ '_request_timeout', None
1955
+ )
1956
+ kwargs['_check_input_type'] = kwargs.get(
1957
+ '_check_input_type', True
1958
+ )
1959
+ kwargs['_check_return_type'] = kwargs.get(
1960
+ '_check_return_type', True
1961
+ )
1962
+ kwargs['_spec_property_naming'] = kwargs.get(
1963
+ '_spec_property_naming', False
1964
+ )
1965
+ kwargs['_content_type'] = kwargs.get(
1966
+ '_content_type')
1967
+ kwargs['_host_index'] = kwargs.get('_host_index')
1968
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
1969
+ kwargs['order_id'] = \
1970
+ order_id
1971
+ kwargs['order'] = \
1972
+ order
1973
+ return self.refund_channel_partner_order_endpoint.call_with_http_info(**kwargs)
1974
+
1497
1975
  def update_channel_partner_ship_to_preference(
1498
1976
  self,
1499
1977
  channel_partner_oid,
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.0.238/python'
80
+ self.user_agent = 'OpenAPI-Generator/4.0.241/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.0.238".\
425
+ "SDK Package Version: 4.0.241".\
426
426
  format(env=sys.platform, pyversion=sys.version)
427
427
 
428
428
  def get_host_settings(self):
@@ -310,6 +310,7 @@ class ChannelPartnerOrder(ModelNormal):
310
310
  'special_instructions': (str,), # noqa: E501
311
311
  'store_completed': (bool,), # noqa: E501
312
312
  'store_if_payment_declines': (bool,), # noqa: E501
313
+ 'storefront_host_name': (str,), # noqa: E501
313
314
  'tax_county': (str,), # noqa: E501
314
315
  'tax_exempt': (bool,), # noqa: E501
315
316
  'transaction': (ChannelPartnerOrderTransaction,), # noqa: E501
@@ -409,6 +410,7 @@ class ChannelPartnerOrder(ModelNormal):
409
410
  'special_instructions': 'special_instructions', # noqa: E501
410
411
  'store_completed': 'store_completed', # noqa: E501
411
412
  'store_if_payment_declines': 'store_if_payment_declines', # noqa: E501
413
+ 'storefront_host_name': 'storefront_host_name', # noqa: E501
412
414
  'tax_county': 'tax_county', # noqa: E501
413
415
  'tax_exempt': 'tax_exempt', # noqa: E501
414
416
  'transaction': 'transaction', # noqa: E501
@@ -543,6 +545,7 @@ class ChannelPartnerOrder(ModelNormal):
543
545
  special_instructions (str): Special instructions from the customer regarding shipping. [optional] # noqa: E501
544
546
  store_completed (bool): If true the order bypasses shipping and is marked completed. [optional] # noqa: E501
545
547
  store_if_payment_declines (bool): If true any failed payments are placed into Accounts Receivable. If false any failed payments result in a rejected order resulting in errors thrown during the insert routine. [optional] # noqa: E501
548
+ storefront_host_name (str): StoreFront host name associated with the order. [optional] # noqa: E501
546
549
  tax_county (str): The optional shipping county used to determine exact taxes. [optional] # noqa: E501
547
550
  tax_exempt (bool): If true this order is marked as being tax exempt. [optional] # noqa: E501
548
551
  transaction (ChannelPartnerOrderTransaction): [optional] # noqa: E501
@@ -719,6 +722,7 @@ class ChannelPartnerOrder(ModelNormal):
719
722
  special_instructions (str): Special instructions from the customer regarding shipping. [optional] # noqa: E501
720
723
  store_completed (bool): If true the order bypasses shipping and is marked completed. [optional] # noqa: E501
721
724
  store_if_payment_declines (bool): If true any failed payments are placed into Accounts Receivable. If false any failed payments result in a rejected order resulting in errors thrown during the insert routine. [optional] # noqa: E501
725
+ storefront_host_name (str): StoreFront host name associated with the order. [optional] # noqa: E501
722
726
  tax_county (str): The optional shipping county used to determine exact taxes. [optional] # noqa: E501
723
727
  tax_exempt (bool): If true this order is marked as being tax exempt. [optional] # noqa: E501
724
728
  transaction (ChannelPartnerOrderTransaction): [optional] # noqa: E501
@@ -146,7 +146,7 @@ class CustomerAttachment(ModelNormal):
146
146
  customer_profile_attachment_oid (int): Attachment identifier. [optional] # noqa: E501
147
147
  description (str): Description. [optional] # noqa: E501
148
148
  file_name (str): File name. [optional] # noqa: E501
149
- mime_type (str): Mime typoe. [optional] # noqa: E501
149
+ mime_type (str): Mime type. [optional] # noqa: E501
150
150
  upload_dts (str): Upload date/time. [optional] # noqa: E501
151
151
  """
152
152
 
@@ -236,7 +236,7 @@ class CustomerAttachment(ModelNormal):
236
236
  customer_profile_attachment_oid (int): Attachment identifier. [optional] # noqa: E501
237
237
  description (str): Description. [optional] # noqa: E501
238
238
  file_name (str): File name. [optional] # noqa: E501
239
- mime_type (str): Mime typoe. [optional] # noqa: E501
239
+ mime_type (str): Mime type. [optional] # noqa: E501
240
240
  upload_dts (str): Upload date/time. [optional] # noqa: E501
241
241
  """
242
242
 
@@ -151,6 +151,7 @@ class CustomerQuery(ModelNormal):
151
151
  'billing_postal_code': (str,), # noqa: E501
152
152
  'billing_state': (str,), # noqa: E501
153
153
  'email': (str,), # noqa: E501
154
+ 'emails': ([str],), # noqa: E501
154
155
  'last_modified_dts_end': (str,), # noqa: E501
155
156
  'last_modified_dts_start': (str,), # noqa: E501
156
157
  'pricing_tier_name': (str,), # noqa: E501
@@ -188,6 +189,7 @@ class CustomerQuery(ModelNormal):
188
189
  'billing_postal_code': 'billing_postal_code', # noqa: E501
189
190
  'billing_state': 'billing_state', # noqa: E501
190
191
  'email': 'email', # noqa: E501
192
+ 'emails': 'emails', # noqa: E501
191
193
  'last_modified_dts_end': 'last_modified_dts_end', # noqa: E501
192
194
  'last_modified_dts_start': 'last_modified_dts_start', # noqa: E501
193
195
  'pricing_tier_name': 'pricing_tier_name', # noqa: E501
@@ -260,6 +262,7 @@ class CustomerQuery(ModelNormal):
260
262
  billing_postal_code (str): Billing postal code. [optional] # noqa: E501
261
263
  billing_state (str): Billing state. [optional] # noqa: E501
262
264
  email (str): Email address of this customer profile. [optional] # noqa: E501
265
+ emails ([str]): Emails allows for searching on multiple email addresses and work with our without the single email variable. You may specify a single email address here or use the email property.. [optional] # noqa: E501
263
266
  last_modified_dts_end (str): Last modified date end. [optional] # noqa: E501
264
267
  last_modified_dts_start (str): Last modified date start. [optional] # noqa: E501
265
268
  pricing_tier_name (str): Pricing tier name. [optional] # noqa: E501
@@ -374,6 +377,7 @@ class CustomerQuery(ModelNormal):
374
377
  billing_postal_code (str): Billing postal code. [optional] # noqa: E501
375
378
  billing_state (str): Billing state. [optional] # noqa: E501
376
379
  email (str): Email address of this customer profile. [optional] # noqa: E501
380
+ emails ([str]): Emails allows for searching on multiple email addresses and work with our without the single email variable. You may specify a single email address here or use the email property.. [optional] # noqa: E501
377
381
  last_modified_dts_end (str): Last modified date end. [optional] # noqa: E501
378
382
  last_modified_dts_start (str): Last modified date start. [optional] # noqa: E501
379
383
  pricing_tier_name (str): Pricing tier name. [optional] # noqa: E501
@@ -65,6 +65,9 @@ class ItemReview(ModelNormal):
65
65
  }
66
66
 
67
67
  validations = {
68
+ ('merchant_reply',): {
69
+ 'max_length': 10000,
70
+ },
68
71
  ('rating_name1',): {
69
72
  'max_length': 100,
70
73
  },
@@ -140,6 +143,7 @@ class ItemReview(ModelNormal):
140
143
  'featured': (bool,), # noqa: E501
141
144
  'helperful_no_votes': (int,), # noqa: E501
142
145
  'helpful_yes_votes': (int,), # noqa: E501
146
+ 'merchant_reply': (str,), # noqa: E501
143
147
  'order_id': (str,), # noqa: E501
144
148
  'overall': (float,), # noqa: E501
145
149
  'rating_name1': (str,), # noqa: E501
@@ -185,6 +189,7 @@ class ItemReview(ModelNormal):
185
189
  'featured': 'featured', # noqa: E501
186
190
  'helperful_no_votes': 'helperful_no_votes', # noqa: E501
187
191
  'helpful_yes_votes': 'helpful_yes_votes', # noqa: E501
192
+ 'merchant_reply': 'merchant_reply', # noqa: E501
188
193
  'order_id': 'order_id', # noqa: E501
189
194
  'overall': 'overall', # noqa: E501
190
195
  'rating_name1': 'rating_name1', # noqa: E501
@@ -265,6 +270,7 @@ class ItemReview(ModelNormal):
265
270
  featured (bool): [optional] # noqa: E501
266
271
  helperful_no_votes (int): [optional] # noqa: E501
267
272
  helpful_yes_votes (int): [optional] # noqa: E501
273
+ merchant_reply (str): Merchant Reply (set to an empty string to remove). [optional] # noqa: E501
268
274
  order_id (str): [optional] # noqa: E501
269
275
  overall (float): [optional] # noqa: E501
270
276
  rating_name1 (str): Rating Name 1. [optional] # noqa: E501
@@ -387,6 +393,7 @@ class ItemReview(ModelNormal):
387
393
  featured (bool): [optional] # noqa: E501
388
394
  helperful_no_votes (int): [optional] # noqa: E501
389
395
  helpful_yes_votes (int): [optional] # noqa: E501
396
+ merchant_reply (str): Merchant Reply (set to an empty string to remove). [optional] # noqa: E501
390
397
  order_id (str): [optional] # noqa: E501
391
398
  overall (float): [optional] # noqa: E501
392
399
  rating_name1 (str): Rating Name 1. [optional] # noqa: E501
ultracart/model/order.py CHANGED
@@ -39,6 +39,7 @@ def lazy_import():
39
39
  from ultracart.model.order_channel_partner import OrderChannelPartner
40
40
  from ultracart.model.order_checkout import OrderCheckout
41
41
  from ultracart.model.order_coupon import OrderCoupon
42
+ from ultracart.model.order_current_stage_history import OrderCurrentStageHistory
42
43
  from ultracart.model.order_digital_order import OrderDigitalOrder
43
44
  from ultracart.model.order_edi import OrderEdi
44
45
  from ultracart.model.order_fraud_score import OrderFraudScore
@@ -66,6 +67,7 @@ def lazy_import():
66
67
  globals()['OrderChannelPartner'] = OrderChannelPartner
67
68
  globals()['OrderCheckout'] = OrderCheckout
68
69
  globals()['OrderCoupon'] = OrderCoupon
70
+ globals()['OrderCurrentStageHistory'] = OrderCurrentStageHistory
69
71
  globals()['OrderDigitalOrder'] = OrderDigitalOrder
70
72
  globals()['OrderEdi'] = OrderEdi
71
73
  globals()['OrderFraudScore'] = OrderFraudScore
@@ -171,6 +173,7 @@ class Order(ModelNormal):
171
173
  'creation_dts': (str,), # noqa: E501
172
174
  'currency_code': (str,), # noqa: E501
173
175
  'current_stage': (str,), # noqa: E501
176
+ 'current_stage_histories': ([OrderCurrentStageHistory],), # noqa: E501
174
177
  'customer_profile': (Customer,), # noqa: E501
175
178
  'digital_order': (OrderDigitalOrder,), # noqa: E501
176
179
  'edi': (OrderEdi,), # noqa: E501
@@ -217,6 +220,7 @@ class Order(ModelNormal):
217
220
  'creation_dts': 'creation_dts', # noqa: E501
218
221
  'currency_code': 'currency_code', # noqa: E501
219
222
  'current_stage': 'current_stage', # noqa: E501
223
+ 'current_stage_histories': 'current_stage_histories', # noqa: E501
220
224
  'customer_profile': 'customer_profile', # noqa: E501
221
225
  'digital_order': 'digital_order', # noqa: E501
222
226
  'edi': 'edi', # noqa: E501
@@ -298,6 +302,7 @@ class Order(ModelNormal):
298
302
  creation_dts (str): Date/time that the order was created. [optional] # noqa: E501
299
303
  currency_code (str): Currency code that the customer used if different than the merchant's base currency code. [optional] # noqa: E501
300
304
  current_stage (str): Current stage that the order is in.. [optional] # noqa: E501
305
+ current_stage_histories ([OrderCurrentStageHistory]): History of the changes to the current_stage field. [optional] # noqa: E501
301
306
  customer_profile (Customer): [optional] # noqa: E501
302
307
  digital_order (OrderDigitalOrder): [optional] # noqa: E501
303
308
  edi (OrderEdi): [optional] # noqa: E501
@@ -421,6 +426,7 @@ class Order(ModelNormal):
421
426
  creation_dts (str): Date/time that the order was created. [optional] # noqa: E501
422
427
  currency_code (str): Currency code that the customer used if different than the merchant's base currency code. [optional] # noqa: E501
423
428
  current_stage (str): Current stage that the order is in.. [optional] # noqa: E501
429
+ current_stage_histories ([OrderCurrentStageHistory]): History of the changes to the current_stage field. [optional] # noqa: E501
424
430
  customer_profile (Customer): [optional] # noqa: E501
425
431
  digital_order (OrderDigitalOrder): [optional] # noqa: E501
426
432
  edi (OrderEdi): [optional] # noqa: E501
@@ -0,0 +1,302 @@
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 OrderCurrentStageHistory(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
+ ('after_stage',): {
60
+ 'ACCOUNTS_RECEIVABLE': "Accounts Receivable",
61
+ 'PENDING_CLEARANCE': "Pending Clearance",
62
+ 'FRAUD_REVIEW': "Fraud Review",
63
+ 'REJECTED': "Rejected",
64
+ 'SHIPPING_DEPARTMENT': "Shipping Department",
65
+ 'COMPLETED_ORDER': "Completed Order",
66
+ 'QUOTE_REQUEST': "Quote Request",
67
+ 'QUOTE_SENT': "Quote Sent",
68
+ 'LEAST_COST_ROUTING': "Least Cost Routing",
69
+ 'UNKNOWN': "Unknown",
70
+ 'PRE-ORDERED': "Pre-ordered",
71
+ 'ADVANCED_ORDER_ROUTING': "Advanced Order Routing",
72
+ 'HOLD': "Hold",
73
+ },
74
+ ('before_stage',): {
75
+ 'ACCOUNTS_RECEIVABLE': "Accounts Receivable",
76
+ 'PENDING_CLEARANCE': "Pending Clearance",
77
+ 'FRAUD_REVIEW': "Fraud Review",
78
+ 'REJECTED': "Rejected",
79
+ 'SHIPPING_DEPARTMENT': "Shipping Department",
80
+ 'COMPLETED_ORDER': "Completed Order",
81
+ 'QUOTE_REQUEST': "Quote Request",
82
+ 'QUOTE_SENT': "Quote Sent",
83
+ 'LEAST_COST_ROUTING': "Least Cost Routing",
84
+ 'UNKNOWN': "Unknown",
85
+ 'PRE-ORDERED': "Pre-ordered",
86
+ 'ADVANCED_ORDER_ROUTING': "Advanced Order Routing",
87
+ 'HOLD': "Hold",
88
+ },
89
+ }
90
+
91
+ validations = {
92
+ }
93
+
94
+ @cached_property
95
+ def additional_properties_type():
96
+ """
97
+ This must be a method because a model may have properties that are
98
+ of type self, this must run after the class is loaded
99
+ """
100
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
101
+
102
+ _nullable = False
103
+
104
+ @cached_property
105
+ def openapi_types():
106
+ """
107
+ This must be a method because a model may have properties that are
108
+ of type self, this must run after the class is loaded
109
+
110
+ Returns
111
+ openapi_types (dict): The key is attribute name
112
+ and the value is attribute type.
113
+ """
114
+ return {
115
+ 'after_stage': (str,), # noqa: E501
116
+ 'before_stage': (str,), # noqa: E501
117
+ 'transition_dts': (str,), # noqa: E501
118
+ }
119
+
120
+ @cached_property
121
+ def discriminator():
122
+ return None
123
+
124
+
125
+ attribute_map = {
126
+ 'after_stage': 'after_stage', # noqa: E501
127
+ 'before_stage': 'before_stage', # noqa: E501
128
+ 'transition_dts': 'transition_dts', # noqa: E501
129
+ }
130
+
131
+ read_only_vars = {
132
+ }
133
+
134
+ _composed_schemas = {}
135
+
136
+ @classmethod
137
+ @convert_js_args_to_python_args
138
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
139
+ """OrderCurrentStageHistory - a model defined in OpenAPI
140
+
141
+ Keyword Args:
142
+ _check_type (bool): if True, values for parameters in openapi_types
143
+ will be type checked and a TypeError will be
144
+ raised if the wrong type is input.
145
+ Defaults to True
146
+ _path_to_item (tuple/list): This is a list of keys or values to
147
+ drill down to the model in received_data
148
+ when deserializing a response
149
+ _spec_property_naming (bool): True if the variable names in the input data
150
+ are serialized names, as specified in the OpenAPI document.
151
+ False if the variable names in the input data
152
+ are pythonic names, e.g. snake case (default)
153
+ _configuration (Configuration): the instance to use when
154
+ deserializing a file_type parameter.
155
+ If passed, type conversion is attempted
156
+ If omitted no type conversion is done.
157
+ _visited_composed_classes (tuple): This stores a tuple of
158
+ classes that we have traveled through so that
159
+ if we see that class again we will not use its
160
+ discriminator again.
161
+ When traveling through a discriminator, the
162
+ composed schema that is
163
+ is traveled through is added to this set.
164
+ For example if Animal has a discriminator
165
+ petType and we pass in "Dog", and the class Dog
166
+ allOf includes Animal, we move through Animal
167
+ once using the discriminator, and pick Dog.
168
+ Then in Dog, we will make an instance of the
169
+ Animal class but this time we won't travel
170
+ through its discriminator because we passed in
171
+ _visited_composed_classes = (Animal,)
172
+ after_stage (str): New stage that the order is in.. [optional] # noqa: E501
173
+ before_stage (str): Previous stage that the order was in.. [optional] # noqa: E501
174
+ transition_dts (str): Date/time that the stage transitioned. [optional] # noqa: E501
175
+ """
176
+
177
+ _check_type = kwargs.pop('_check_type', True)
178
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
179
+ _path_to_item = kwargs.pop('_path_to_item', ())
180
+ _configuration = kwargs.pop('_configuration', None)
181
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
182
+
183
+ self = super(OpenApiModel, cls).__new__(cls)
184
+
185
+ if args:
186
+ for arg in args:
187
+ if isinstance(arg, dict):
188
+ kwargs.update(arg)
189
+ else:
190
+ raise ApiTypeError(
191
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
192
+ args,
193
+ self.__class__.__name__,
194
+ ),
195
+ path_to_item=_path_to_item,
196
+ valid_classes=(self.__class__,),
197
+ )
198
+
199
+ self._data_store = {}
200
+ self._check_type = _check_type
201
+ self._spec_property_naming = _spec_property_naming
202
+ self._path_to_item = _path_to_item
203
+ self._configuration = _configuration
204
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
205
+
206
+ for var_name, var_value in kwargs.items():
207
+ if var_name not in self.attribute_map and \
208
+ self._configuration is not None and \
209
+ self._configuration.discard_unknown_keys and \
210
+ self.additional_properties_type is None:
211
+ # discard variable.
212
+ continue
213
+ setattr(self, var_name, var_value)
214
+ return self
215
+
216
+ required_properties = set([
217
+ '_data_store',
218
+ '_check_type',
219
+ '_spec_property_naming',
220
+ '_path_to_item',
221
+ '_configuration',
222
+ '_visited_composed_classes',
223
+ ])
224
+
225
+ @convert_js_args_to_python_args
226
+ def __init__(self, *args, **kwargs): # noqa: E501
227
+ """OrderCurrentStageHistory - a model defined in OpenAPI
228
+
229
+ Keyword Args:
230
+ _check_type (bool): if True, values for parameters in openapi_types
231
+ will be type checked and a TypeError will be
232
+ raised if the wrong type is input.
233
+ Defaults to True
234
+ _path_to_item (tuple/list): This is a list of keys or values to
235
+ drill down to the model in received_data
236
+ when deserializing a response
237
+ _spec_property_naming (bool): True if the variable names in the input data
238
+ are serialized names, as specified in the OpenAPI document.
239
+ False if the variable names in the input data
240
+ are pythonic names, e.g. snake case (default)
241
+ _configuration (Configuration): the instance to use when
242
+ deserializing a file_type parameter.
243
+ If passed, type conversion is attempted
244
+ If omitted no type conversion is done.
245
+ _visited_composed_classes (tuple): This stores a tuple of
246
+ classes that we have traveled through so that
247
+ if we see that class again we will not use its
248
+ discriminator again.
249
+ When traveling through a discriminator, the
250
+ composed schema that is
251
+ is traveled through is added to this set.
252
+ For example if Animal has a discriminator
253
+ petType and we pass in "Dog", and the class Dog
254
+ allOf includes Animal, we move through Animal
255
+ once using the discriminator, and pick Dog.
256
+ Then in Dog, we will make an instance of the
257
+ Animal class but this time we won't travel
258
+ through its discriminator because we passed in
259
+ _visited_composed_classes = (Animal,)
260
+ after_stage (str): New stage that the order is in.. [optional] # noqa: E501
261
+ before_stage (str): Previous stage that the order was in.. [optional] # noqa: E501
262
+ transition_dts (str): Date/time that the stage transitioned. [optional] # noqa: E501
263
+ """
264
+
265
+ _check_type = kwargs.pop('_check_type', True)
266
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
267
+ _path_to_item = kwargs.pop('_path_to_item', ())
268
+ _configuration = kwargs.pop('_configuration', None)
269
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
270
+
271
+ if args:
272
+ for arg in args:
273
+ if isinstance(arg, dict):
274
+ kwargs.update(arg)
275
+ else:
276
+ raise ApiTypeError(
277
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
278
+ args,
279
+ self.__class__.__name__,
280
+ ),
281
+ path_to_item=_path_to_item,
282
+ valid_classes=(self.__class__,),
283
+ )
284
+
285
+ self._data_store = {}
286
+ self._check_type = _check_type
287
+ self._spec_property_naming = _spec_property_naming
288
+ self._path_to_item = _path_to_item
289
+ self._configuration = _configuration
290
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
291
+
292
+ for var_name, var_value in kwargs.items():
293
+ if var_name not in self.attribute_map and \
294
+ self._configuration is not None and \
295
+ self._configuration.discard_unknown_keys and \
296
+ self.additional_properties_type is None:
297
+ # discard variable.
298
+ continue
299
+ setattr(self, var_name, var_value)
300
+ if var_name in self.read_only_vars:
301
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
302
+ f"class with read only attributes.")
@@ -141,6 +141,7 @@ class OrderItem(ModelNormal):
141
141
  return {
142
142
  'accounting_code': (str,), # noqa: E501
143
143
  'activation_codes': ([str],), # noqa: E501
144
+ 'actual_cogs': (Currency,), # noqa: E501
144
145
  'arbitrary_unit_cost': (Currency,), # noqa: E501
145
146
  'auto_order_last_rebill_dts': (str,), # noqa: E501
146
147
  'auto_order_schedule': (str,), # noqa: E501
@@ -214,6 +215,7 @@ class OrderItem(ModelNormal):
214
215
  attribute_map = {
215
216
  'accounting_code': 'accounting_code', # noqa: E501
216
217
  'activation_codes': 'activation_codes', # noqa: E501
218
+ 'actual_cogs': 'actual_cogs', # noqa: E501
217
219
  'arbitrary_unit_cost': 'arbitrary_unit_cost', # noqa: E501
218
220
  'auto_order_last_rebill_dts': 'auto_order_last_rebill_dts', # noqa: E501
219
221
  'auto_order_schedule': 'auto_order_schedule', # noqa: E501
@@ -322,6 +324,7 @@ class OrderItem(ModelNormal):
322
324
  _visited_composed_classes = (Animal,)
323
325
  accounting_code (str): QuickBooks code. [optional] # noqa: E501
324
326
  activation_codes ([str]): Activation codes assigned to this item. [optional] # noqa: E501
327
+ actual_cogs (Currency): [optional] # noqa: E501
325
328
  arbitrary_unit_cost (Currency): [optional] # noqa: E501
326
329
  auto_order_last_rebill_dts (str): Date/time of the last rebill, used only during order insert to help project future rebills. [optional] # noqa: E501
327
330
  auto_order_schedule (str): Auto order schedule, used only during inserts supplying the recurring schedule. [optional] # noqa: E501
@@ -472,6 +475,7 @@ class OrderItem(ModelNormal):
472
475
  _visited_composed_classes = (Animal,)
473
476
  accounting_code (str): QuickBooks code. [optional] # noqa: E501
474
477
  activation_codes ([str]): Activation codes assigned to this item. [optional] # noqa: E501
478
+ actual_cogs (Currency): [optional] # noqa: E501
475
479
  arbitrary_unit_cost (Currency): [optional] # noqa: E501
476
480
  auto_order_last_rebill_dts (str): Date/time of the last rebill, used only during order insert to help project future rebills. [optional] # noqa: E501
477
481
  auto_order_schedule (str): Auto order schedule, used only during inserts supplying the recurring schedule. [optional] # noqa: E501
@@ -89,7 +89,11 @@ class OrderSummary(ModelNormal):
89
89
  lazy_import()
90
90
  return {
91
91
  'actual_fulfillment': (Currency,), # noqa: E501
92
+ 'actual_other_cost': (Currency,), # noqa: E501
92
93
  'actual_payment_processing': (Currency,), # noqa: E501
94
+ 'actual_profit': (Currency,), # noqa: E501
95
+ 'actual_profit_analyzed': (bool,), # noqa: E501
96
+ 'actual_profit_review': (bool,), # noqa: E501
93
97
  'actual_shipping': (Currency,), # noqa: E501
94
98
  'arbitrary_shipping_handling_total': (Currency,), # noqa: E501
95
99
  'health_benefit_card_amount': (Currency,), # noqa: E501
@@ -119,7 +123,11 @@ class OrderSummary(ModelNormal):
119
123
 
120
124
  attribute_map = {
121
125
  'actual_fulfillment': 'actual_fulfillment', # noqa: E501
126
+ 'actual_other_cost': 'actual_other_cost', # noqa: E501
122
127
  'actual_payment_processing': 'actual_payment_processing', # noqa: E501
128
+ 'actual_profit': 'actual_profit', # noqa: E501
129
+ 'actual_profit_analyzed': 'actual_profit_analyzed', # noqa: E501
130
+ 'actual_profit_review': 'actual_profit_review', # noqa: E501
123
131
  'actual_shipping': 'actual_shipping', # noqa: E501
124
132
  'arbitrary_shipping_handling_total': 'arbitrary_shipping_handling_total', # noqa: E501
125
133
  'health_benefit_card_amount': 'health_benefit_card_amount', # noqa: E501
@@ -184,7 +192,11 @@ class OrderSummary(ModelNormal):
184
192
  through its discriminator because we passed in
185
193
  _visited_composed_classes = (Animal,)
186
194
  actual_fulfillment (Currency): [optional] # noqa: E501
195
+ actual_other_cost (Currency): [optional] # noqa: E501
187
196
  actual_payment_processing (Currency): [optional] # noqa: E501
197
+ actual_profit (Currency): [optional] # noqa: E501
198
+ actual_profit_analyzed (bool): Actual profit has been analyzed. [optional] # noqa: E501
199
+ actual_profit_review (bool): Actual profit needs review. [optional] # noqa: E501
188
200
  actual_shipping (Currency): [optional] # noqa: E501
189
201
  arbitrary_shipping_handling_total (Currency): [optional] # noqa: E501
190
202
  health_benefit_card_amount (Currency): [optional] # noqa: E501
@@ -291,7 +303,11 @@ class OrderSummary(ModelNormal):
291
303
  through its discriminator because we passed in
292
304
  _visited_composed_classes = (Animal,)
293
305
  actual_fulfillment (Currency): [optional] # noqa: E501
306
+ actual_other_cost (Currency): [optional] # noqa: E501
294
307
  actual_payment_processing (Currency): [optional] # noqa: E501
308
+ actual_profit (Currency): [optional] # noqa: E501
309
+ actual_profit_analyzed (bool): Actual profit has been analyzed. [optional] # noqa: E501
310
+ actual_profit_review (bool): Actual profit needs review. [optional] # noqa: E501
295
311
  actual_shipping (Currency): [optional] # noqa: E501
296
312
  arbitrary_shipping_handling_total (Currency): [optional] # noqa: E501
297
313
  health_benefit_card_amount (Currency): [optional] # noqa: E501
@@ -627,6 +627,7 @@ from ultracart.model.order_by_token_query import OrderByTokenQuery
627
627
  from ultracart.model.order_channel_partner import OrderChannelPartner
628
628
  from ultracart.model.order_checkout import OrderCheckout
629
629
  from ultracart.model.order_coupon import OrderCoupon
630
+ from ultracart.model.order_current_stage_history import OrderCurrentStageHistory
630
631
  from ultracart.model.order_digital_item import OrderDigitalItem
631
632
  from ultracart.model.order_digital_order import OrderDigitalOrder
632
633
  from ultracart.model.order_edi import OrderEdi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ultracart-rest-sdk
3
- Version: 4.0.238
3
+ Version: 4.0.241
4
4
  Summary: UltraCart Rest API V2
5
5
  Home-page: UNKNOWN
6
6
  Author: UltraCart Support
@@ -1,13 +1,13 @@
1
- ultracart/__init__.py,sha256=Q8TZZtdp2MuIqfXwFAHcVdUhGzuSptj9h_A_QquDdb4,699
2
- ultracart/api_client.py,sha256=mnzyeqMClX3FC4fMCO_zczWngv2Th4Djpzo-H8Q8z8g,39072
3
- ultracart/configuration.py,sha256=kS9BuKXPCBM0jM3JHZa_QmixAMQi1CnwwgI0Q4UbJEs,17842
1
+ ultracart/__init__.py,sha256=nw2ZbIUbG5hUXkSs5raxzkHhCHFRP_8vlvXs-pLp3KU,699
2
+ ultracart/api_client.py,sha256=uGx-O-ozjdql3ORr54MQwIh_1QMulPYNjUn3yGFfw68,39072
3
+ ultracart/configuration.py,sha256=pReSJJv5pyVoxlwSi1pphyR1OV0If9SNsRi3ieM8Ifg,17842
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
7
7
  ultracart/api/__init__.py,sha256=M5v24jKFBCCBje15G0udcVQwqNCZsFU_-JgIf55tAP8,215
8
8
  ultracart/api/affiliate_api.py,sha256=Rq7y9AAmN2gOT57qTulnMkr-W4SBboMrzKyM2SXT6R8,14519
9
9
  ultracart/api/auto_order_api.py,sha256=PrBsBkt6uneTf07QHlF5kipjzGlbT44LMOP5pthc61w,66174
10
- ultracart/api/channel_partner_api.py,sha256=aPduqNAS8wcwqS9hC0bnZktMFCBd90S6lz9265-v3JU,63965
10
+ ultracart/api/channel_partner_api.py,sha256=CGEcolptRq79Wvkrd9FFe5Cp5ekHV0mLITHYLMVkOnE,84137
11
11
  ultracart/api/chargeback_api.py,sha256=bC5LfbV1DuVMZhfCvkkog33VACDVk7W74JvlaXy5Nuc,32295
12
12
  ultracart/api/checkout_api.py,sha256=KLZAsTMiY55AHDhubbNZYipBPGwihQbEsLDjIDzkLkQ,105889
13
13
  ultracart/api/conversation_api.py,sha256=fwFvhCeMBGguLqXHZQF1UsKxIzgsCfrKPGDDOKl-llM,442575
@@ -136,7 +136,7 @@ ultracart/model/channel_partner_cancel_response.py,sha256=jUOeYsm5CqtHInXWujdpHJ
136
136
  ultracart/model/channel_partner_estimate_shipping_response.py,sha256=Y1mG1FK9UEoTaYBvGwt2Eiod4r0oabWfUbUnY_Hfuwc,13090
137
137
  ultracart/model/channel_partner_estimate_tax_response.py,sha256=deJ8MMWfw9UjYXqyBFRiC6WYQKF4JnqAkzLK5MfEd6U,12744
138
138
  ultracart/model/channel_partner_import_response.py,sha256=Oyt0Q-5zzTKQkOl8e2YtdruLR-TWJWPymKW0vYwEoI4,13430
139
- ultracart/model/channel_partner_order.py,sha256=bpKzUix5Hfac1qmCrU_JAARs-_BZoilr3fzLofuEKzY,45296
139
+ ultracart/model/channel_partner_order.py,sha256=q1nbLKqkt0deWD-CBJATrsDWxNA7-s1VVUsZEPH2WCk,45650
140
140
  ultracart/model/channel_partner_order_item.py,sha256=-eCTLRsgWqO4-uLB6pTZrxWCFTd3b_roQQSuhbrBqkw,14644
141
141
  ultracart/model/channel_partner_order_item_option.py,sha256=PXlQNBEXO00Ef4I7TE_yFAYfogbH-3sef5YleCruBnk,11741
142
142
  ultracart/model/channel_partner_order_transaction.py,sha256=iJc9N5cr57Od203rNJYf3u9ZTqmR5ZQb-uutw4S3pQE,12195
@@ -328,7 +328,7 @@ ultracart/model/currency.py,sha256=5j7b7UBSSQTG53CI7daieMmL0trGPNPoIxM_4fckR_4,1
328
328
  ultracart/model/customer.py,sha256=4IFDo1fb_WO2b2mXTwFZZ7pXOLPcfsyAgQ6jul3Sr7U,33232
329
329
  ultracart/model/customer_activity.py,sha256=kf557fU6WEsJWIXpMM569JG8D4g3aJIcgsQJejkmyKw,13685
330
330
  ultracart/model/customer_affiliate.py,sha256=yJtbxEcyJzfeU9PZ5jxlk-rfFuixTHMLDqFKBqjpP2Y,12157
331
- ultracart/model/customer_attachment.py,sha256=SslhuniUW1yEviZ5SDvgsCqzhfI5gvYUO9R6_Wjoum0,12519
331
+ ultracart/model/customer_attachment.py,sha256=2ubvzq-xfq2yQ6RFWCvYET6a6qL8dAq7FoMXoImJYrA,12517
332
332
  ultracart/model/customer_billing.py,sha256=_I0iJJeNCN-kXKxAJ1evm0P31VQt7c7sabgucfSO4V8,16404
333
333
  ultracart/model/customer_card.py,sha256=aaIknA2Zd-u2PDtIDA7I6fCXZzD3Mv7o3ciCh6XVc04,13673
334
334
  ultracart/model/customer_edi.py,sha256=aqZFCM-Huk4hpXifFOEXRZIHfzTX-xDa0Pv2YvWh3eA,12359
@@ -344,7 +344,7 @@ ultracart/model/customer_orders_summary.py,sha256=lCGButYc-CuFiKJShZdpgAyBGk2cWg
344
344
  ultracart/model/customer_pricing_tier.py,sha256=iHMlH4x9u02X_zMZHQNzF6FiQC094jThoDWz_a6dDuA,11754
345
345
  ultracart/model/customer_privacy.py,sha256=wCID3fURf7_nVWvYWh2iqsH0vS95IVZKJogGnR9HPSo,12397
346
346
  ultracart/model/customer_property.py,sha256=ZT8YgxeRD2rqnGrDdpXQISpqSws1V92t75hK4GUxjY8,12439
347
- ultracart/model/customer_query.py,sha256=MHMpQyFOYLRLAJTr62Pt-kSW5JAFcY498EUFYQvR9eU,20888
347
+ ultracart/model/customer_query.py,sha256=Fbpz_Yiut4_merv5bJ7XzPgSQDBYJPxEw_MG96clE1s,21446
348
348
  ultracart/model/customer_quotes_summary.py,sha256=XcNeyk9XrmmBMozA3oFaS1dL6puYmfw-YOt0jUhPSH8,12295
349
349
  ultracart/model/customer_response.py,sha256=rU7LByz28p9-jpKZ2SmugUDiTr0ap5nUECIxfoU0rg8,12764
350
350
  ultracart/model/customer_reviewer.py,sha256=V16VIlylgzyV1AWalalbwWj_0d4cq42e2Ur11QZb2sE,14096
@@ -589,7 +589,7 @@ ultracart/model/item_response.py,sha256=qWGe4Zznnhc23QYv9Aq4yuBQ4YzA2AeN2YwiIYqe
589
589
  ultracart/model/item_restriction.py,sha256=ZTNz8HEcs7RCVSboE-5IatYzHqmQN-Nn0FbSpUgmdHA,13725
590
590
  ultracart/model/item_restriction_item.py,sha256=NiZfriRqi3bO2RaSfOXK_Zo6EG_qTIcpIO6cmoGgq2Y,12353
591
591
  ultracart/model/item_revguard.py,sha256=2XrswNmZEuDAlm1qiw4sQyaUlpW7uEQgL1lqijpEOQc,13583
592
- ultracart/model/item_review.py,sha256=FfkYfg2SbFvZakTW1VzdT9IgpN55MSyFmZ5opKrFy9M,21463
592
+ ultracart/model/item_review.py,sha256=0zk6HZ2mAylWuual4OA-6No3h-gxt3ZILzHPoTGLuUI,21868
593
593
  ultracart/model/item_review_response.py,sha256=9vficG5KJijtb0K7cjipsSYfqMevxGAeyBCg2ShS-Wc,12775
594
594
  ultracart/model/item_reviews.py,sha256=5Jy7c06pNx10kNCn-GhVs-RqFZ38NUes2d3iKqya610,14717
595
595
  ultracart/model/item_reviews_response.py,sha256=8VHoKWhneLoHiNnHai2oI229a4djg4ZPMaLeD2-Z7go,12807
@@ -636,7 +636,7 @@ ultracart/model/model_property.py,sha256=EOcmwJLSZua2pwbyL_nX0eYkYzLyzZc7dJG9sDP
636
636
  ultracart/model/notification.py,sha256=4qN0C80GbWgWeBtYjRDtfnzpr8R3nnNqRKbXdTCzJUY,16098
637
637
  ultracart/model/oauth_revoke_success_response.py,sha256=D6VKLKQbFp17Mmk0mxaQQwEj7iI7Ng_B_UI7SB-7zFc,11807
638
638
  ultracart/model/oauth_token_response.py,sha256=4tCvIpB6b8xjck5pkc5-DWmCu6QrvE6v-t7QVfnWaZY,13770
639
- ultracart/model/order.py,sha256=Cr4H6Rq0gysMElx_Xm9ztJfGJtoDif3Ju8UQ2481CE8,26183
639
+ ultracart/model/order.py,sha256=dsCLB3nICewVFSCIltaooYY7whSWtSEMsoxMU4Pda9k,26781
640
640
  ultracart/model/order_affiliate.py,sha256=uj1ehllPGQvy1jMfDrY6xbSjh4kp9W5EDKrZtUUgnA0,12446
641
641
  ultracart/model/order_affiliate_ledger.py,sha256=iulygTNTTZTEnvPuf2mAIBQpf1h4EzpHU_FRCPDuRRM,14619
642
642
  ultracart/model/order_auto_order.py,sha256=A6QzFhmJTRnWTKSjoSo6x5bdbADquYDzbVueZBeBA8U,18519
@@ -646,6 +646,7 @@ ultracart/model/order_by_token_query.py,sha256=SXfdOshQfjdax_JtBsUTpFlKlyI5G5xBF
646
646
  ultracart/model/order_channel_partner.py,sha256=ns03sFk3j7EiSDXSBkfuUBW-KSI1YRX4bCPJcwggitg,16274
647
647
  ultracart/model/order_checkout.py,sha256=GzfiEtp78FYUOdP1DqM2yGkAETkbKMzW3ltGHi-Ygoc,17077
648
648
  ultracart/model/order_coupon.py,sha256=Pf4gddvTsn-pNkV_-gyo06QZzm8fD2sadkqMGU15ZGw,13196
649
+ ultracart/model/order_current_stage_history.py,sha256=I7qJRxU5dwv4ceQ-7EdD4BnY0eo7sGf3tyz6Xzav8k4,13423
649
650
  ultracart/model/order_digital_item.py,sha256=U-GldDb9vqygkiLEG0B6Kqs-F8H9fX_MF-wVv-5KrBI,13607
650
651
  ultracart/model/order_digital_order.py,sha256=Bqrruo3A8NiOP9EQADraPRVz1R1EjxmQenowmXnPBk0,12968
651
652
  ultracart/model/order_edi.py,sha256=OKyi7Z3EZaGLKfEK71AODMjC8W2rF-gzWBufoDmOoWQ,12815
@@ -658,7 +659,7 @@ ultracart/model/order_gift.py,sha256=Wpv_8A9X2ntRI1RfGmDF5JJMZEaVXuO2SLJkFDVd6L8
658
659
  ultracart/model/order_gift_certificate.py,sha256=S7ArqIzcsPBV4dmTdbo-pcrg1SJrFHSb-hNYGqAHn-4,12345
659
660
  ultracart/model/order_internal.py,sha256=o_6vXHWs3F7e7yP6-KSKq6ldZHTJkCac4f0Uu1ycdo8,13928
660
661
  ultracart/model/order_invoice_response.py,sha256=guLqy7BTwxqYBRpfriF-P9gFlKz0naOQ62i7x38KTOI,12707
661
- ultracart/model/order_item.py,sha256=40GycfwkRtw9Efkrz-LBqurxtx6dCD4eUktveVeQWIY,33023
662
+ ultracart/model/order_item.py,sha256=STqJJx0Cnpk94pqqsncdcGwXnFv-9_IxQmz8BhW3038,33251
662
663
  ultracart/model/order_item_edi.py,sha256=YnRVaQSyFhq_nSIYarIs-Qzx8eDKFGW3w0NXmF3la30,12239
663
664
  ultracart/model/order_item_edi_identification.py,sha256=GNj6owL0zdEnRAZRBfB0n8w0U2eSVWFIkE066yMMnxw,11803
664
665
  ultracart/model/order_item_edi_lot.py,sha256=FHY005memYooGpS0OhIXZ3AhVQRu3uUNU9xVSYUskgw,11954
@@ -695,7 +696,7 @@ ultracart/model/order_replacement_response.py,sha256=oj9AKHm-Xgn95gOYMV4VZvizJZN
695
696
  ultracart/model/order_response.py,sha256=qE-bEiTXJxvxNw9MQIdlqpJzH3LqsWX9ikk_9zqO6-E,12719
696
697
  ultracart/model/order_salesforce.py,sha256=7HY3SVQcVxi7xFv94Al7jWIUnRKcp2xWLU6OHaHMvrk,11561
697
698
  ultracart/model/order_shipping.py,sha256=U26sqK6XwE7EBKZGT622De1Q6-0OodTZk6mxwJr7QAk,22365
698
- ultracart/model/order_summary.py,sha256=_CYNIzlZkdCQan8lgIy4qgwjQsJRST3UG5a_4jfkS8Y,17409
699
+ ultracart/model/order_summary.py,sha256=Id0oHC_5BH075lH5X_Q-e78hXW3LEGbZ05AHSftXqmc,18559
699
700
  ultracart/model/order_tag.py,sha256=XWxmL3Xhc46d5JzR37s7EOmaVruktmMiRcuoFya_Qpo,11488
700
701
  ultracart/model/order_taxes.py,sha256=UwE0YgmrpECLFOU4HMvm8IgX3BdHgrK8dAhCrGvG1Yc,17986
701
702
  ultracart/model/order_token_response.py,sha256=HX53gJ6_G8Ifll-jc12Vu3FB2_w_5_J39IgC-qzXzZI,12789
@@ -882,9 +883,9 @@ ultracart/model/workflow_tasks_response.py,sha256=KmHe72xKnZiS9CemBr5hluY5EsU9_x
882
883
  ultracart/model/workflow_user.py,sha256=gkQIeMSIhawpz5wtpTJ8Lof_Td0IrwG0KZF6catE41k,11903
883
884
  ultracart/model/workflow_user_response.py,sha256=TKfMu5vF1fXlV8mvxRFhvk6WNdGce2T8a4vFycQvuhQ,12785
884
885
  ultracart/model/workflow_users_response.py,sha256=3Y7L1oHc2-HOvl1pDdcnl9xHKYLGblKpKdbkPBh2u68,13059
885
- ultracart/models/__init__.py,sha256=5w0sm-4hP3O2vuflMmlb19tOWigMwoSgdhRPItFqPAQ,65888
886
- ultracart_rest_sdk-4.0.238.dist-info/LICENSE,sha256=4DukHX-rIHAHaf5BGLq1DYAMt0-ZA1OgXS9f_xwig2M,11558
887
- ultracart_rest_sdk-4.0.238.dist-info/METADATA,sha256=m--5D2JfXo5s-MjkRV_1JYXyeJAjg8c9dPTkKavBj10,403
888
- ultracart_rest_sdk-4.0.238.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
889
- ultracart_rest_sdk-4.0.238.dist-info/top_level.txt,sha256=90IoRqV6KX58jTyx9MwEBqh4j38_10hWrrvqsmXWZYo,10
890
- ultracart_rest_sdk-4.0.238.dist-info/RECORD,,
886
+ ultracart/models/__init__.py,sha256=rg6SxaH93-dBjsbf3ktm_K49TUJ2I_2iU3H0O_Ce8Rc,65969
887
+ ultracart_rest_sdk-4.0.241.dist-info/LICENSE,sha256=4DukHX-rIHAHaf5BGLq1DYAMt0-ZA1OgXS9f_xwig2M,11558
888
+ ultracart_rest_sdk-4.0.241.dist-info/METADATA,sha256=zNCVEFtO37kkYDIsiqq06Shc3MfDXteirbS_0YVhfds,403
889
+ ultracart_rest_sdk-4.0.241.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
890
+ ultracart_rest_sdk-4.0.241.dist-info/top_level.txt,sha256=90IoRqV6KX58jTyx9MwEBqh4j38_10hWrrvqsmXWZYo,10
891
+ ultracart_rest_sdk-4.0.241.dist-info/RECORD,,