Wineshipping API (3.1.2)

Download OpenAPI description
Languages
Servers
Mock server
https://developer.wineshipping.com/_mock/api/v3.1/openapi/
Test
https://api-test.wineshipping.com/v3/
Production
https://api.wineshipping.com/v3/

Fulfillment

API Methods for order processing and fulfillment.

Operations

Inventory

API Methods for inventory management.

Operations

Create purchase order

Request

This operation is used to create an inbound inventory request. Successful execution of this operation will generate a new purchase order in Wineshipping system. The inbound request can be a pickup from customer address or a drop-off at a Wineshipping warehouse location. A transaction reference identifier is returned in this operation. Store this identifier in your application and systems as applicable. This reference ID is available in the event a problem occurs with the associated request.

Bodyapplication/json
Authenticationobject(Authentication)required

Credentials are required for all API operations.

Authentication.​UserKeystringrequired
Example: "C5EAAD3DF1094EDFB2B4685F8A7AB2E1"
Authentication.​Passwordstringrequired
Example: "A781281230444BD7BC72F7753B944A71"
Authentication.​CustomerNostringrequired
Example: "10703"
OrderInfoobject(PurchaseOrderInfo)required
OrderInfo.​CustomerReferenceNostring<= 1000 characters
OrderInfo.​TransportMethodstring
OrderInfo.​RequestedDatestring
OrderInfo.​ReceiveToLocationstring(InventoryWarehouse)
Enum"APC01""CE201""ETC01""MMC01""SMX01""MIY01""VCX01""COB01""TWL01""WOX01"
Example: "APC01"
OrderInfo.​InventoryStatusCodestring(InventoryStatus)

Inventory Status Code, see Codes & Descriptions for possible values

Array of up to 5 items is allowed, and if omitted, all items will be included in the results.

Enum"GOOD-NO-BD""GOOD-NO-TX""GOOD-ST-BD""GOOD-ST-EX""GOOD-ST-IM""GOOD-ST-TX""RTGD-NO-TX""DMGD-NO-TX"
OrderInfo.​ReferenceNostring<= 100 characters

optional, pickup reference number

OrderInfo.​FirstNamestring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​LastNamestring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Companystring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Addressstring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Address2string<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Citystring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Statestring= 2 characters

Required, if TransportMethod = PICKUP

Example: "CA"
OrderInfo.​ZipCodestring[ 5 .. 10 ] characters

Required, if TransportMethod = PICKUP

OrderInfo.​PhoneNumberstring[ 10 .. 25 ] characters
Example: "7079339063"
OrderInfo.​EmailAddressstring<= 255 characters
OrderInfo.​SpecialInstructionstring
ItemsInfoArray of objects(PurchaseOrderItemInfo)required
ItemsInfo[].​ItemNostring<= 50 charactersrequired
Example: "ITEMTEST"
ItemsInfo[].​ItemDescriptionstring<= 100 characters
Example: "2019 Cab Napa Valley"
ItemsInfo[].​ItemQuantityinteger(int32)required
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/CreatePurchaseOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "OrderInfo": {
      "CustomerReferenceNo": "14932418",
      "TransportMethod": "DROPOFF",
      "RequestedDate": "08/30/2024",
      "ReceiveToLocation": "APC01",
      "InventoryStatusCode": "GOOD-NO-TX",
      "ReferenceNo": "RN-14932419-D",
      "FirstName": "John",
      "LastName": "Smith",
      "Company": "KV",
      "Address": "50 Technology Ct",
      "Address2": "",
      "City": "Napa",
      "State": "CA",
      "ZipCode": "94558",
      "PhoneNumber": "707-933-9063",
      "EmailAddress": "someone@wineshipping.com",
      "SpecialInstruction": ""
    },
    "ItemsInfo": [
      {
        "ItemNo": "DROPOFF_ITEM-1",
        "ItemDescription": "Item Description - 30",
        "ItemQuantity": 2500
      },
      {
        "ItemNo": "DROPOFF_ITEM-2",
        "ItemDescription": "Item Description - 31",
        "ItemQuantity": 3600
      },
      {
        "ItemNo": "DROPOFF_ITEM-3",
        "ItemDescription": "Item Description - 32",
        "ItemQuantity": 4200
      }
    ]
  }'

