NAV

<back to all web services

NAVOrderImport

The following routes are available for this service:
POST/orders
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 NAVOrderImportResponse:
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderImportAddress:
    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 NAVOrderImportSkuComponent:
    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 NAVOrderImportSku:
    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[NAVOrderImportSkuComponent]] = 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
    parent_s_k_u_code: Optional[str] = None
    buying_discount: Optional[Decimal] = None
    original_order_qty: Optional[Decimal] = None
    closed_quantity: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderImportPayment:
    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[NAVOrderImportAddress] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NAVOrderImportFee:
    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 NAVOrderImport(IPost):
    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
    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[NAVOrderImportAddress] = None
    order_skus: Optional[List[NAVOrderImportSku]] = None
    order_payments: Optional[List[NAVOrderImportPayment]] = None
    order_fees: Optional[List[NAVOrderImportFee]] = 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

Python NAVOrderImport DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /orders HTTP/1.1 
Host: extensions.avon.ca 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"externalOrderId":"String","orderTypeId":"String","createdDateUTC":"0001-01-01T00:00:00.0000000","submittedDateUTC":"0001-01-01T00:00:00.0000000","beeNumberCustomer":0,"beeNumberPayee":0,"orderSource":"String","shippingMethod":"String","giftMessage":"String","giftMessageFrom":"String","giftMessageTo":"String","shippingComment":"String","shippingAddress":{"firstName":"String","lastName":"String","addressLine1":"String","addressLine2":"String","addressLine3":"String","addressLine4":"String","addressLine5":"String","city":"String","stateProvinceCode":"String","postalCode":"String","county":"String","countryCode":"String"},"orderSkus":[{"skuCode":"String","orderLineNumber":0,"quantity":0,"isAutoShip":false,"orderSkuComponents":[{"parentOrderLineNumber":0,"orderLineNumber":0,"skuCode":"String","quantity":0,"pricePaidPerUnit":0,"retailPricePerUnit":0,"netPrice":0,"taxAmount":0,"taxPercentage":0,"versionNumber":"String","versionYear":"String","vehicleId":"String","offerId":"String"}],"pricePaidPerUnit":0,"retailPricePerUnit":0,"netPrice":0,"netSales":0,"submittedNetPrice":0,"submittedNetSales":0,"manualDiscountAmount":0,"itemDiscountPercent":0,"taxAmount":0,"taxPercentage":0,"commissionableValueEarned":0,"qualifyingValueEarned":0,"qualifyingValueEarnedSubmitted":0,"overrideCVEarned":0,"overrideCVEarnedSubmitted":0,"overrideQVEarned":0,"groupCVEarned":0,"groupQVEarned":0,"uplineCVEarned":0,"uplineQVEarned":0,"versionNumber":"String","versionYear":"String","couponCode":"String","substituteIndicator":"String","fulfillmentIndicator":"String","substituteSkuCode":"String","vehicleId":"String","offerId":"String","parentSKUCode":"String","buyingDiscount":0,"originalOrderQty":0,"closedQuantity":0}],"orderPayments":[{"paymentType":"String","paymentIdentifier1":"String","paymentIdentifier2":"String","paymentIdentifier3":"String","paymentIdentifier4":"String","paymentIdentifier5":"String","paymentToken":"String","authorizationTime":"0001-01-01T00:00:00.0000000","authorizationCode":"String","transactionId":"String","amountCharged":0,"billingAddress":{"firstName":"String","lastName":"String","addressLine1":"String","addressLine2":"String","addressLine3":"String","addressLine4":"String","addressLine5":"String","city":"String","stateProvinceCode":"String","postalCode":"String","county":"String","countryCode":"String"}}],"orderFees":[{"feeSystemKeyword":"String","feeAmount":0,"taxAmount":0,"feeTotal":0}],"subTotal":0,"orderTotal":0,"shippingCost":0,"tax":0,"shippingTax":0,"externalDiscountReason":"String","pcLevel":0,"agentId":"String","numberOfCustomersServed":0,"versionNumber":"String","versionYear":"String","additionalCode":"String","discountPercent":"String","taxRatePercent":"String","orderWithinTimePeriod":0,"taxAreaCode":"String","geocode":"String","fundraiserId":"String","warehouseCode":"String","originalReshipExternalOrderId":"String","shippedVersionNumber":"String","shippedVersionYear":"String","masterOrderId":"String","couponValue":"String","salesCenterId":"String","premierLevel":"String","pcLevelCurrentCycle":0,"premierLevelCurrentCycle":"String","emailAddress":"String","phoneNumber":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}