POST | /orders |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using NAV.ServiceModel;
namespace NAV.ServiceModel
{
public partial class NAVOrderImport
: IPost
{
public NAVOrderImport()
{
OrderSkus = new List<NAVOrderImportSku>{};
OrderPayments = new List<NAVOrderImportPayment>{};
OrderFees = new List<NAVOrderImportFee>{};
}
public virtual string ExternalOrderId { get; set; }
public virtual string OrderTypeId { get; set; }
public virtual DateTime? CreatedDateUTC { get; set; }
public virtual DateTime? SubmittedDateUTC { get; set; }
public virtual decimal? BeeNumberCustomer { get; set; }
public virtual decimal? BeeNumberPayee { get; set; }
public virtual string OrderSource { get; set; }
public virtual string ShippingMethod { get; set; }
public virtual string GiftMessage { get; set; }
public virtual string GiftMessageFrom { get; set; }
public virtual string GiftMessageTo { get; set; }
public virtual string ShippingComment { get; set; }
public virtual NAVOrderImportAddress ShippingAddress { get; set; }
public virtual List<NAVOrderImportSku> OrderSkus { get; set; }
public virtual List<NAVOrderImportPayment> OrderPayments { get; set; }
public virtual List<NAVOrderImportFee> OrderFees { get; set; }
public virtual decimal? SubTotal { get; set; }
public virtual decimal? OrderTotal { get; set; }
public virtual decimal? ShippingCost { get; set; }
public virtual decimal? Tax { get; set; }
public virtual decimal? ShippingTax { get; set; }
public virtual string ExternalDiscountReason { get; set; }
public virtual decimal? PCLevel { get; set; }
public virtual string AgentId { get; set; }
public virtual decimal? NumberOfCustomersServed { get; set; }
public virtual string VersionNumber { get; set; }
public virtual string VersionYear { get; set; }
public virtual string AdditionalCode { get; set; }
public virtual string DiscountPercent { get; set; }
public virtual string TaxRatePercent { get; set; }
public virtual decimal? OrderWithinTimePeriod { get; set; }
public virtual string TaxAreaCode { get; set; }
public virtual string Geocode { get; set; }
public virtual string FundraiserId { get; set; }
public virtual string WarehouseCode { get; set; }
public virtual string OriginalReshipExternalOrderId { get; set; }
public virtual string ShippedVersionNumber { get; set; }
public virtual string ShippedVersionYear { get; set; }
public virtual string MasterOrderId { get; set; }
public virtual string CouponValue { get; set; }
public virtual string SalesCenterId { get; set; }
public virtual string PremierLevel { get; set; }
public virtual decimal? PCLevelCurrentCycle { get; set; }
public virtual string PremierLevelCurrentCycle { get; set; }
public virtual string EmailAddress { get; set; }
public virtual string PhoneNumber { get; set; }
}
public partial class NAVOrderImportAddress
{
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressLine3 { get; set; }
public virtual string AddressLine4 { get; set; }
public virtual string AddressLine5 { get; set; }
public virtual string City { get; set; }
public virtual string StateProvinceCode { get; set; }
public virtual string PostalCode { get; set; }
public virtual string County { get; set; }
public virtual string CountryCode { get; set; }
}
public partial class NAVOrderImportFee
{
public virtual string FeeSystemKeyword { get; set; }
public virtual decimal? FeeAmount { get; set; }
public virtual decimal? TaxAmount { get; set; }
public virtual decimal? FeeTotal { get; set; }
}
public partial class NAVOrderImportPayment
{
public virtual string PaymentType { get; set; }
public virtual string PaymentIdentifier1 { get; set; }
public virtual string PaymentIdentifier2 { get; set; }
public virtual string PaymentIdentifier3 { get; set; }
public virtual string PaymentIdentifier4 { get; set; }
public virtual string PaymentIdentifier5 { get; set; }
public virtual string PaymentToken { get; set; }
public virtual DateTime? AuthorizationTime { get; set; }
public virtual string AuthorizationCode { get; set; }
public virtual string TransactionId { get; set; }
public virtual decimal? AmountCharged { get; set; }
public virtual NAVOrderImportAddress BillingAddress { get; set; }
}
public partial class NAVOrderImportResponse
{
public virtual ResponseStatus ResponseStatus { get; set; }
}
public partial class NAVOrderImportSku
{
public NAVOrderImportSku()
{
OrderSkuComponents = new List<NAVOrderImportSkuComponent>{};
}
public virtual string SkuCode { get; set; }
public virtual int? OrderLineNumber { get; set; }
public virtual int? Quantity { get; set; }
public virtual bool? IsAutoShip { get; set; }
public virtual List<NAVOrderImportSkuComponent> OrderSkuComponents { get; set; }
public virtual decimal? PricePaidPerUnit { get; set; }
public virtual decimal? RetailPricePerUnit { get; set; }
public virtual decimal? NetPrice { get; set; }
public virtual decimal? NetSales { get; set; }
public virtual decimal? SubmittedNetPrice { get; set; }
public virtual decimal? SubmittedNetSales { get; set; }
public virtual decimal? ManualDiscountAmount { get; set; }
public virtual decimal? ItemDiscountPercent { get; set; }
public virtual decimal? TaxAmount { get; set; }
public virtual decimal? TaxPercentage { get; set; }
public virtual decimal? CommissionableValueEarned { get; set; }
public virtual decimal? QualifyingValueEarned { get; set; }
public virtual decimal? QualifyingValueEarnedSubmitted { get; set; }
public virtual decimal? OverrideCVEarned { get; set; }
public virtual decimal? OverrideCVEarnedSubmitted { get; set; }
public virtual decimal? OverrideQVEarned { get; set; }
public virtual decimal? GroupCVEarned { get; set; }
public virtual decimal? GroupQVEarned { get; set; }
public virtual decimal? UplineCVEarned { get; set; }
public virtual decimal? UplineQVEarned { get; set; }
public virtual string VersionNumber { get; set; }
public virtual string VersionYear { get; set; }
public virtual string CouponCode { get; set; }
public virtual string SubstituteIndicator { get; set; }
public virtual string FulfillmentIndicator { get; set; }
public virtual string SubstituteSkuCode { get; set; }
public virtual string VehicleId { get; set; }
public virtual string OfferId { get; set; }
public virtual string ParentSKUCode { get; set; }
public virtual decimal? BuyingDiscount { get; set; }
public virtual decimal? OriginalOrderQty { get; set; }
public virtual decimal? ClosedQuantity { get; set; }
}
public partial class NAVOrderImportSkuComponent
{
public virtual int? ParentOrderLineNumber { get; set; }
public virtual int? OrderLineNumber { get; set; }
public virtual string SkuCode { get; set; }
public virtual int? Quantity { get; set; }
public virtual decimal? PricePaidPerUnit { get; set; }
public virtual decimal? RetailPricePerUnit { get; set; }
public virtual decimal? NetPrice { get; set; }
public virtual decimal? TaxAmount { get; set; }
public virtual decimal? TaxPercentage { get; set; }
public virtual string VersionNumber { get; set; }
public virtual string VersionYear { get; set; }
public virtual string VehicleId { get; set; }
public virtual string OfferId { 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 } } }