Responses

Returns a transaction reference identifier of the created purchase order.

Update purchase order

Request

Update an existing inventory receipt request

Bodyapplication/json
PurchaseOrderNumberstring
Authenticationobject(Authentication)required

Credentials are required for all API operations.

Authentication.​UserKeystringrequired
Example: "C5EAAD3DF1094EDFB2B4685F8A7AB2E1"
Authentication.​Passwordstringrequired
Example: "A781281230444BD7BC72F7753B944A71"
Authentication.​CustomerNostringrequired
Example: "10703"
OrderInfoobject(PurchaseOrderInfo)required
OrderInfo.​CustomerReferenceNostring<= 1000 characters
OrderInfo.​TransportMethodstring
OrderInfo.​RequestedDatestring
OrderInfo.​ReceiveToLocationstring(InventoryWarehouse)
Enum"APC01""CE201""ETC01""MMC01""SMX01""MIY01""VCX01""COB01""TWL01""WOX01"
Example: "APC01"
OrderInfo.​InventoryStatusCodestring(InventoryStatus)

Inventory Status Code, see Codes & Descriptions for possible values

Array of up to 5 items is allowed, and if omitted, all items will be included in the results.

Enum"GOOD-NO-BD""GOOD-NO-TX""GOOD-ST-BD""GOOD-ST-EX""GOOD-ST-IM""GOOD-ST-TX""RTGD-NO-TX""DMGD-NO-TX"
OrderInfo.​ReferenceNostring<= 100 characters

optional, pickup reference number

OrderInfo.​FirstNamestring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​LastNamestring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Companystring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Addressstring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Address2string<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Citystring<= 100 characters

Required, if TransportMethod = PICKUP

OrderInfo.​Statestring= 2 characters

Required, if TransportMethod = PICKUP

Example: "CA"
OrderInfo.​ZipCodestring[ 5 .. 10 ] characters

Required, if TransportMethod = PICKUP

OrderInfo.​PhoneNumberstring[ 10 .. 25 ] characters
Example: "7079339063"
OrderInfo.​EmailAddressstring<= 255 characters
OrderInfo.​SpecialInstructionstring
ItemsInfoArray of objects(PurchaseOrderItemInfo)
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/UpdatePurchaseOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10000"
    },
    "OrderInfo": {
      "CustomerReferenceNo": "14932418",
      "ReferenceNo": "RN-14932419-D",
      "SpecialInstruction": "New instructions"
    }
  }'

Responses

OK

Cancel purchase order

Request

This operation is used to cancel a purchase order request. A transaction reference identifier is required to post using this operation. A transaction reference identifier will be returned upon use of the operation. Store this identifier in your application and systems as applicable. This reference ID is available in the event a problem occurs with the associated request. Successful execution of this method will cancel an open Purchase Order in Wineshipping's system and will return a transaction reference identifier. Note: that Purchase Orders can only be canceled and are considered 'Open' as long as work has not been started.

Bodyapplication/json
Authenticationobject(Authentication)

Credentials are required for all API operations.

CustomerReferenceNostring
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/CancelPurchaseOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "CustomerReferenceNo": "string"
  }'

Responses

The purchase order cancellation request has succeeded.

Create transfer order

Request

This operation is used to create a inventory transfer request between two Wineshipping managed inventory locations. Successful execution of this operation will generate a new transfer order in Wineshipping system. A transaction reference identifier is returned in this operation. Store this identifier in your application and systems as applicable. This reference ID is available in the event a problem occurs with the associated request.

Bodyapplication/json
Authenticationobject(Authentication)

Credentials are required for all API operations.

