NAV

<back to all web services

NAVOrderImport

The following routes are available for this service:
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; }
    }

}

C# NAVOrderImport 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 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
		}
	}
}