NAV

<back to all web services

NAVOrderImport

The following routes are available for this service:
POST/orders
import 'package:servicestack/servicestack.dart';

class NAVOrderImportResponse implements IConvertible
{
    ResponseStatus? responseStatus;

    NAVOrderImportResponse({this.responseStatus});
    NAVOrderImportResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "NAVOrderImportResponse";
    TypeContext? context = _ctx;
}

class NAVOrderImportAddress implements IConvertible
{
    String? firstName;
    String? lastName;
    String? addressLine1;
    String? addressLine2;
    String? addressLine3;
    String? addressLine4;
    String? addressLine5;
    String? city;
    String? stateProvinceCode;
    String? postalCode;
    String? county;
    String? countryCode;

    NAVOrderImportAddress({this.firstName,this.lastName,this.addressLine1,this.addressLine2,this.addressLine3,this.addressLine4,this.addressLine5,this.city,this.stateProvinceCode,this.postalCode,this.county,this.countryCode});
    NAVOrderImportAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        firstName = json['firstName'];
        lastName = json['lastName'];
        addressLine1 = json['addressLine1'];
        addressLine2 = json['addressLine2'];
        addressLine3 = json['addressLine3'];
        addressLine4 = json['addressLine4'];
        addressLine5 = json['addressLine5'];
        city = json['city'];
        stateProvinceCode = json['stateProvinceCode'];
        postalCode = json['postalCode'];
        county = json['county'];
        countryCode = json['countryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'firstName': firstName,
        'lastName': lastName,
        'addressLine1': addressLine1,
        'addressLine2': addressLine2,
        'addressLine3': addressLine3,
        'addressLine4': addressLine4,
        'addressLine5': addressLine5,
        'city': city,
        'stateProvinceCode': stateProvinceCode,
        'postalCode': postalCode,
        'county': county,
        'countryCode': countryCode
    };

    getTypeName() => "NAVOrderImportAddress";
    TypeContext? context = _ctx;
}

class NAVOrderImportSkuComponent implements IConvertible
{
    int? parentOrderLineNumber;
    int? orderLineNumber;
    String? skuCode;
    int? quantity;
    double? pricePaidPerUnit;
    double? retailPricePerUnit;
    double? netPrice;
    double? taxAmount;
    double? taxPercentage;
    String? versionNumber;
    String? versionYear;
    String? vehicleId;
    String? offerId;