TransferInfoobject(TransferOrderInfo)
ItemsInfoArray of objects(Iteminfo)
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/CreateTransferOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "TransferInfo": {
      "CustomerReferenceNo": "string",
      "RequestedDate": "string",
      "TransferFromWarehouse": "APC01",
      "InventoryStatusCode": "GOOD-NO-TX",
      "TransferToWarehouse": "APC01",
      "FirstName": "string",
      "LastName": "string",
      "PhoneNumber": "7079339063",
      "EmailAddress": "string",
      "SpecialInstruction": "string"
    },
    "ItemsInfo": [
      {
        "ItemNo": "1466-SE",
        "ItemDescription": "2016 CAB SAUV RESERVE NAPA VALLEY",
        "ItemQuantity": 6,
        "UnitPrice": 0
      }
    ]
  }'

Responses

Returns a transaction reference identifier

Update transfer order

Request

Use this operation to update an existing open transfer order. Successful execution of this method will update an open transfer order in Wineshipping system. If for some reason the order cannot be updated standard HTTP Status Code and a reason will be returned.

Bodyapplication/json
Authenticationobject(Authentication)

Credentials are required for all API operations.

TransferInfoobject(TransferInfoUpdate)
ItemsInfoArray of objects(TransferItemInfo)
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/UpdateTransferOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "TransferInfo": {
      "TransferOrderNumber": "string",
      "CustomerReferenceNo": "string",
      "RequestedDate": "2019-08-24T14:15:22Z",
      "InventoryStatusCode": "string",
      "FirstName": "string",
      "LastName": "string",
      "PhoneNumber": "string",
      "EmailAddress": "string",
      "SpecialInstruction": "string"
    },
    "ItemsInfo": [
      {
        "ItemNo": "string",
        "ItemDescription": "string",
        "ItemQuantity": 0
      }
    ]
  }'

Responses

The transfer order update request has succeeded.

Cancel a transfer order

Request

This operation is used to cancel a transfer order request. A transaction reference identifier is required to post using this operation. A transaction reference identifier will be returned upon use of the operation. Store this identifier in your application and systems as applicable. This reference ID is available in the event a problem occurs with the associated request. Successful execution of this method will cancel an Open Purchase Order in Wineshipping's system and will return a transaction reference identifier. Please note that Transfer Orders can only be canceled and are considered "open" as long as work has not been started.

Bodyapplication/json
Authenticationobject(Authentication)

Credentials are required for all API operations.

CustomerReferenceNostring
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/InventoryMovement/CancelTransferOrder \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "CustomerReferenceNo": "string"
  }'

Responses

Returns a transaction reference identifier - note, transfer orders can only be cancelled before work has been started

Get inventory transactions

Request

This method allows a customer to retrieve inventory transactions. Inventory transactions include Sales Orders, Purchase Orders, Transfer In, Transfer Out, Production Lines, Inventory Adjustments and Inventory Status Changes. There are multiple input filters available for use, including filters to retrieve specific types of inventory transactions, to retrieve transactions processed on a particular date, or to retrieve transactions in a specific Wineshipping warehouse.There are also pagination and skip/top query parameters that allow customers to further control the inventory transactions that are returned in the response.

Bodyapplication/json
Authenticationobject(Authentication)required

Credentials are required for all API operations.

Authentication.​UserKeystringrequired
Example: "C5EAAD3DF1094EDFB2B4685F8A7AB2E1"
Authentication.​Passwordstringrequired
Example: "A781281230444BD7BC72F7753B944A71"
Authentication.​CustomerNostringrequired
Example: "10703"
TransactionDatestring

Required unless TransactionStartDateTime is specified. Format 12/31/2024

TransactionStartDateTimestring(date-time)

Required unless TransactionDate is specified. UTC 2024-02-10T08:12:39.483Z

TransactionEndDateTimestring(date-time)

Not required but only works when TransactionStartDateTime is specified. UTC 2017-02-10T08:12:39.483Z

TransactionTypestring

