# Create sales order Successful execution of this method will generate a new shipment order in Wineshipping's system and will return a transaction reference identifier. Store this identifier back into your system for reference later in the event there is an issue with your order. Endpoint: POST /api/SalesOrder/CreateSalesOrder Version: 3.1.3 Security: Authentication ## Request fields (application/json): - `Authentication` (object, required) Credentials are required for all API operations. - `Authentication.UserKey` (string, required) Example: "C445598CB576468EA35FBB22C55584EF" - `Authentication.Password` (string, required) Example: "AF63FDAC1E704DC1AC9460F669ABF107" - `Authentication.CustomerNo` (string, required) Example: "10703" - `OrderInfo` (object, required) test - `OrderInfo.TransmissionId` (string) Example: "TransID-083021" - `OrderInfo.OrderNo` (string, required) Usually the order number in your point of sale (POS) system. Example: "TESTORDER-1" - `OrderInfo.PONo` (string) - `OrderInfo.ShipmentKey` (string) - `OrderInfo.OrderType` (string, required) RETAILUsed for daily orders.CLUBUsed for club and subscription orders.DTTUsed for 'Direct-To-Trade' orders that go directly to a retailer.WHOLESALEUsed for orders that go to a distributor.DELIVERY_TO_WINERYUsed for orders that move inventory on behalf of the winery without changing ownership (aka RTW). Enum: "CLUB", "RETAIL", "DTT", "JIT", "DELIVERY_TO_WINERY", "WHOLESALE" - `OrderInfo.OrderSource` (string) Example: "Tasting Room" - `OrderInfo.OrderDate` (string) Example: "2025-08-24T14:15:22Z" - `OrderInfo.GiftCard` (integer) Indicates there is a gift message with this order Enum: 0, 1 - `OrderInfo.GiftCardMessage` (string) Required if GiftCard set to 1 Example: "gift message text" - `OrderInfo.Tags` (string) Semi-colon delimited list of tags to apply to the order - `OrderInfo.SpecialInstructions` (string) - `OrderInfo.ConsumerTaxCollected` (string) Total Tax Collected on an Order - useful for compliance - `OrderInfo.ConsumerShippingPrice` (string) Total Shipping cost collected on an Order - useful for compliance - `OrderInfo.BatchId` (string) Example: "TSTORDER" - `OrderInfo.BatchDescription` (string) Example: "Club Mixed Red 3PK" - `RecipientContactInfo` (object) - `RecipientContactInfo.FirstName` (string) Example: "Jane" - `RecipientContactInfo.LastName` (string) Example: "Doe" - `RecipientContactInfo.Company` (string) Example: "Wineshipping" - `RecipientContactInfo.Address` (string) Example: "50 Technology Ct" - `RecipientContactInfo.Address2` (string) - `RecipientContactInfo.City` (string) Example: "Napa" - `RecipientContactInfo.State` (string) Example: "CA" - `RecipientContactInfo.ZipCode` (string) Example: "94558" - `RecipientContactInfo.Country` (string) Example: "US" - `RecipientContactInfo.PhoneNumber` (string) Example: "7079339063" - `RecipientContactInfo.EmailAddress` (string) Example: "someone@wineshipping.com" - `BillingContactInfo` (object) - `ShipmentInfo` (object) - `ShipmentInfo.ShippingCarrier` (string) See [carrier codes](../../../../docs/codes/carriercodes) for possible values. Enum: "FEX", "UPS", "BSW", "GSO", "WIL", "FCC", "TMC", "WST", "WILL" - `ShipmentInfo.ShippingCarrierService` (string) See [carrier codes](../../../../docs/codes/carriercodes) for possible values. Enum: "ONPR", "GRND", "2DAY", "HOME", "ONST", "CALL", "LPDS", "NONE" - `ShipmentInfo.RequestedShipmentDate` (string) RequestedShipmentDate is optional (MM/DD/YYYY format) and is only meaningful to schedule shipment in the future. By default orders will be processed as soon as possible, in-line with your account preferences (cutoff schedules for each site and carrier service) Example: "8/31/2025" - `ShipmentInfo.Insurance` (integer) Enum: 0, 1 - `ShipmentInfo.IcePack` (integer) Enum: 0, 1 - `ShipmentInfo.WineshippingWarehouseLocation` (string) See [warehouse locations](../../../../docs/codes/warehouselocations) for possible values. Enum: "APC01", "APC02", "COB01", "COB02", "ETC01", "MMC01", "PRB02", "PRB04", "SJU01", "TWL01", "VCX01", "WOX01" - `ItemsInfo` (array) - `ItemsInfo.ItemNo` (string, required) Example: "1466-SE" - `ItemsInfo.ItemDescription` (string) Example: "2016 CAB SAUV RESERVE NAPA VALLEY" - `ItemsInfo.ItemQuantity` (integer, required) Example: 6 - `ItemsInfo.QuantityUnit` (string) Specify whether an Item Quantity should be denominated in Retail (i.e. bottles) or Wholesale (i.e. cases) when creating an order. Enum: "RETAIL", "WHOLESALE" - `ItemsInfo.InventoryTaxStatus` (string) Only applicable to non-DTC order types such as Wholesale. See [inventory codes](../../../../docs/inventorycodes) for possible values. - `ItemsInfo.AdditionalFields` (object) These are optional parameters for specific business scenarios - `ItemsInfo.ExternalLineNumber` (string) Coming soon: Associate the item with a specific line in the customer's order. This is useful for echoing back data for reconciliation within your systems. Example: "100001" - `ItemsInfo.Group` (string) Coming soon: Associate the items with a group for future visualization in ACP, reporting purposes, business rules such as waiving, and shipping rules. Example: "gift-set-1" - `ItemsInfo.ParentItemNo` (string) Coming soon: Define the relationship between the ItemNo and any parent items in the customer's order. This is useful for defining gift sets or associations with boxes, or other hierarchy relationships between items on the order. Example: "69-SE" - `DeliveryContactInfo` (object) - `DeliveryContactInfo.HoldAtLocation` (integer) Set at 1 for adding Hold At Location specific addresses for the Order (UPS Access Points & FedEx Hold Locations) – it is not necessary to add Delivery Location Info not using Hold at Locations Enum: 0, 1 - `DeliveryContactInfo.LocationCode` (string) - `TransactionReferenceNumber` (string) Unique identifier of the order to be used when cancelling or updating an order. The TransactionReferenceValue is returned by the CreateSalesOrder response. If TransactionReferenceNumber is provided OrderNo is ignored. - `HoldOrder` (boolean) If set to True or 1, the order will be placed on Fulfillment Hold and will not automatically be fulfilled by Wineshipping until either set to false using UpdateSalesOrder or manually fulfilled via ACP ## Response 400 fields ## Response 401 fields ## Response 429 fields ## Response 500 fields