    NAVOrderImportSkuComponent({this.parentOrderLineNumber,this.orderLineNumber,this.skuCode,this.quantity,this.pricePaidPerUnit,this.retailPricePerUnit,this.netPrice,this.taxAmount,this.taxPercentage,this.versionNumber,this.versionYear,this.vehicleId,this.offerId});
    NAVOrderImportSkuComponent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        parentOrderLineNumber = json['parentOrderLineNumber'];
        orderLineNumber = json['orderLineNumber'];
        skuCode = json['skuCode'];
        quantity = json['quantity'];
        pricePaidPerUnit = JsonConverters.toDouble(json['pricePaidPerUnit']);
        retailPricePerUnit = JsonConverters.toDouble(json['retailPricePerUnit']);
        netPrice = JsonConverters.toDouble(json['netPrice']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        taxPercentage = JsonConverters.toDouble(json['taxPercentage']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        vehicleId = json['vehicleId'];
        offerId = json['offerId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'parentOrderLineNumber': parentOrderLineNumber,
        'orderLineNumber': orderLineNumber,
        'skuCode': skuCode,
        'quantity': quantity,
        'pricePaidPerUnit': pricePaidPerUnit,
        'retailPricePerUnit': retailPricePerUnit,
        'netPrice': netPrice,
        'taxAmount': taxAmount,
        'taxPercentage': taxPercentage,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'vehicleId': vehicleId,
        'offerId': offerId
    };

    getTypeName() => "NAVOrderImportSkuComponent";
    TypeContext? context = _ctx;
}

class NAVOrderImportSku implements IConvertible
{
    String? skuCode;
    int? orderLineNumber;
    int? quantity;
    bool? isAutoShip;
    List<NAVOrderImportSkuComponent>? orderSkuComponents;
    double? pricePaidPerUnit;
    double? retailPricePerUnit;
    double? netPrice;
    double? netSales;
    double? submittedNetPrice;
    double? submittedNetSales;
    double? manualDiscountAmount;
    double? itemDiscountPercent;
    double? taxAmount;
    double? taxPercentage;
    double? commissionableValueEarned;
    double? qualifyingValueEarned;
    double? qualifyingValueEarnedSubmitted;
    double? overrideCVEarned;
    double? overrideCVEarnedSubmitted;
    double? overrideQVEarned;
    double? groupCVEarned;
    double? groupQVEarned;
    double? uplineCVEarned;
    double? uplineQVEarned;
    String? versionNumber;
    String? versionYear;
    String? couponCode;
    String? substituteIndicator;
    String? fulfillmentIndicator;
    String? substituteSkuCode;
    String? vehicleId;
    String? offerId;
    String? parentSKUCode;
    double? buyingDiscount;
    double? originalOrderQty;
    double? closedQuantity;

    NAVOrderImportSku({this.skuCode,this.orderLineNumber,this.quantity,this.isAutoShip,this.orderSkuComponents,this.pricePaidPerUnit,this.retailPricePerUnit,this.netPrice,this.netSales,this.submittedNetPrice,this.submittedNetSales,this.manualDiscountAmount,this.itemDiscountPercent,this.taxAmount,this.taxPercentage,this.commissionableValueEarned,this.qualifyingValueEarned,this.qualifyingValueEarnedSubmitted,this.overrideCVEarned,this.overrideCVEarnedSubmitted,this.overrideQVEarned,this.groupCVEarned,this.groupQVEarned,this.uplineCVEarned,this.uplineQVEarned,this.versionNumber,this.versionYear,this.couponCode,this.substituteIndicator,this.fulfillmentIndicator,this.substituteSkuCode,this.vehicleId,this.offerId,this.parentSKUCode,this.buyingDiscount,this.originalOrderQty,this.closedQuantity});
    NAVOrderImportSku.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skuCode = json['skuCode'];
        orderLineNumber = json['orderLineNumber'];
        quantity = json['quantity'];
        isAutoShip = json['isAutoShip'];
        orderSkuComponents = JsonConverters.fromJson(json['orderSkuComponents'],'List<NAVOrderImportSkuComponent>',context!);
        pricePaidPerUnit = JsonConverters.toDouble(json['pricePaidPerUnit']);
        retailPricePerUnit = JsonConverters.toDouble(json['retailPricePerUnit']);
        netPrice = JsonConverters.toDouble(json['netPrice']);
        netSales = JsonConverters.toDouble(json['netSales']);
        submittedNetPrice = JsonConverters.toDouble(json['submittedNetPrice']);
        submittedNetSales = JsonConverters.toDouble(json['submittedNetSales']);
        manualDiscountAmount = JsonConverters.toDouble(json['manualDiscountAmount']);
        itemDiscountPercent = JsonConverters.toDouble(json['itemDiscountPercent']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        taxPercentage = JsonConverters.toDouble(json['taxPercentage']);
        commissionableValueEarned = JsonConverters.toDouble(json['commissionableValueEarned']);
        qualifyingValueEarned = JsonConverters.toDouble(json['qualifyingValueEarned']);
        qualifyingValueEarnedSubmitted = JsonConverters.toDouble(json['qualifyingValueEarnedSubmitted']);
        overrideCVEarned = JsonConverters.toDouble(json['overrideCVEarned']);
        overrideCVEarnedSubmitted = JsonConverters.toDouble(json['overrideCVEarnedSubmitted']);
        overrideQVEarned = JsonConverters.toDouble(json['overrideQVEarned']);
        groupCVEarned = JsonConverters.toDouble(json['groupCVEarned']);
        groupQVEarned = JsonConverters.toDouble(json['groupQVEarned']);
        uplineCVEarned = JsonConverters.toDouble(json['uplineCVEarned']);
        uplineQVEarned = JsonConverters.toDouble(json['uplineQVEarned']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        couponCode = json['couponCode'];
        substituteIndicator = json['substituteIndicator'];
        fulfillmentIndicator = json['fulfillmentIndicator'];
        substituteSkuCode = json['substituteSkuCode'];
        vehicleId = json['vehicleId'];
        offerId = json['offerId'];
        parentSKUCode = json['parentSKUCode'];
        buyingDiscount = JsonConverters.toDouble(json['buyingDiscount']);
        originalOrderQty = JsonConverters.toDouble(json['originalOrderQty']);
        closedQuantity = JsonConverters.toDouble(json['closedQuantity']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skuCode': skuCode,
        'orderLineNumber': orderLineNumber,
        'quantity': quantity,
        'isAutoShip': isAutoShip,
        'orderSkuComponents': JsonConverters.toJson(orderSkuComponents,'List<NAVOrderImportSkuComponent>',context!),
        'pricePaidPerUnit': pricePaidPerUnit,
        'retailPricePerUnit': retailPricePerUnit,
        'netPrice': netPrice,
        'netSales': netSales,
        'submittedNetPrice': submittedNetPrice,
        'submittedNetSales': submittedNetSales,
        'manualDiscountAmount': manualDiscountAmount,
        'itemDiscountPercent': itemDiscountPercent,
        'taxAmount': taxAmount,
        'taxPercentage': taxPercentage,
        'commissionableValueEarned': commissionableValueEarned,
        'qualifyingValueEarned': qualifyingValueEarned,
        'qualifyingValueEarnedSubmitted': qualifyingValueEarnedSubmitted,
        'overrideCVEarned': overrideCVEarned,
        'overrideCVEarnedSubmitted': overrideCVEarnedSubmitted,
        'overrideQVEarned': overrideQVEarned,
        'groupCVEarned': groupCVEarned,
        'groupQVEarned': groupQVEarned,
        'uplineCVEarned': uplineCVEarned,
        'uplineQVEarned': uplineQVEarned,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'couponCode': couponCode,
        'substituteIndicator': substituteIndicator,
        'fulfillmentIndicator': fulfillmentIndicator,
        'substituteSkuCode': substituteSkuCode,
        'vehicleId': vehicleId,
        'offerId': offerId,
        'parentSKUCode': parentSKUCode,
        'buyingDiscount': buyingDiscount,
        'originalOrderQty': originalOrderQty,
        'closedQuantity': closedQuantity
    };

    getTypeName() => "NAVOrderImportSku";
    TypeContext? context = _ctx;
}

class NAVOrderImportPayment implements IConvertible
{
    String? paymentType;
    String? paymentIdentifier1;
    String? paymentIdentifier2;
    String? paymentIdentifier3;
    String? paymentIdentifier4;
    String? paymentIdentifier5;
    String? paymentToken;
    DateTime? authorizationTime;
    String? authorizationCode;
    String? transactionId;
    double? amountCharged;
    NAVOrderImportAddress? billingAddress;

    NAVOrderImportPayment({this.paymentType,this.paymentIdentifier1,this.paymentIdentifier2,this.paymentIdentifier3,this.paymentIdentifier4,this.paymentIdentifier5,this.paymentToken,this.authorizationTime,this.authorizationCode,this.transactionId,this.amountCharged,this.billingAddress});
    NAVOrderImportPayment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        paymentType = json['paymentType'];
        paymentIdentifier1 = json['paymentIdentifier1'];
        paymentIdentifier2 = json['paymentIdentifier2'];
        paymentIdentifier3 = json['paymentIdentifier3'];
        paymentIdentifier4 = json['paymentIdentifier4'];
        paymentIdentifier5 = json['paymentIdentifier5'];
        paymentToken = json['paymentToken'];
        authorizationTime = JsonConverters.fromJson(json['authorizationTime'],'DateTime',context!);
        authorizationCode = json['authorizationCode'];
        transactionId = json['transactionId'];
        amountCharged = JsonConverters.toDouble(json['amountCharged']);
        billingAddress = JsonConverters.fromJson(json['billingAddress'],'NAVOrderImportAddress',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'paymentType': paymentType,
        'paymentIdentifier1': paymentIdentifier1,
        'paymentIdentifier2': paymentIdentifier2,
        'paymentIdentifier3': paymentIdentifier3,
        'paymentIdentifier4': paymentIdentifier4,
        'paymentIdentifier5': paymentIdentifier5,
        'paymentToken': paymentToken,
        'authorizationTime': JsonConverters.toJson(authorizationTime,'DateTime',context!),
        'authorizationCode': authorizationCode,
        'transactionId': transactionId,
        'amountCharged': amountCharged,
        'billingAddress': JsonConverters.toJson(billingAddress,'NAVOrderImportAddress',context!)
    };

    getTypeName() => "NAVOrderImportPayment";
    TypeContext? context = _ctx;
}

class NAVOrderImportFee implements IConvertible
{
    String? feeSystemKeyword;
    double? feeAmount;
    double? taxAmount;
    double? feeTotal;

    NAVOrderImportFee({this.feeSystemKeyword,this.feeAmount,this.taxAmount,this.feeTotal});
    NAVOrderImportFee.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        feeSystemKeyword = json['feeSystemKeyword'];
        feeAmount = JsonConverters.toDouble(json['feeAmount']);
        taxAmount = JsonConverters.toDouble(json['taxAmount']);
        feeTotal = JsonConverters.toDouble(json['feeTotal']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'feeSystemKeyword': feeSystemKeyword,
        'feeAmount': feeAmount,
        'taxAmount': taxAmount,
        'feeTotal': feeTotal
    };

    getTypeName() => "NAVOrderImportFee";
    TypeContext? context = _ctx;
}

class NAVOrderImport implements IPost, IConvertible
{
    String? externalOrderId;
    String? orderTypeId;
    DateTime? createdDateUTC;
    DateTime? submittedDateUTC;
    double? beeNumberCustomer;
    double? beeNumberPayee;
    String? orderSource;
    String? shippingMethod;
    String? giftMessage;
    String? giftMessageFrom;
    String? giftMessageTo;
    String? shippingComment;
    NAVOrderImportAddress? shippingAddress;
    List<NAVOrderImportSku>? orderSkus;
    List<NAVOrderImportPayment>? orderPayments;
    List<NAVOrderImportFee>? orderFees;
    double? subTotal;
    double? orderTotal;
    double? shippingCost;
    double? tax;
    double? shippingTax;
    String? externalDiscountReason;
    double? pcLevel;
    String? agentId;
    double? numberOfCustomersServed;
    String? versionNumber;
    String? versionYear;
    String? additionalCode;
    String? discountPercent;
    String? taxRatePercent;
    double? orderWithinTimePeriod;
    String? taxAreaCode;
    String? geocode;
    String? fundraiserId;
    String? warehouseCode;
    String? originalReshipExternalOrderId;
    String? shippedVersionNumber;
    String? shippedVersionYear;
    String? masterOrderId;
    String? couponValue;
    String? salesCenterId;
    String? premierLevel;
    double? pcLevelCurrentCycle;
    String? premierLevelCurrentCycle;
    String? emailAddress;
    String? phoneNumber;

    NAVOrderImport({this.externalOrderId,this.orderTypeId,this.createdDateUTC,this.submittedDateUTC,this.beeNumberCustomer,this.beeNumberPayee,this.orderSource,this.shippingMethod,this.giftMessage,this.giftMessageFrom,this.giftMessageTo,this.shippingComment,this.shippingAddress,this.orderSkus,this.orderPayments,this.orderFees,this.subTotal,this.orderTotal,this.shippingCost,this.tax,this.shippingTax,this.externalDiscountReason,this.pcLevel,this.agentId,this.numberOfCustomersServed,this.versionNumber,this.versionYear,this.additionalCode,this.discountPercent,this.taxRatePercent,this.orderWithinTimePeriod,this.taxAreaCode,this.geocode,this.fundraiserId,this.warehouseCode,this.originalReshipExternalOrderId,this.shippedVersionNumber,this.shippedVersionYear,this.masterOrderId,this.couponValue,this.salesCenterId,this.premierLevel,this.pcLevelCurrentCycle,this.premierLevelCurrentCycle,this.emailAddress,this.phoneNumber});
    NAVOrderImport.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        externalOrderId = json['externalOrderId'];
        orderTypeId = json['orderTypeId'];
        createdDateUTC = JsonConverters.fromJson(json['createdDateUTC'],'DateTime',context!);
        submittedDateUTC = JsonConverters.fromJson(json['submittedDateUTC'],'DateTime',context!);
        beeNumberCustomer = JsonConverters.toDouble(json['beeNumberCustomer']);
        beeNumberPayee = JsonConverters.toDouble(json['beeNumberPayee']);
        orderSource = json['orderSource'];
        shippingMethod = json['shippingMethod'];
        giftMessage = json['giftMessage'];
        giftMessageFrom = json['giftMessageFrom'];
        giftMessageTo = json['giftMessageTo'];
        shippingComment = json['shippingComment'];
        shippingAddress = JsonConverters.fromJson(json['shippingAddress'],'NAVOrderImportAddress',context!);
        orderSkus = JsonConverters.fromJson(json['orderSkus'],'List<NAVOrderImportSku>',context!);
        orderPayments = JsonConverters.fromJson(json['orderPayments'],'List<NAVOrderImportPayment>',context!);
        orderFees = JsonConverters.fromJson(json['orderFees'],'List<NAVOrderImportFee>',context!);
        subTotal = JsonConverters.toDouble(json['subTotal']);
        orderTotal = JsonConverters.toDouble(json['orderTotal']);
        shippingCost = JsonConverters.toDouble(json['shippingCost']);
        tax = JsonConverters.toDouble(json['tax']);
        shippingTax = JsonConverters.toDouble(json['shippingTax']);
        externalDiscountReason = json['externalDiscountReason'];
        pcLevel = JsonConverters.toDouble(json['pcLevel']);
        agentId = json['agentId'];
        numberOfCustomersServed = JsonConverters.toDouble(json['numberOfCustomersServed']);
        versionNumber = json['versionNumber'];
        versionYear = json['versionYear'];
        additionalCode = json['additionalCode'];
        discountPercent = json['discountPercent'];
        taxRatePercent = json['taxRatePercent'];
        orderWithinTimePeriod = JsonConverters.toDouble(json['orderWithinTimePeriod']);
        taxAreaCode = json['taxAreaCode'];
        geocode = json['geocode'];
        fundraiserId = json['fundraiserId'];
        warehouseCode = json['warehouseCode'];
        originalReshipExternalOrderId = json['originalReshipExternalOrderId'];
        shippedVersionNumber = json['shippedVersionNumber'];
        shippedVersionYear = json['shippedVersionYear'];
        masterOrderId = json['masterOrderId'];
        couponValue = json['couponValue'];
        salesCenterId = json['salesCenterId'];
        premierLevel = json['premierLevel'];
        pcLevelCurrentCycle = JsonConverters.toDouble(json['pcLevelCurrentCycle']);
        premierLevelCurrentCycle = json['premierLevelCurrentCycle'];
        emailAddress = json['emailAddress'];
        phoneNumber = json['phoneNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'externalOrderId': externalOrderId,
        'orderTypeId': orderTypeId,
        'createdDateUTC': JsonConverters.toJson(createdDateUTC,'DateTime',context!),
        'submittedDateUTC': JsonConverters.toJson(submittedDateUTC,'DateTime',context!),
        'beeNumberCustomer': beeNumberCustomer,
        'beeNumberPayee': beeNumberPayee,
        'orderSource': orderSource,
        'shippingMethod': shippingMethod,
        'giftMessage': giftMessage,
        'giftMessageFrom': giftMessageFrom,
        'giftMessageTo': giftMessageTo,
        'shippingComment': shippingComment,
        'shippingAddress': JsonConverters.toJson(shippingAddress,'NAVOrderImportAddress',context!),
        'orderSkus': JsonConverters.toJson(orderSkus,'List<NAVOrderImportSku>',context!),
        'orderPayments': JsonConverters.toJson(orderPayments,'List<NAVOrderImportPayment>',context!),
        'orderFees': JsonConverters.toJson(orderFees,'List<NAVOrderImportFee>',context!),
        'subTotal': subTotal,
        'orderTotal': orderTotal,
        'shippingCost': shippingCost,
        'tax': tax,
        'shippingTax': shippingTax,
        'externalDiscountReason': externalDiscountReason,
        'pcLevel': pcLevel,
        'agentId': agentId,
        'numberOfCustomersServed': numberOfCustomersServed,
        'versionNumber': versionNumber,
        'versionYear': versionYear,
        'additionalCode': additionalCode,
        'discountPercent': discountPercent,
        'taxRatePercent': taxRatePercent,
        'orderWithinTimePeriod': orderWithinTimePeriod,
        'taxAreaCode': taxAreaCode,
        'geocode': geocode,
        'fundraiserId': fundraiserId,
        'warehouseCode': warehouseCode,
        'originalReshipExternalOrderId': originalReshipExternalOrderId,
        'shippedVersionNumber': shippedVersionNumber,
        'shippedVersionYear': shippedVersionYear,
        'masterOrderId': masterOrderId,
        'couponValue': couponValue,
        'salesCenterId': salesCenterId,
        'premierLevel': premierLevel,
        'pcLevelCurrentCycle': pcLevelCurrentCycle,
        'premierLevelCurrentCycle': premierLevelCurrentCycle,
        'emailAddress': emailAddress,
        'phoneNumber': phoneNumber
    };

    getTypeName() => "NAVOrderImport";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'extensions.avon.ca', types: <String, TypeInfo> {
    'NAVOrderImportResponse': TypeInfo(TypeOf.Class, create:() => NAVOrderImportResponse()),
    'NAVOrderImportAddress': TypeInfo(TypeOf.Class, create:() => NAVOrderImportAddress()),
    'NAVOrderImportSkuComponent': TypeInfo(TypeOf.Class, create:() => NAVOrderImportSkuComponent()),
    'NAVOrderImportSku': TypeInfo(TypeOf.Class, create:() => NAVOrderImportSku()),
    'List<NAVOrderImportSkuComponent>': TypeInfo(TypeOf.Class, create:() => <NAVOrderImportSkuComponent>[]),
    'NAVOrderImportPayment': TypeInfo(TypeOf.Class, create:() => NAVOrderImportPayment()),
    'NAVOrderImportFee': TypeInfo(TypeOf.Class, create:() => NAVOrderImportFee()),
    'NAVOrderImport': TypeInfo(TypeOf.Class, create:() => NAVOrderImport()),
    'List<NAVOrderImportSku>': TypeInfo(TypeOf.Class, create:() => <NAVOrderImportSku>[]),
    'List<NAVOrderImportPayment>': TypeInfo(TypeOf.Class, create:() => <NAVOrderImportPayment>[]),
    'List<NAVOrderImportFee>': TypeInfo(TypeOf.Class, create:() => <NAVOrderImportFee>[]),
});

Dart 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"}}}