Required unless TransactionTypes are specified instead

TransactionTypesArray of strings

Required unless TransactionType is specified instead

Items Enum"Puchase Order""Transfer In""Transfer Out""Production Line""Inventory Adjustment""Inventory Status Change""Sales order""Return Order"
Warehousestring(InventoryWarehouse)
Enum"APC01""CE201""ETC01""MMC01""SMX01""MIY01""VCX01""COB01""TWL01""WOX01"
Example: "APC01"
WarehousesArray of strings(InventoryWarehouse)

(COMING SOON)

Items Enum"APC01""CE201""ETC01""MMC01""SMX01""MIY01""VCX01""COB01""TWL01""WOX01"
Example: ["APC01"]
Referencestring
InventoryStatusstring(InventoryStatus)

Inventory Status Code, see Codes & Descriptions for possible values

Array of up to 5 items is allowed, and if omitted, all items will be included in the results.

Enum"GOOD-NO-BD""GOOD-NO-TX""GOOD-ST-BD""GOOD-ST-EX""GOOD-ST-IM""GOOD-ST-TX""RTGD-NO-TX""DMGD-NO-TX"
InventoryStatusesArray of strings(InventoryStatus)

(COMING SOON)

Items Enum"GOOD-NO-BD""GOOD-NO-TX""GOOD-ST-BD""GOOD-ST-EX""GOOD-ST-IM""GOOD-ST-TX""RTGD-NO-TX""DMGD-NO-TX"
ItemNumbersArray of strings
Skipinteger(int32)
Topinteger(int32)
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/Inventory/GetTransactions \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "TransactionType": "Inventory Adjustment",
    "Warehouse": "APC01",
    "Reference": "",
    "InventoryStatus": "GOOD-NO-TX",
    "ItemNumbers": [
      ""
    ],
    "Skip": 0,
    "Top": 2500
  }'

Responses

OK

Bodyapplication/json
TransactionReferenceNumberstring
TotalRecordCountinteger(int32)
Skipinteger(int32)
Default 0
Topinteger(int32)
MoreRecordsboolean
InventoryTransactionsArray of objects(InventoryTransaction)
Response
application/json
{ "TransactionReferenceNumber": "79f019f0-1a6e-4777-8c0d-d475ba2aaa3e", "TotalRecordCount": 2, "Skip": 0, "Top": 10000, "MoreRecords": false, "InventoryTransactions": [ {}, {} ] }

Get inventory information

Request

This operation provides inventory information with warehouse, status, quantity on hand, quantity reserved on orders, quantity on backorder, quantity available, and quantity on an inbound PO. This operation optionally accepts a warehouse code to return related inventory records for a specific Wineshipping warehouse, if omitted the operation will return inventory records for all warehouses. The operation also accepts an array of items to query inventory records, if omitted returns inventory records for all items in the warehouse specified.

Bodyapplication/json
Authenticationobject(Authentication)required

Credentials are required for all API operations.

Authentication.​UserKeystringrequired
Example: "C5EAAD3DF1094EDFB2B4685F8A7AB2E1"
Authentication.​Passwordstringrequired
Example: "A781281230444BD7BC72F7753B944A71"
Authentication.​CustomerNostringrequired
Example: "10703"
Warehousestring(InventoryWarehouse)
Enum"APC01""CE201""ETC01""MMC01""SMX01""MIY01""VCX01""COB01""TWL01""WOX01"
Example: "APC01"
ItemNumbersArray of strings

Array of up to 5 items is allowed, and if omitted, all items in the specified warehouse will be included in the results.

InventoryStatusesArray of strings(InventoryStatus)[ 0 .. 5 ] items

Array of up to 5 inventory status codes are allowed, and if omitted, all inventory statuses will be included in the results. Followings are generic status codes. If you have a custom Wineshipping inventory type please work with IT to get the inventory codes. See Codes & Descriptions for possible values

