POST | /orders/close |
---|
import Foundation
import ServiceStack
public class OrderClose : IPost, Codable
{
public var orderCloseData:NAVOrderClose?
public var shipment:[NAVOrderCloseShipment] = []
required public init(){}
}
public class NAVOrderClose : Codable
{
public var externalOrderId:String?
public var orderTypeId:String?
public var createdDateUTC:Date?
public var submittedDateUTC:Date?
public var completedDateUTC:Date?
public var beeNumberCustomer:Double?
public var beeNumberPayee:Double?
public var orderSource:String?
public var shippingMethod:String?
public var giftMessage:String?
public var giftMessageFrom:String?
public var giftMessageTo:String?
public var shippingComment:String?
public var shippingAddress:NAVOrderCloseAddress?
public var orderSkus:[NAVOrderCloseSku] = []
public var orderPayments:[NAVOrderClosePayment] = []
public var orderFees:[NAVOrderCloseFee] = []
public var subTotal:Double?
public var orderTotal:Double?
public var shippingCost:Double?
public var tax:Double?
public var shippingTax:Double?
public var externalDiscountReason:String?
public var pcLevel:Double?
public var agentId:String?
public var numberOfCustomersServed:Double?
public var versionNumber:String?
public var versionYear:String?
public var additionalCode:String?
public var discountPercent:String?
public var taxRatePercent:String?
public var orderWithinTimePeriod:Double?
public var taxAreaCode:String?
public var geocode:String?
public var fundraiserId:String?
public var warehouseCode:String?
public var originalReshipExternalOrderId:String?
public var shippedVersionNumber:String?
public var shippedVersionYear:String?
public var masterOrderId:String?
public var couponValue:String?
public var salesCenterId:String?
public var premierLevel:String?
public var pcLevelCurrentCycle:Double?
public var premierLevelCurrentCycle:String?
public var emailAddress:String?
public var phoneNumber:String?
required public init(){}
}
public class NAVOrderCloseAddress : Codable
{
public var firstName:String?
public var lastName:String?
public var addressLine1:String?
public var addressLine2:String?
public var addressLine3:String?
public var addressLine4:String?
public var addressLine5:String?
public var city:String?
public var stateProvinceCode:String?
public var postalCode:String?
public var county:String?
public var countryCode:String?
required public init(){}
}
public class NAVOrderCloseSku : Codable
{
public var skuCode:String?
public var orderLineNumber:Int?
public var quantity:Int?
public var isAutoShip:Bool?
public var orderSkuComponents:[NAVOrderCloseSkuComponent] = []
public var pricePaidPerUnit:Double?
public var retailPricePerUnit:Double?
public var netPrice:Double?
public var netSales:Double?
public var submittedNetPrice:Double?
public var submittedNetSales:Double?
public var manualDiscountAmount:Double?
public var itemDiscountPercent:Double?
public var taxAmount:Double?
public var taxPercentage:Double?
public var commissionableValueEarned:Double?
public var qualifyingValueEarned:Double?
public var qualifyingValueEarnedSubmitted:Double?
public var overrideCVEarned:Double?
public var overrideCVEarnedSubmitted:Double?
public var overrideQVEarned:Double?
public var groupCVEarned:Double?
public var groupQVEarned:Double?
public var uplineCVEarned:Double?
public var uplineQVEarned:Double?
public var versionNumber:String?
public var versionYear:String?
public var couponCode:String?
public var substituteIndicator:String?
public var fulfillmentIndicator:String?
public var substituteSkuCode:String?
public var vehicleId:String?
public var offerId:String?
public var buyingDiscount:Double?
public var originalOrderQty:Double?
public var parentSKUCode:String?
public var closedQuantity:Double?
required public init(){}
}
public class NAVOrderCloseSkuComponent : Codable
{
public var parentOrderLineNumber:Int?
public var orderLineNumber:Int?
public var skuCode:String?
public var quantity:Int?
public var pricePaidPerUnit:Double?
public var retailPricePerUnit:Double?
public var netPrice:Double?
public var taxAmount:Double?
public var taxPercentage:Double?
public var versionNumber:String?
public var versionYear:String?
public var vehicleId:String?
public var offerId:String?
required public init(){}
}
public class NAVOrderClosePayment : Codable
{
public var paymentType:String?
public var paymentIdentifier1:String?
public var paymentIdentifier2:String?
public var paymentIdentifier3:String?
public var paymentIdentifier4:String?
public var paymentIdentifier5:String?
public var paymentToken:String?
public var authorizationTime:Date?
public var authorizationCode:String?
public var transactionId:String?
public var amountCharged:Double?
public var billingAddress:NAVOrderCloseAddress?
required public init(){}
}
public class NAVOrderCloseFee : Codable
{
public var feeSystemKeyword:String?
public var feeAmount:Double?
public var taxAmount:Double?
public var feeTotal:Double?
required public init(){}
}
public class NAVOrderCloseShipment : Codable
{
public var shipmentDateUTC:Date?
public var shippingMethod:String?
public var shippingSpeed:String?
public var trackingNumber:String?
public var shipmentStatus:String?
public var shipmentDetails:String?
public var shippingCost:Double?
public var charge:Double?
public var tax:Double?
public var actualShippingCost:Double?
public var cartonWeight:Double?
public var orderShipmentSku:[NAVOrderCloseShipmentSku] = []
required public init(){}
}
public class NAVOrderCloseShipmentSku : Codable
{
public var orderLineNumber:Int?
public var quantityShipped:Int?
public var substituteSkuCode:String?
required public init(){}
}
public class OrderCloseResponse : Codable
{
public var responseStatus:ResponseStatus?
required public init(){}
}
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/close HTTP/1.1
Host: extensions.avon.ca
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
orderCloseData:
{
externalOrderId: String,
orderTypeId: String,
createdDateUTC: 0001-01-01T00:00:00,
submittedDateUTC: 0001-01-01T00:00:00,
completedDateUTC: 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,
buyingDiscount: 0,
originalOrderQty: 0,
parentSKUCode: String,
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
},
shipment:
[
{
shipmentDateUTC: 0001-01-01T00:00:00,
shippingMethod: String,
shippingSpeed: String,
trackingNumber: String,
shipmentStatus: String,
shipmentDetails: String,
shippingCost: 0,
charge: 0,
tax: 0,
actualShippingCost: 0,
cartonWeight: 0,
orderShipmentSku:
[
{
orderLineNumber: 0,
quantityShipped: 0,
substituteSkuCode: 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 } } }