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 .jsv suffix or ?format=jsv

HTTP + JSV

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/jsv
Content-Type: text/jsv
Content-Length: length

{
	externalOrderId: String,
	orderTypeId: String,
	createdDateUTC: 0001-01-01T00:00:00,
	submittedDateUTC: 0001-01-01T00:00:00,
	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,
			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/jsv
Content-Length: length

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