POST | /orders/close |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderCloseResponse:
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseAddress:
first_name: Optional[str] = None
last_name: Optional[str] = None
address_line1: Optional[str] = None
address_line2: Optional[str] = None
address_line3: Optional[str] = None
address_line4: Optional[str] = None
address_line5: Optional[str] = None
city: Optional[str] = None
state_province_code: Optional[str] = None
postal_code: Optional[str] = None
county: Optional[str] = None
country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseSkuComponent:
parent_order_line_number: Optional[int] = None
order_line_number: Optional[int] = None
sku_code: Optional[str] = None
quantity: Optional[int] = None
price_paid_per_unit: Optional[Decimal] = None
retail_price_per_unit: Optional[Decimal] = None
net_price: Optional[Decimal] = None
tax_amount: Optional[Decimal] = None
tax_percentage: Optional[Decimal] = None
version_number: Optional[str] = None
version_year: Optional[str] = None
vehicle_id: Optional[str] = None
offer_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseSku:
sku_code: Optional[str] = None
order_line_number: Optional[int] = None
quantity: Optional[int] = None
is_auto_ship: Optional[bool] = None
order_sku_components: Optional[List[NAVOrderCloseSkuComponent]] = None
price_paid_per_unit: Optional[Decimal] = None
retail_price_per_unit: Optional[Decimal] = None
net_price: Optional[Decimal] = None
net_sales: Optional[Decimal] = None
submitted_net_price: Optional[Decimal] = None
submitted_net_sales: Optional[Decimal] = None
manual_discount_amount: Optional[Decimal] = None
item_discount_percent: Optional[Decimal] = None
tax_amount: Optional[Decimal] = None
tax_percentage: Optional[Decimal] = None
commissionable_value_earned: Optional[Decimal] = None
qualifying_value_earned: Optional[Decimal] = None
qualifying_value_earned_submitted: Optional[Decimal] = None
override_c_v_earned: Optional[Decimal] = None
override_c_v_earned_submitted: Optional[Decimal] = None
override_q_v_earned: Optional[Decimal] = None
group_c_v_earned: Optional[Decimal] = None
group_q_v_earned: Optional[Decimal] = None
upline_c_v_earned: Optional[Decimal] = None
upline_q_v_earned: Optional[Decimal] = None
version_number: Optional[str] = None
version_year: Optional[str] = None
coupon_code: Optional[str] = None
substitute_indicator: Optional[str] = None
fulfillment_indicator: Optional[str] = None
substitute_sku_code: Optional[str] = None
vehicle_id: Optional[str] = None
offer_id: Optional[str] = None
buying_discount: Optional[Decimal] = None
original_order_qty: Optional[Decimal] = None
parent_s_k_u_code: Optional[str] = None
closed_quantity: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderClosePayment:
payment_type: Optional[str] = None
payment_identifier1: Optional[str] = None
payment_identifier2: Optional[str] = None
payment_identifier3: Optional[str] = None
payment_identifier4: Optional[str] = None
payment_identifier5: Optional[str] = None
payment_token: Optional[str] = None
authorization_time: Optional[datetime.datetime] = None
authorization_code: Optional[str] = None
transaction_id: Optional[str] = None
amount_charged: Optional[Decimal] = None
billing_address: Optional[NAVOrderCloseAddress] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseFee:
fee_system_keyword: Optional[str] = None
fee_amount: Optional[Decimal] = None
tax_amount: Optional[Decimal] = None
fee_total: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderClose:
external_order_id: Optional[str] = None
order_type_id: Optional[str] = None
created_date_u_t_c: Optional[datetime.datetime] = None
submitted_date_u_t_c: Optional[datetime.datetime] = None
completed_date_u_t_c: Optional[datetime.datetime] = None
bee_number_customer: Optional[Decimal] = None
bee_number_payee: Optional[Decimal] = None
order_source: Optional[str] = None
shipping_method: Optional[str] = None
gift_message: Optional[str] = None
gift_message_from: Optional[str] = None
gift_message_to: Optional[str] = None
shipping_comment: Optional[str] = None
shipping_address: Optional[NAVOrderCloseAddress] = None
order_skus: Optional[List[NAVOrderCloseSku]] = None
order_payments: Optional[List[NAVOrderClosePayment]] = None
order_fees: Optional[List[NAVOrderCloseFee]] = None
sub_total: Optional[Decimal] = None
order_total: Optional[Decimal] = None
shipping_cost: Optional[Decimal] = None
tax: Optional[Decimal] = None
shipping_tax: Optional[Decimal] = None
external_discount_reason: Optional[str] = None
pc_level: Optional[Decimal] = None
agent_id: Optional[str] = None
number_of_customers_served: Optional[Decimal] = None
version_number: Optional[str] = None
version_year: Optional[str] = None
additional_code: Optional[str] = None
discount_percent: Optional[str] = None
tax_rate_percent: Optional[str] = None
order_within_time_period: Optional[Decimal] = None
tax_area_code: Optional[str] = None
geocode: Optional[str] = None
fundraiser_id: Optional[str] = None
warehouse_code: Optional[str] = None
original_reship_external_order_id: Optional[str] = None
shipped_version_number: Optional[str] = None
shipped_version_year: Optional[str] = None
master_order_id: Optional[str] = None
coupon_value: Optional[str] = None
sales_center_id: Optional[str] = None
premier_level: Optional[str] = None
pc_level_current_cycle: Optional[Decimal] = None
premier_level_current_cycle: Optional[str] = None
email_address: Optional[str] = None
phone_number: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseShipmentSku:
order_line_number: Optional[int] = None
quantity_shipped: Optional[int] = None
substitute_sku_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderCloseShipment:
shipment_date_u_t_c: Optional[datetime.datetime] = None
shipping_method: Optional[str] = None
shipping_speed: Optional[str] = None
tracking_number: Optional[str] = None
shipment_status: Optional[str] = None
shipment_details: Optional[str] = None
shipping_cost: Optional[Decimal] = None
charge: Optional[Decimal] = None
tax: Optional[Decimal] = None
actual_shipping_cost: Optional[Decimal] = None
carton_weight: Optional[Decimal] = None
order_shipment_sku: Optional[List[NAVOrderCloseShipmentSku]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderClose(IPost):
order_close_data: Optional[NAVOrderClose] = None
shipment: Optional[List[NAVOrderCloseShipment]] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /orders/close HTTP/1.1
Host: extensions.avon.ca
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<OrderClose xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/NAV.ServiceModel">
<OrderCloseData>
<AdditionalCode>String</AdditionalCode>
<AgentId>String</AgentId>
<BeeNumberCustomer>0</BeeNumberCustomer>
<BeeNumberPayee>0</BeeNumberPayee>
<CompletedDateUTC>0001-01-01T00:00:00</CompletedDateUTC>
<CouponValue>String</CouponValue>
<CreatedDateUTC>0001-01-01T00:00:00</CreatedDateUTC>
<DiscountPercent>String</DiscountPercent>
<EmailAddress>String</EmailAddress>
<ExternalDiscountReason>String</ExternalDiscountReason>
<ExternalOrderId>String</ExternalOrderId>
<FundraiserId>String</FundraiserId>
<Geocode>String</Geocode>
<GiftMessage>String</GiftMessage>
<GiftMessageFrom>String</GiftMessageFrom>
<GiftMessageTo>String</GiftMessageTo>
<MasterOrderId>String</MasterOrderId>
<NumberOfCustomersServed>0</NumberOfCustomersServed>
<OrderFees>
<NAVOrderCloseFee>
<FeeAmount>0</FeeAmount>
<FeeSystemKeyword>String</FeeSystemKeyword>
<FeeTotal>0</FeeTotal>
<TaxAmount>0</TaxAmount>
</NAVOrderCloseFee>
</OrderFees>
<OrderPayments>
<NAVOrderClosePayment>
<AmountCharged>0</AmountCharged>
<AuthorizationCode>String</AuthorizationCode>
<AuthorizationTime>0001-01-01T00:00:00</AuthorizationTime>
<BillingAddress>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<AddressLine3>String</AddressLine3>
<AddressLine4>String</AddressLine4>
<AddressLine5>String</AddressLine5>
<City>String</City>
<CountryCode>String</CountryCode>
<County>String</County>
<FirstName>String</FirstName>
<LastName>String</LastName>
<PostalCode>String</PostalCode>
<StateProvinceCode>String</StateProvinceCode>
</BillingAddress>
<PaymentIdentifier1>String</PaymentIdentifier1>
<PaymentIdentifier2>String</PaymentIdentifier2>
<PaymentIdentifier3>String</PaymentIdentifier3>
<PaymentIdentifier4>String</PaymentIdentifier4>
<PaymentIdentifier5>String</PaymentIdentifier5>
<PaymentToken>String</PaymentToken>
<PaymentType>String</PaymentType>
<TransactionId>String</TransactionId>
</NAVOrderClosePayment>
</OrderPayments>
<OrderSkus>
<NAVOrderCloseSku>
<BuyingDiscount>0</BuyingDiscount>
<ClosedQuantity>0</ClosedQuantity>
<CommissionableValueEarned>0</CommissionableValueEarned>
<CouponCode>String</CouponCode>
<FulfillmentIndicator>String</FulfillmentIndicator>
<GroupCVEarned>0</GroupCVEarned>
<GroupQVEarned>0</GroupQVEarned>
<IsAutoShip>false</IsAutoShip>
<ItemDiscountPercent>0</ItemDiscountPercent>
<ManualDiscountAmount>0</ManualDiscountAmount>
<NetPrice>0</NetPrice>
<NetSales>0</NetSales>
<OfferId>String</OfferId>
<OrderLineNumber>0</OrderLineNumber>
<OrderSkuComponents>
<NAVOrderCloseSkuComponent>
<NetPrice>0</NetPrice>
<OfferId>String</OfferId>
<OrderLineNumber>0</OrderLineNumber>
<ParentOrderLineNumber>0</ParentOrderLineNumber>
<PricePaidPerUnit>0</PricePaidPerUnit>
<Quantity>0</Quantity>
<RetailPricePerUnit>0</RetailPricePerUnit>
<SkuCode>String</SkuCode>
<TaxAmount>0</TaxAmount>
<TaxPercentage>0</TaxPercentage>
<VehicleId>String</VehicleId>
<VersionNumber>String</VersionNumber>
<VersionYear>String</VersionYear>
</NAVOrderCloseSkuComponent>
</OrderSkuComponents>
<OriginalOrderQty>0</OriginalOrderQty>
<OverrideCVEarned>0</OverrideCVEarned>
<OverrideCVEarnedSubmitted>0</OverrideCVEarnedSubmitted>
<OverrideQVEarned>0</OverrideQVEarned>
<ParentSKUCode>String</ParentSKUCode>
<PricePaidPerUnit>0</PricePaidPerUnit>
<QualifyingValueEarned>0</QualifyingValueEarned>
<QualifyingValueEarnedSubmitted>0</QualifyingValueEarnedSubmitted>
<Quantity>0</Quantity>
<RetailPricePerUnit>0</RetailPricePerUnit>
<SkuCode>String</SkuCode>
<SubmittedNetPrice>0</SubmittedNetPrice>
<SubmittedNetSales>0</SubmittedNetSales>
<SubstituteIndicator>String</SubstituteIndicator>
<SubstituteSkuCode>String</SubstituteSkuCode>
<TaxAmount>0</TaxAmount>
<TaxPercentage>0</TaxPercentage>
<UplineCVEarned>0</UplineCVEarned>
<UplineQVEarned>0</UplineQVEarned>
<VehicleId>String</VehicleId>
<VersionNumber>String</VersionNumber>
<VersionYear>String</VersionYear>
</NAVOrderCloseSku>
</OrderSkus>
<OrderSource>String</OrderSource>
<OrderTotal>0</OrderTotal>
<OrderTypeId>String</OrderTypeId>
<OrderWithinTimePeriod>0</OrderWithinTimePeriod>
<OriginalReshipExternalOrderId>String</OriginalReshipExternalOrderId>
<PCLevel>0</PCLevel>
<PCLevelCurrentCycle>0</PCLevelCurrentCycle>
<PhoneNumber>String</PhoneNumber>
<PremierLevel>String</PremierLevel>
<PremierLevelCurrentCycle>String</PremierLevelCurrentCycle>
<SalesCenterId>String</SalesCenterId>
<ShippedVersionNumber>String</ShippedVersionNumber>
<ShippedVersionYear>String</ShippedVersionYear>
<ShippingAddress>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<AddressLine3>String</AddressLine3>
<AddressLine4>String</AddressLine4>
<AddressLine5>String</AddressLine5>
<City>String</City>
<CountryCode>String</CountryCode>
<County>String</County>
<FirstName>String</FirstName>
<LastName>String</LastName>
<PostalCode>String</PostalCode>
<StateProvinceCode>String</StateProvinceCode>
</ShippingAddress>
<ShippingComment>String</ShippingComment>
<ShippingCost>0</ShippingCost>
<ShippingMethod>String</ShippingMethod>
<ShippingTax>0</ShippingTax>
<SubTotal>0</SubTotal>
<SubmittedDateUTC>0001-01-01T00:00:00</SubmittedDateUTC>
<Tax>0</Tax>
<TaxAreaCode>String</TaxAreaCode>
<TaxRatePercent>String</TaxRatePercent>
<VersionNumber>String</VersionNumber>
<VersionYear>String</VersionYear>
<WarehouseCode>String</WarehouseCode>
</OrderCloseData>
<Shipment>
<NAVOrderCloseShipment>
<ActualShippingCost>0</ActualShippingCost>
<CartonWeight>0</CartonWeight>
<Charge>0</Charge>
<OrderShipmentSku>
<NAVOrderCloseShipmentSku>
<OrderLineNumber>0</OrderLineNumber>
<QuantityShipped>0</QuantityShipped>
<SubstituteSkuCode>String</SubstituteSkuCode>
</NAVOrderCloseShipmentSku>
</OrderShipmentSku>
<ShipmentDateUTC>0001-01-01T00:00:00</ShipmentDateUTC>
<ShipmentDetails>String</ShipmentDetails>
<ShipmentStatus>String</ShipmentStatus>
<ShippingCost>0</ShippingCost>
<ShippingMethod>String</ShippingMethod>
<ShippingSpeed>String</ShippingSpeed>
<Tax>0</Tax>
<TrackingNumber>String</TrackingNumber>
</NAVOrderCloseShipment>
</Shipment>
</OrderClose>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <OrderCloseResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/NAV.ServiceModel"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> </OrderCloseResponse>