NAV

<back to all web services

NAVOrderImport

The following routes are available for this service:
POST/orders
namespace NAV.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type NAVOrderImportResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderImportAddress() = 
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val AddressLine1:String = null with get,set
        member val AddressLine2:String = null with get,set
        member val AddressLine3:String = null with get,set
        member val AddressLine4:String = null with get,set
        member val AddressLine5:String = null with get,set
        member val City:String = null with get,set
        member val StateProvinceCode:String = null with get,set
        member val PostalCode:String = null with get,set
        member val County:String = null with get,set
        member val CountryCode:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderImportSkuComponent() = 
        member val ParentOrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val OrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SkuCode:String = null with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val PricePaidPerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RetailPricePerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val VehicleId:String = null with get,set
        member val OfferId:String = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderImportSku() = 
        member val SkuCode:String = null with get,set
        member val OrderLineNumber:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Quantity:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val IsAutoShip:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val OrderSkuComponents:ResizeArray<NAVOrderImportSkuComponent> = new ResizeArray<NAVOrderImportSkuComponent>() with get,set
        member val PricePaidPerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RetailPricePerUnit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val NetSales:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SubmittedNetPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val SubmittedNetSales:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ManualDiscountAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ItemDiscountPercent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxPercentage:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CommissionableValueEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val QualifyingValueEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val QualifyingValueEarnedSubmitted:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideCVEarnedSubmitted:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OverrideQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val GroupCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val GroupQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UplineCVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UplineQVEarned:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val CouponCode:String = null with get,set
        member val SubstituteIndicator:String = null with get,set
        member val FulfillmentIndicator:String = null with get,set
        member val SubstituteSkuCode:String = null with get,set
        member val VehicleId:String = null with get,set
        member val OfferId:String = null with get,set
        member val ParentSKUCode:String = null with get,set
        member val BuyingDiscount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OriginalOrderQty:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ClosedQuantity:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type NAVOrderImportPayment() = 
        member val PaymentType:String = null with get,set
        member val PaymentIdentifier1:String = null with get,set
        member val PaymentIdentifier2:String = null with get,set
        member val PaymentIdentifier3:String = null with get,set
        member val PaymentIdentifier4:String = null with get,set
        member val PaymentIdentifier5:String = null with get,set
        member val PaymentToken:String = null with get,set
        member val AuthorizationTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val AuthorizationCode:String = null with get,set
        member val TransactionId:String = null with get,set
        member val AmountCharged:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BillingAddress:NAVOrderImportAddress = null with get,set

    [<AllowNullLiteral>]
    type NAVOrderImportFee() = 
        member val FeeSystemKeyword:String = null with get,set
        member val FeeAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FeeTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type NAVOrderImport() = 
        interface IPost
        member val ExternalOrderId:String = null with get,set
        member val OrderTypeId:String = null with get,set
        member val CreatedDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val SubmittedDateUTC:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val BeeNumberCustomer:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BeeNumberPayee:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OrderSource:String = null with get,set
        member val ShippingMethod:String = null with get,set
        member val GiftMessage:String = null with get,set
        member val GiftMessageFrom:String = null with get,set
        member val GiftMessageTo:String = null with get,set
        member val ShippingComment:String = null with get,set
        member val ShippingAddress:NAVOrderImportAddress = null with get,set
        member val OrderSkus:ResizeArray<NAVOrderImportSku> = new ResizeArray<NAVOrderImportSku>() with get,set
        member val OrderPayments:ResizeArray<NAVOrderImportPayment> = new ResizeArray<NAVOrderImportPayment>() with get,set
        member val OrderFees:ResizeArray<NAVOrderImportFee> = new ResizeArray<NAVOrderImportFee>() with get,set
        member val SubTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val OrderTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ShippingCost:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Tax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ShippingTax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExternalDiscountReason:String = null with get,set
        member val PCLevel:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val AgentId:String = null with get,set
        member val NumberOfCustomersServed:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val VersionNumber:String = null with get,set
        member val VersionYear:String = null with get,set
        member val AdditionalCode:String = null with get,set
        member val DiscountPercent:String = null with get,set
        member val TaxRatePercent:String = null with get,set
        member val OrderWithinTimePeriod:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TaxAreaCode:String = null with get,set
        member val Geocode:String = null with get,set
        member val FundraiserId:String = null with get,set
        member val WarehouseCode:String = null with get,set
        member val OriginalReshipExternalOrderId:String = null with get,set
        member val ShippedVersionNumber:String = null with get,set
        member val ShippedVersionYear:String = null with get,set
        member val MasterOrderId:String = null with get,set
        member val CouponValue:String = null with get,set
        member val SalesCenterId:String = null with get,set
        member val PremierLevel:String = null with get,set
        member val PCLevelCurrentCycle:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PremierLevelCurrentCycle:String = null with get,set
        member val EmailAddress:String = null with get,set
        member val PhoneNumber:String = null with get,set

F# 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
		}
	}
}