NAV

<back to all web services

OrderClose

The following routes are available for this service:
POST/orders/close
import java.math.*
import java.util.*
import net.servicestack.client.*


open class OrderClose : IPost
{
    var orderCloseData:NAVOrderClose? = null
    var shipment:ArrayList<NAVOrderCloseShipment> = ArrayList<NAVOrderCloseShipment>()
}

open class NAVOrderClose
{
    var externalOrderId:String? = null
    var orderTypeId:String? = null
    var createdDateUTC:Date? = null
    var submittedDateUTC:Date? = null
    var completedDateUTC: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:NAVOrderCloseAddress? = null
    var orderSkus:ArrayList<NAVOrderCloseSku> = ArrayList<NAVOrderCloseSku>()
    var orderPayments:ArrayList<NAVOrderClosePayment> = ArrayList<NAVOrderClosePayment>()
    var orderFees:ArrayList<NAVOrderCloseFee> = ArrayList<NAVOrderCloseFee>()
    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 NAVOrderCloseAddress
{
    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 NAVOrderCloseSku
{
    var skuCode:String? = null
    var orderLineNumber:Int? = null
    var quantity:Int? = null
    var isAutoShip:Boolean? = null
    var orderSkuComponents:ArrayList<NAVOrderCloseSkuComponent> = ArrayList<NAVOrderCloseSkuComponent>()
    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 buyingDiscount:BigDecimal? = null
    var originalOrderQty:BigDecimal? = null
    var parentSKUCode:String? = null
    var closedQuantity:BigDecimal? = null
}

open class NAVOrderCloseSkuComponent
{
    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 NAVOrderClosePayment
{
    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:NAVOrderCloseAddress? = null
}

open class NAVOrderCloseFee
{
    var feeSystemKeyword:String? = null
    var feeAmount:BigDecimal? = null
    var taxAmount:BigDecimal? = null
    var feeTotal:BigDecimal? = null
}

open class NAVOrderCloseShipment
{
    var shipmentDateUTC:Date? = null
    var shippingMethod:String? = null
    var shippingSpeed:String? = null
    var trackingNumber:String? = null
    var shipmentStatus:String? = null
    var shipmentDetails:String? = null
    var shippingCost:BigDecimal? = null
    var charge:BigDecimal? = null
    var tax:BigDecimal? = null
    var actualShippingCost:BigDecimal? = null
    var cartonWeight:BigDecimal? = null
    var orderShipmentSku:ArrayList<NAVOrderCloseShipmentSku> = ArrayList<NAVOrderCloseShipmentSku>()
}

open class NAVOrderCloseShipmentSku
{
    var orderLineNumber:Int? = null
    var quantityShipped:Int? = null
    var substituteSkuCode:String? = null
}

open class OrderCloseResponse
{
    var responseStatus:ResponseStatus? = null
}

Kotlin OrderClose 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/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
		}
	}
}