POST | /orders |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class NAVOrderImport : IPost
{
var externalOrderId:String? = null
var orderTypeId:String? = null
var createdDateUTC:Date? = null
var submittedDateUTC:Date? = null
var beeNumberCustomer:BigDecimal? = null
var beeNumberPayee:BigDecimal? = null
var orderSource:String? = null
var shippingMethod:String? = null
var giftMessage:String? = null
var giftMessageFrom:String? = null
var giftMessageTo:String? = null
var shippingComment:String? = null
var shippingAddress:NAVOrderImportAddress? = null
var orderSkus:ArrayList<NAVOrderImportSku> = ArrayList<NAVOrderImportSku>()
var orderPayments:ArrayList<NAVOrderImportPayment> = ArrayList<NAVOrderImportPayment>()
var orderFees:ArrayList<NAVOrderImportFee> = ArrayList<NAVOrderImportFee>()
var subTotal:BigDecimal? = null
var orderTotal:BigDecimal? = null
var shippingCost:BigDecimal? = null
var tax:BigDecimal? = null
var shippingTax:BigDecimal? = null
var externalDiscountReason:String? = null
var pcLevel:BigDecimal? = null
var agentId:String? = null
var numberOfCustomersServed:BigDecimal? = null
var versionNumber:String? = null
var versionYear:String? = null
var additionalCode:String? = null
var discountPercent:String? = null
var taxRatePercent:String? = null
var orderWithinTimePeriod:BigDecimal? = null
var taxAreaCode:String? = null
var geocode:String? = null
var fundraiserId:String? = null
var warehouseCode:String? = null
var originalReshipExternalOrderId:String? = null
var shippedVersionNumber:String? = null
var shippedVersionYear:String? = null
var masterOrderId:String? = null
var couponValue:String? = null
var salesCenterId:String? = null
var premierLevel:String? = null
var pcLevelCurrentCycle:BigDecimal? = null
var premierLevelCurrentCycle:String? = null
var emailAddress:String? = null
var phoneNumber:String? = null
}
open class NAVOrderImportAddress
{
var firstName:String? = null
var lastName:String? = null
var addressLine1:String? = null
var addressLine2:String? = null
var addressLine3:String? = null
var addressLine4:String? = null
var addressLine5:String? = null
var city:String? = null
var stateProvinceCode:String? = null
var postalCode:String? = null
var county:String? = null
var countryCode:String? = null
}
open class NAVOrderImportSku
{
var skuCode:String? = null
var orderLineNumber:Int? = null
var quantity:Int? = null
var isAutoShip:Boolean? = null
var orderSkuComponents:ArrayList<NAVOrderImportSkuComponent> = ArrayList<NAVOrderImportSkuComponent>()
var pricePaidPerUnit:BigDecimal? = null
var retailPricePerUnit:BigDecimal? = null
var netPrice:BigDecimal? = null
var netSales:BigDecimal? = null
var submittedNetPrice:BigDecimal? = null
var submittedNetSales:BigDecimal? = null
var manualDiscountAmount:BigDecimal? = null
var itemDiscountPercent:BigDecimal? = null
var taxAmount:BigDecimal? = null
var taxPercentage:BigDecimal? = null
var commissionableValueEarned:BigDecimal? = null
var qualifyingValueEarned:BigDecimal? = null
var qualifyingValueEarnedSubmitted:BigDecimal? = null
var overrideCVEarned:BigDecimal? = null
var overrideCVEarnedSubmitted:BigDecimal? = null
var overrideQVEarned:BigDecimal? = null
var groupCVEarned:BigDecimal? = null
var groupQVEarned:BigDecimal? = null
var uplineCVEarned:BigDecimal? = null
var uplineQVEarned:BigDecimal? = null
var versionNumber:String? = null
var versionYear:String? = null
var couponCode:String? = null
var substituteIndicator:String? = null
var fulfillmentIndicator:String? = null
var substituteSkuCode:String? = null
var vehicleId:String? = null
var offerId:String? = null
var parentSKUCode:String? = null
var buyingDiscount:BigDecimal? = null
var originalOrderQty:BigDecimal? = null
var closedQuantity:BigDecimal? = null
}
open class NAVOrderImportSkuComponent
{
var parentOrderLineNumber:Int? = null
var orderLineNumber:Int? = null
var skuCode:String? = null
var quantity:Int? = null
var pricePaidPerUnit:BigDecimal? = null
var retailPricePerUnit:BigDecimal? = null
var netPrice:BigDecimal? = null
var taxAmount:BigDecimal? = null
var taxPercentage:BigDecimal? = null
var versionNumber:String? = null
var versionYear:String? = null
var vehicleId:String? = null
var offerId:String? = null
}
open class NAVOrderImportPayment
{
var paymentType:String? = null
var paymentIdentifier1:String? = null
var paymentIdentifier2:String? = null
var paymentIdentifier3:String? = null
var paymentIdentifier4:String? = null
var paymentIdentifier5:String? = null
var paymentToken:String? = null
var authorizationTime:Date? = null
var authorizationCode:String? = null
var transactionId:String? = null
var amountCharged:BigDecimal? = null
var billingAddress:NAVOrderImportAddress? = null
}
open class NAVOrderImportFee
{
var feeSystemKeyword:String? = null
var feeAmount:BigDecimal? = null
var taxAmount:BigDecimal? = null
var feeTotal:BigDecimal? = null
}
open class NAVOrderImportResponse
{
var responseStatus:ResponseStatus? = null
}
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 } } }