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
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 } } }