Items Enum"GOOD-NO-BD""GOOD-NO-TX""GOOD-ST-BD""GOOD-ST-EX""GOOD-ST-IM""GOOD-ST-TX""RTGD-NO-TX""DMGD-NO-TX"
IncludeTotalRecordCountboolean

Indicates whether to query total record count, or not.

Default false
Skipinteger(int32)

Start returning results after skipping the specified number of results. Default is set to zero. Identifies a subset of the results identified by the input filter. The subset is defined by seeking N results and selecting only the remaining results (starting with N+1). N is an integer greater than or equal to zero specified in the request.

Default 0
Topinteger(int32)<= 2500

Limit the number of results to the specified value; Default is 2500. Any value outside the range of 0 to 2500, is set to 2500. Identifies a subset of the results based on input filter. The subset is defined by selecting only the first N results, where N is an integer greater than or equal to zero specified in the request.

Default 2500
IncludeUnavailableItemsboolean

When true response will include items (products) with no physical inventory. By default only items with non-zero physical inventory are returned.

Default false
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/Inventory/GetStatus \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "C5EAAD3DF1094EDFB2B4685F8A7AB2E1",
      "Password": "A781281230444BD7BC72F7753B944A71",
      "CustomerNo": "10703"
    },
    "Warehouse": "APC01",
    "ItemNumbers": [
      "string"
    ],
    "InventoryStatuses": [
      "GOOD-NO-BD"
    ],
    "IncludeTotalRecordCount": false,
    "Skip": 0,
    "Top": 2500,
    "IncludeUnavailableItems": false
  }'

Responses

OK

Bodyapplication/json
TotalRecordCountinteger(int32)
Skipinteger(int32)
Topinteger(int32)
MoreRecordsboolean
WarehouseInventoryStatusesArray of objects(WarehouseInventoryStatus)
Response
application/json
{ "TotalRecordCount": 12, "Skip": 0, "Top": 10, "MoreRecords": true, "WarehouseInventoryStatuses": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ] }

Get sellable inventory

Request

This operation provides the total, aggregated inventory available to sell. This operation optionally accepts a list of warehouse codes to return sellable inventory totals for a specific subset of Wineshipping warehouses, otherwise all physical locations with sellable inventory are considered.

This method is specifically designed to efficiently sync available inventory quantities with Commerce, pos or other order management systems for all skus. See the GetInventoryStatus for retrieving more detailed inventory information for an individual sku.

Bodyapplication/json
Authenticationobject(Authentication)

Credentials are required for all API operations.

WarehousesArray of strings
OrderTypestring
OrderSourcestring
ItemNumbersArray of strings
Verboseboolean
IncludeUnavailableItemsboolean
IncludeIncomingInventoryboolean
IncludeLibraryInventoryboolean
IncludeStorageInventoryboolean
PageNumberinteger(int32)
PageSizeinteger(int32)
curl -i -X POST \
  https://developer.wineshipping.com/_mock/api/v3.1/openapi/api/Inventory/GetSellable \
  -H 'Content-Type: application/json' \
  -d '{
    "Authentication": {
      "UserKey": "string",
      "Password": "string",
      "CustomerNo": "string"
    },
    "Warehouses": [
      "string"
    ],
    "OrderType": "string",
    "OrderSource": "string",
    "ItemNumbers": [
      "string"
    ],
    "Verbose": true,
    "IncludeUnavailableItems": true,
    "IncludeIncomingInventory": true,
    "IncludeLibraryInventory": true,
    "IncludeStorageInventory": true,
    "PageNumber": 0,
    "PageSize": 0
  }'

Responses

OK

Bodyapplication/json
TotalRecordCountinteger(int32)
SalesChannelstring
ItemsArray of objects(InventoryItem)
Response
application/json
{ "TotalRecordCount": 0, "SalesChannel": "string", "Items": [ {} ] }

Product

API Methods for item management.

Operations

Tracking

API Methods for tracking and shipments.

Operations

Commerce

API Methods for carriers, expected delivery dates and addresses.

Operations