This is an outline of all the currently supported Zentail API actions.
Please review or have your developers review this document and submit any feedback you may have. We’re always open to working together on new endpoints and functionality. Please let us know if you have any feedback.
URL |
---|
https://api.zentail.com/v1 |
This creates a validation for the given import definition. It queues it to be run for the given CSV file. GET /import/validation/results can be used to check the progress and current results.
Name | Description |
---|---|
string* | The import definition ID is an ID that is unique for every definition of a report type and consists of the import type, the integration ID if applicable, and the template ID if applicable. The three parts are joined by semicolons: |
curl --request POST \ --url https://api.zentail.com/v1/import/validation/%7BimportDefinitionId%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Returns Validation data which contains previews and validation results. This endpoint will return even if the validation is not complete and will give the current results of the validation.
curl --request GET \ --url https://api.zentail.com/v1/import/validation/results/%7BvalidationID%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Returns the status, vendor, warehouse, and delivery info associated with the inbound shipment requested.
curl --request GET \ --url https://api.zentail.com/v1/inbound-shipment/%7Bid%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Create an inbound shipment in Zentail from a set of product information. Must include status, vendor name, destination warehouse, and purchase order number.
Place all of the inbound shipment details in a JSON object in the body of the request.
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
array* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | The status of the inbound shipment. Possible Values: PENDING, SHIPPED, RECEIVED, PARTIALLY_RECEIVED OR CANCELLED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/inbound-shipment \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"inbound_shipment_products":[{"product_id":0,"sku":"string","quantity":0,"unit_item_cost":0}],"status":"PENDING","vendor_name":"string","destination_warehouse_id":0,"shipping_cost":0,"purchase_order_number":"string"}'
Returns the status, vendor, warehouse, and delivery info associated with the inbound shipments.
curl --request GET \ --url https://api.zentail.com/v1/inbound-shipment \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Cancel inbound shipments in Zentail. Must include the inbound shipment id.
curl --request POST \ --url https://api.zentail.com/v1/inbound-shipment/%7Bid%7D/cancel \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Returns information about all of the integrations which can be used to upload orders into Zentail using the API, file upload or UI.
curl --request GET \ --url https://api.zentail.com/v1/customStores \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "name": "string",
- "default": true,
- "integrationId": 0
}
]
}
This endpoint is restricted to developers who have registered an application with Zentail. Please refer to our guide on building a sales channel integration to learn more about the registration process and how to use the listing endpoint.
Name | Description |
---|---|
string | If provided, only returns listings with an updated TS greater than the provided timestamp |
array | If provided, only listings with the given skus will be included. |
integer | Passing this will return the number of Listings specified, otherwise defaults to 25. |
string | Passing this will return the next page of a previous call (all other parameters will be ignored). You can find nextToken in the response from a previous GET listings call. |
curl --request GET \ --url https://api.zentail.com/v1/listing \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "id": "string",
- "sku": "string",
- "title": "string",
- "description": "string",
- "tags": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "pivot_attributes": [
- "string"
], - "primary_image": {
- "url": "string",
- "hash": "string"
}, - "category": "string",
- "cpsia_warnings": {
- "choking hazard balloon": false,
- "choking hazard contains a marble": false,
- "choking hazard contains a small ball": false,
- "choking hazard is a marble": false,
- "choking hazard is a small ball": false,
- "choking hazard small parts": false
}, - "prop65": {
- "required": false,
- "type": "alcoholic_beverage",
- "chemicals": [
- "butyl_benzyl_phthalate_bbp_d"
]
}, - "variants": [
- {
- "sku": "string",
- "available_inventory": 0,
- "pricing": {
- "current_selling_price": 0,
- "msrp": 0,
- "map": 0,
- "pricing": 0
}, - "primary_image": {
- "url": "string",
- "hash": "string"
}, - "images": [
- {
- "url": "string",
- "hash": "string"
}
], - "standard_identifier": "string",
- "standard_identifier_type": "UPC",
- "brand": "string",
- "manufacturer": "string",
- "model_number": "string",
- "condition": "New",
- "condition_description": "string",
- "listing_data": [
- {
- "attribute": "string",
- "value": "string"
}
]
}
]
}
],
}
This endpoint is restricted to developers who have registered an application with Zentail. Please refer to our guide on building a sales channel integration to learn more about the registration process and how to use the listing endpoint.
Status | Description |
---|---|
200 success | Success |
Show common responses |
curl --request GET \ --url https://api.zentail.com/v1/listing/%7Blistingid%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
This endpoint is restricted to developers who have registered an application with Zentail. Please refer to our guide on building a sales channel integration to learn more about the registration process and how to use the listing endpoint.
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Possible Values: PUBLISHED, UNPUBLISHED OR SUPPRESSED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/listing/status \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"listing_id":"string","sku":"string","status":"PUBLISHED","listing_url":"string","errors":[{"severity":"string","classification":"other","affected_attributes":["string"],"error":"other","message":"string"}]}'
Returns the total quantity of this SKU available in all warehouses
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | SKU value is the unique identifier for a product in Zentail. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Depending on the type defined in standardProductIdType this field contains either the UPC, EAN, ISBN, or GTIN for this product. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boolean* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | One of UPC, EAN, ISBN or GTIN. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request GET \ --url https://api.zentail.com/v1/simpleInventory/%7BSKU%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "SKU": "string",
- "standardProductId": "string",
- "active": true,
- "standardProductIdType": "string",
- "totalAvailableQuantity": 0,
- "lastInventoryUpdateTs": "2019-08-24T14:15:22Z"
}
Returns available quantity for the SKU in all warehouses, and inbound inventory data.
Status | Description |
---|---|
200 success | Success |
Show common responses |
curl --request GET \ --url https://api.zentail.com/v1/inventory/%7BSKU%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "SKU": "string",
- "active": true,
- "standardProductId": "string",
- "standardProductIdType": "string",
- "totalAvailableQuantity": 0,
- "warehouses": [
- {
- "warehouseName": "string",
- "warehouseUniqueId": "string",
- "availableQuantity": 0,
- "assembledQuantity": 0,
- "inventoryLocations": [
- {
- "binLocation": "string",
- "quantity": 0
}
], - "updatedTs": "2019-08-24T14:15:22Z",
- "inboundShipments": [
- {
- "quantity": 0,
- "expectedDeliveryDate": "2019-08-24",
- "tracking": "string",
- "carrier": "string"
}
]
}
], - "lastInventoryUpdateTs": "2019-08-24T14:15:22Z"
}
Retrieve inventory data for skus with various filters. One of lastUpdatedTs, skus, warehouses is required to be passed in as a parameters.
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | Providing lastUpdateTs returns inventory for all SKUs updated after that timestamp. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
array | If a list of skus is provided, lastUpdatedTs and warehouses is ignored. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boolean | If this is true, a case-sensitive match will be used to search for the 'skus' provided. If false, as case-insensitive search will be used. Default value is true. Default: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request GET \ --url https://api.zentail.com/v1/inventory \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "SKU": "string",
- "active": true,
- "standardProductId": "string",
- "standardProductIdType": "string",
- "totalAvailableQuantity": 0,
- "warehouses": [
- {
- "warehouseName": "string",
- "warehouseUniqueId": "string",
- "availableQuantity": 0,
- "assembledQuantity": 0,
- "inventoryLocations": [
- {
- "binLocation": "string",
- "quantity": 0
}
], - "updatedTs": "2019-08-24T14:15:22Z",
- "inboundShipments": [
- {
- "quantity": 0,
- "expectedDeliveryDate": "2019-08-24",
- "tracking": "string",
- "carrier": "string"
}
]
}
], - "lastInventoryUpdateTs": "2019-08-24T14:15:22Z"
}
], - "errors": [
- "string"
],
}
This call allows updating inventory data for skus. If the sku does not exist in your Zentail account, it will be created and assigned the inventory provided. This works only for warhouses that dont have an integation controlling inventory.
Note: Include only one of quantity, delta_quantity, or onhand_quantity in your request. ### Warehouse ID In order to update inventory in Zentail, you will need to associate the inventory with a Warehouse ID.
Provide the pulled_ts, warehouseName, and the items(Up to 50 skus per call)
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | SKU value is the unique identifier for a product in Zentail. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Depending on the type defined in standardProductIdType this field contains either the UPC, EAN, ISBN, or GTIN for this product. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | One of UPC, EAN, ISBN or GTIN. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boolean* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/inventory \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"products":[{"SKU":"string","quantity":0,"delta_quantity":0,"onhand_quantity":0,"binLocation":"string","warehouseId":0,"warehouseUniqueId":"string"}],"validAsOf":"2019-08-24T14:15:22Z"}'
[- {
- "SKU": "string",
- "standardProductId": "string",
- "standardProductIdType": "string",
- "active": true,
- "totalAvailableQuantity": 0,
- "lastInventoryUpdateTs": "2019-08-24T14:15:22Z",
- "errorMessage": "string"
}
]
curl --request GET \ --url https://api.zentail.com/v1/report/%7BreportId%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "reportId": 0,
- "label": "string",
- "isExport": false,
- "requestedTs": "2019-08-24T14:15:22Z",
- "completedTs": "2019-08-24T14:15:22Z",
- "columnTypes": [
- "string"
], - "status": "PENDING",
- "totalLines": 0,
- "linesSuccessfullyProcessed": 0,
- "filePath": "string",
- "errorMessage": "string",
- "overwriteWithBlank": false,
- "createNewProducts": false,
- "activeOnly": false,
- "insertOnly": false,
- "includeHeader": true,
- "exportForExcel": false,
- "filter": "string",
- "delimiter": ",",
- "headersOnly": false,
- "uploader": "string"
}
This returns a list of Reports (most recent reports first).
Name | Description |
---|---|
string | Passing this will only return reports created after createdTs. |
integer | Passing this will return the number of Reports specified in pageLength |
string | Passing this will return the next page of a previous call (we will disregard all other parameters provided). You can find nextToken in the response from a previous GET report call. |
curl --request GET \ --url https://api.zentail.com/v1/report \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "reportId": 0,
- "label": "string",
- "isExport": false,
- "requestedTs": "2019-08-24T14:15:22Z",
- "completedTs": "2019-08-24T14:15:22Z",
- "columnTypes": [
- "string"
], - "status": "PENDING",
- "totalLines": 0,
- "linesSuccessfullyProcessed": 0,
- "filePath": "string",
- "errorMessage": "string",
- "overwriteWithBlank": false,
- "createNewProducts": false,
- "activeOnly": false,
- "insertOnly": false,
- "includeHeader": true,
- "exportForExcel": false,
- "filter": "string",
- "delimiter": ",",
- "headersOnly": false,
- "uploader": "string"
}
],
}
You can use this endpoint to create an import or an export. The parameters used in each case are different so definitely check out the model to see what each parameter is used for. Please note the prefixes 'For exports only:' and 'For imports only:'.
You'll need to build a file that has a header row that describes the contents of the corresponding column. You can find a list of acceptable column headers here. For example, if you were importing a file to set the MSRP for a set of SKUs, the first column header would have to be 'SKU' and the second column header would be 'MSRP'.
If you don't supply any columnTypes in your request, we will include all of the possible columns that can be exported. If you'd like to restrict the number of columns you can pass the column types as an array. You can find a list of acceptable column headers here. For example if you were trying to export the MSRP for SKUs you would send ["SKU", "MSRP"]
in the columnType parameter.
You can also use filters to limit the results of a report. You can find find more information on how to build a filter query here
Details of the report to be created
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | Assigns a label to this report. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boolean* | If true, this is an export. Otherwise it's an import. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | For imports only: This should be a csv, xls, xlsx, xslsm, txt, or tsv file encoded in base 64 (e.g. base64_encode(data) in PHP). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | For imports only: This tells us the type of file that was encoded in the data parameter. Default: csv Possible Values: csv, xls, xlsx, xlsm, txt OR tsv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/report \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"label":"string","isExport":false,"data":"string","extension":"csv","overwriteWithBlank":false,"createNewProducts":false,"columnTypes":["string"],"delimiter":",","activeOnly":false,"insertOnly":false,"includeHeader":true,"exportForExcel":false,"filter":"string","headersOnly":false}'
{- "reportId": 0,
- "label": "string",
- "isExport": false,
- "requestedTs": "2019-08-24T14:15:22Z",
- "completedTs": "2019-08-24T14:15:22Z",
- "columnTypes": [
- "string"
], - "status": "PENDING",
- "totalLines": 0,
- "linesSuccessfullyProcessed": 0,
- "filePath": "string",
- "errorMessage": "string",
- "overwriteWithBlank": false,
- "createNewProducts": false,
- "activeOnly": false,
- "insertOnly": false,
- "includeHeader": true,
- "exportForExcel": false,
- "filter": "string",
- "delimiter": ",",
- "headersOnly": false,
- "uploader": "string"
}
Returns very detailed information about a sales order including accounting data, tracking/package data, line items for all sales orders that match the search criteria provided. Results are sorted by the lastUpdateTs from oldest to newest.
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string | If provided, only orders with a last updated timestamp greater than or equal to the one provided (inclusive) will be included. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
array | If provided, only orders with the given status will be included. Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
array | If provided, only orders with the given Channel Order Ids will be included. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | If provided, only orders with a timestamp greater than or equal to the one provided (inclusive) will be included. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request GET \ --url https://api.zentail.com/v1/salesOrder \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "orderNumber": "string",
- "status": "PENDING",
- "cancellationReason": "string",
- "channel": "string",
- "channelLabel": "string",
- "channelOrderId": "string",
- "channelOrderReferenceNumber": "string",
- "customer_notes": "string",
- "marketplaceId": "string",
- "customerName": "string",
- "customerEmail": "string",
- "orderTs": "2019-08-24T14:15:22Z",
- "lastUpdatedTs": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string",
- "standardServiceLevel": "Standard",
- "shipBy": "2019-08-24T14:15:22Z",
- "accounting": {
- "payment": 0,
- "channelTax": 0,
- "resellerCommission": 0,
- "shippingCost": 0,
- "itemCost": 0,
- "totalCost": 0,
- "revenue": 0,
- "profit": 0,
- "margin": 0,
- "itemPrice": 0,
- "shippingPrice": 0,
- "refund": 0
}, - "shippingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "billingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "packages": [
- {
- "packageId": 0,
- "carrier": "string",
- "serviceLevel": "string",
- "cost": 0,
- "tracking": "string",
- "shippedTs": "2019-08-24",
- "rma": "string",
- "labelUrl": "string",
- "packageWeight": 0,
- "packageWeightUom": "string",
- "packageHeight": 0,
- "packageWidth": 0,
- "packageLength": 0,
- "products": [
- {
- "sku": "string",
- "lineItemId": "string",
- "quantity": 0
}
]
}
], - "products": [
- {
- "lineItemId": "string",
- "status": "PENDING",
- "requestedTitle": "string",
- "requestedSku": "string",
- "SKU": "string",
- "mpn": "string",
- "standard_product_id": "string",
- "title": "string",
- "quantity": 0,
- "routing_info": [
- {
- "warehouseId": 0,
- "warehouseUniqueId": "string",
- "quantity": 0,
- "assembledQuantity": 0,
- "kitComponents": [
- {
- "SKU": "string",
- "componentQuantity": 0
}
]
}
], - "cancelQuantity": "string",
- "shippedQuantity": "string",
- "unitPrice": 0,
- "cost": 0,
- "totalWeight": 0,
- "refund": "string",
- "refundReason": "string",
- "giftWrapMessage": "string",
- "giftWrapLevel": "string",
- "earliestShipBy": "2019-08-24T14:15:22Z",
- "latestShipBy": "2019-08-24T14:15:22Z",
- "earliestDeliverBy": "2019-08-24T14:15:22Z",
- "latestDeliverBy": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string"
}
], - "returnOrders": [
- {
- "returnOrderId": 0,
- "channelReturnId": "string",
- "requestTs": "2019-08-24T14:15:22Z",
- "returnItems": [
- {
- "returnOrderItemId": 0,
- "SKU": "string",
- "quantity": 0,
- "originalQuantity": 0,
- "refundAmount": 0
}
]
}
], - "fba": true,
- "prime": true,
- "businessOrder": true
}
],
}
Use this endpoint to create new Sales orders in Zentail. Once the order is in our system, you can use Zentail to manage the status and any future changes.
In order to create custom orders in Zentail, you will need to associate them with a Custom Order Integration. Each account will automatically create one when you create your first custom order.
This default integration will be used if the integration ID is not provided.
In order to retrieve the integration ID for each custom store, you can use the GET /customStores
endpoint.
These Custom Order Integrations are really just placeholders and do not technically integrate with any external channels.
You can control how the order is handled in Zential by setting the status
value. Most new orders should be in either PENDING_PAYMENT
or PENDING
. See the table below for each status and what it means.
Currently the API only supports one status per order. Individual line items may have different statuses after the order is created by performing various actions in the Zentail UI.
Status | Explanation | Action |
---|---|---|
PENDING_PAYMENT | An order that has not yet had a verified payment. | Zentail will try to reserve the inventory for up to 30 days but not actually fulfill the order or purchase labels |
PENDING | A new order ready for fulfillment. | Zentail will route this order to a warehouse or warehouses and send a fulfillment order where applicable. |
SHIPPED | An order that has already been shipped. | Zentail will not take any action on an already shipped custom order. |
CANCELLED | An order that has been cancelled. | For new custom orders, Zentail will not take any action. |
RETURNED | An order that has been successfully returned. | None |
REFUNDED | An order that has been refunded. | None |
RETURN_REQUESTED | An order for which a return has been requested but not yet complete. | None |
Place all of the order details in a JSON object in the body of the request.
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | Default: [object Object] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Default: PENDING Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | If the order is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/salesOrder \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"channelOrderId":"string","integrationId":0,"orderTs":{},"customer_notes":"string","customerName":"string","customerEmail":"string","customerPhone":"string","marketplaceId":"string","shippingAddress":{"name":"string","company":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","postalCode":"string","phone":"string","email":"string","countryCode":"US","type":"string"},"billingAddress":{"name":"string","company":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","postalCode":"string","phone":"string","email":"string","countryCode":"US","type":"string"},"payment":0,"totalTax":0,"resellerCommission":0,"requestedServiceLevel":"string","status":"PENDING","products":[{"lineItemId":"string","SKU":"string","title":"string","quantity":0,"unitPrice":0,"tax":0,"shippingPrice":0,"giftWrapMessage":"string","giftWrapLevel":"string","earliestShipBy":"2019-08-24T14:15:22Z","latestShipBy":"2019-08-24T14:15:22Z","earliestDeliverBy":"2019-08-24T14:15:22Z","latestDeliverBy":"2019-08-24T14:15:22Z","requestedServiceLevel":"string"}]}'
{- "orderNumber": "string",
- "status": "PENDING",
- "cancellationReason": "string",
- "channel": "string",
- "channelLabel": "string",
- "channelOrderId": "string",
- "channelOrderReferenceNumber": "string",
- "customer_notes": "string",
- "marketplaceId": "string",
- "customerName": "string",
- "customerEmail": "string",
- "orderTs": "2019-08-24T14:15:22Z",
- "lastUpdatedTs": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string",
- "standardServiceLevel": "Standard",
- "shipBy": "2019-08-24T14:15:22Z",
- "accounting": {
- "payment": 0,
- "channelTax": 0,
- "resellerCommission": 0,
- "shippingCost": 0,
- "itemCost": 0,
- "totalCost": 0,
- "revenue": 0,
- "profit": 0,
- "margin": 0,
- "itemPrice": 0,
- "shippingPrice": 0,
- "refund": 0
}, - "shippingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "billingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "packages": [
- {
- "packageId": 0,
- "carrier": "string",
- "serviceLevel": "string",
- "cost": 0,
- "tracking": "string",
- "shippedTs": "2019-08-24",
- "rma": "string",
- "labelUrl": "string",
- "packageWeight": 0,
- "packageWeightUom": "string",
- "packageHeight": 0,
- "packageWidth": 0,
- "packageLength": 0,
- "products": [
- {
- "sku": "string",
- "lineItemId": "string",
- "quantity": 0
}
]
}
], - "products": [
- {
- "lineItemId": "string",
- "status": "PENDING",
- "requestedTitle": "string",
- "requestedSku": "string",
- "SKU": "string",
- "mpn": "string",
- "standard_product_id": "string",
- "title": "string",
- "quantity": 0,
- "routing_info": [
- {
- "warehouseId": 0,
- "warehouseUniqueId": "string",
- "quantity": 0,
- "assembledQuantity": 0,
- "kitComponents": [
- {
- "SKU": "string",
- "componentQuantity": 0
}
]
}
], - "cancelQuantity": "string",
- "shippedQuantity": "string",
- "unitPrice": 0,
- "cost": 0,
- "totalWeight": 0,
- "refund": "string",
- "refundReason": "string",
- "giftWrapMessage": "string",
- "giftWrapLevel": "string",
- "earliestShipBy": "2019-08-24T14:15:22Z",
- "latestShipBy": "2019-08-24T14:15:22Z",
- "earliestDeliverBy": "2019-08-24T14:15:22Z",
- "latestDeliverBy": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string"
}
], - "returnOrders": [
- {
- "returnOrderId": 0,
- "channelReturnId": "string",
- "requestTs": "2019-08-24T14:15:22Z",
- "returnItems": [
- {
- "returnOrderItemId": 0,
- "SKU": "string",
- "quantity": 0,
- "originalQuantity": 0,
- "refundAmount": 0
}
]
}
], - "fba": true,
- "prime": true,
- "businessOrder": true
}
Returns very detailed information about a sales order including accounting data, tracking/package data, line items for the sales order with the given Zentail Order Number
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Default: PENDING Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | If the order is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request GET \ --url https://api.zentail.com/v1/salesOrder/%7BorderNumber%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "orderNumber": "string",
- "status": "PENDING",
- "cancellationReason": "string",
- "channel": "string",
- "channelLabel": "string",
- "channelOrderId": "string",
- "channelOrderReferenceNumber": "string",
- "customer_notes": "string",
- "marketplaceId": "string",
- "customerName": "string",
- "customerEmail": "string",
- "orderTs": "2019-08-24T14:15:22Z",
- "lastUpdatedTs": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string",
- "standardServiceLevel": "Standard",
- "shipBy": "2019-08-24T14:15:22Z",
- "accounting": {
- "payment": 0,
- "channelTax": 0,
- "resellerCommission": 0,
- "shippingCost": 0,
- "itemCost": 0,
- "totalCost": 0,
- "revenue": 0,
- "profit": 0,
- "margin": 0,
- "itemPrice": 0,
- "shippingPrice": 0,
- "refund": 0
}, - "shippingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "billingAddress": {
- "name": "string",
- "company": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "phone": "string",
- "email": "string",
- "countryCode": "US",
- "type": "string"
}, - "packages": [
- {
- "packageId": 0,
- "carrier": "string",
- "serviceLevel": "string",
- "cost": 0,
- "tracking": "string",
- "shippedTs": "2019-08-24",
- "rma": "string",
- "labelUrl": "string",
- "packageWeight": 0,
- "packageWeightUom": "string",
- "packageHeight": 0,
- "packageWidth": 0,
- "packageLength": 0,
- "products": [
- {
- "sku": "string",
- "lineItemId": "string",
- "quantity": 0
}
]
}
], - "products": [
- {
- "lineItemId": "string",
- "status": "PENDING",
- "requestedTitle": "string",
- "requestedSku": "string",
- "SKU": "string",
- "mpn": "string",
- "standard_product_id": "string",
- "title": "string",
- "quantity": 0,
- "routing_info": [
- {
- "warehouseId": 0,
- "warehouseUniqueId": "string",
- "quantity": 0,
- "assembledQuantity": 0,
- "kitComponents": [
- {
- "SKU": "string",
- "componentQuantity": 0
}
]
}
], - "cancelQuantity": "string",
- "shippedQuantity": "string",
- "unitPrice": 0,
- "cost": 0,
- "totalWeight": 0,
- "refund": "string",
- "refundReason": "string",
- "giftWrapMessage": "string",
- "giftWrapLevel": "string",
- "earliestShipBy": "2019-08-24T14:15:22Z",
- "latestShipBy": "2019-08-24T14:15:22Z",
- "earliestDeliverBy": "2019-08-24T14:15:22Z",
- "latestDeliverBy": "2019-08-24T14:15:22Z",
- "requestedServiceLevel": "string"
}
], - "returnOrders": [
- {
- "returnOrderId": 0,
- "channelReturnId": "string",
- "requestTs": "2019-08-24T14:15:22Z",
- "returnItems": [
- {
- "returnOrderItemId": 0,
- "SKU": "string",
- "quantity": 0,
- "originalQuantity": 0,
- "refundAmount": 0
}
]
}
], - "fba": true,
- "prime": true,
- "businessOrder": true
}
Place all of the package details in a JSON object in the body of the request.
curl --request POST \ --url https://api.zentail.com/v1/salesOrder/shipments \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"packages":[{"orderNumber":0,"fulfillmentPackageId":"string","warehouseId":0,"warehouseUniqueId":"string","tracking":"string","carrier":"string","service_level":"string","weight":0,"height":0,"length":0,"width":0,"cost":0,"products":[{"sku":"string","quantity":0}],"shippedTs":{},"shippedFrom":{"name":"string","company":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","postalCode":"string","phone":"string","email":"string","countryCode":"US","type":"string"},"shippedTo":{"name":"string","company":"string","addressLine1":"string","addressLine2":"string","city":"string","state":"string","postalCode":"string","phone":"string","email":"string","countryCode":"US","type":"string"}}]}'
Name | Description |
---|---|
string* | Reason for cancellation. Validation for reasons can be found at https://developer.zentail.com/pages/cancelReasons.html |
array* | Provide a list of items to cancel |
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Default: PENDING Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | If the order is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/salesOrder/cancel/%7BorderNumber%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json' \ --data '{"reason":"string","products":[{"lineItemId":"string","cancelQuantity":0,"restockQuantities":[{"warehouseId":0,"quantity":0}]}]}'
Status | Description |
---|---|
200 success | Success |
Show common responses |
Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | Default: PENDING Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | If the order is | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
string* | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Show More |
curl --request POST \ --url https://api.zentail.com/v1/salesOrder/markPaid/%7BorderNumber%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Returns the ID, name, lead time, payment window, notes, and address associated with the vendor requested.
curl --request GET \ --url https://api.zentail.com/v1/vendor/%7Bid%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
Returns a list of all Warehouses associated with this account. Warehouse IDs should be used when updating inventory using the API.
If the canUpdateInventory
field is false
you cannot use that warehouse to update inventory through the API. This is normally caused by warehouses that are managed by other inventory integrations, such as FBA or another third party logistics company.
curl --request GET \ --url https://api.zentail.com/v1/warehouses \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'
{- "results": [
- {
- "warehouseId": 0,
- "warehouseUniqueId": "string",
- "canUpdateInventory": true,
- "name": "string"
}
]
}
Returns the ID, name, and address of the warehouse requested.
Status | Description |
---|---|
200 success | Success |
Show common responses |
curl --request GET \ --url https://api.zentail.com/v1/warehouse/%7Bid%7D \ --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \ --header 'content-type: application/json'