Zentail API (v1)

Welcome to the Zentail API

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.

Server

URL
https://api.zentail.com/v1

Authentication

zentail_auth

Security Scheme Type API Key
Header parameter name: AUTHORIZATION

Import

Queue validation for CSV import

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.

Path Parameters

NameDescription
importDefinitionId
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: <type>:<integration ID>:<template ID> (e.g. "TemplatelessProduct::", "TemplatedProduct::35", "FullProductData:4:", "Kits::")

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
import_validation_id
number*
supplied_headers
array*
actual_headers
array*
first_10_rows
array*
Shell + Curl
Send
curl --request POST \
  --url https://api.zentail.com/v1/import/validation/%7BimportDefinitionId%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Retrieve the results of validation using the validationID

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.

Path Parameters

NameDescription
validationID
number*

Validation ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
status
string*
data_rows_processed
number*
previews
array*
validation_result_groups
array*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/import/validation/results/%7BvalidationID%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

InboundShipment

Inbound shipment info

Returns the status, vendor, warehouse, and delivery info associated with the inbound shipment requested.

Path Parameters

NameDescription
id
number*

Inbound shipment ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
inbound_shipment_id
number*

A unique identifier for this inbound shipment.

status
string*
vendor_name
string*
destination_warehouse_name
string*
Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/inbound-shipment/%7Bid%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Create inbound shipments in Zentail

Create an inbound shipment in Zentail from a set of product information. Must include status, vendor name, destination warehouse, and purchase order number.

Request body schema

Place all of the inbound shipment details in a JSON object in the body of the request.

NameDescription
inbound_shipment_products
array*
status
string

The status of the inbound shipment.

Possible Values: PENDING, SHIPPED, RECEIVED, PARTIALLY_RECEIVED OR CANCELLED
vendor_name
string
destination_warehouse_id
integer
Show More

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
inbound_shipment_id
number*

A unique identifier for this inbound shipment.

status
string*
vendor_name
string*
destination_warehouse_name
string*
Show More
Shell + Curl
Send
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"}'
Was this section helpful? Yes No

Inbound shipment info

Returns the status, vendor, warehouse, and delivery info associated with the inbound shipments.

Query Parameters

NameDescription
purchase_order_number
string

If provided, only inbound shipments with the given Purchase Order Number will be included.

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
inbound_shipment_id
number*

A unique identifier for this inbound shipment.

status
string*
vendor_name
string*
destination_warehouse_name
string*
Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/inbound-shipment \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Cancel inbound shipments in Zentail

Cancel inbound shipments in Zentail. Must include the inbound shipment id.

Path Parameters

NameDescription
id
number*

Inbound shipment ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
inbound_shipment_id
number*

A unique identifier for this inbound shipment.

status
string*
vendor_name
string*
destination_warehouse_name
string*
Show More
Shell + Curl
Send
curl --request POST \
  --url https://api.zentail.com/v1/inbound-shipment/%7Bid%7D/cancel \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Integration

Retrieve a list of Custom Order Integrations

Returns information about all of the integrations which can be used to upload orders into Zentail using the API, file upload or UI.

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/customStores \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ]
}
Was this section helpful? Yes No

Listing

Retrieve a list of listings

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.

Query Parameters

NameDescription
lastUpdateTs
string

If provided, only returns listings with an updated TS greater than the provided timestamp

skus
array

If provided, only listings with the given skus will be included.

pageLength
integer

Passing this will return the number of Listings specified, otherwise defaults to 25.

nextToken
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.

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
pagination
object*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/listing \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ],
  • "pagination": {}
}
Was this section helpful? Yes No

Retrieve a specific listing

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.

Path Parameters

NameDescription
listingid
string*

Listing ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
id
string*

A unique identifier for this listing.

sku
string*

SKU which references the entire listing

title
string*

A "group-level" title, applies to the entire listing

description
string*

A description which applies to the entire listing

Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/listing/%7Blistingid%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Create Listing Statuses

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.

Request body schema

NameDescription
listing_id
string*
sku
string*
status
string*
Possible Values: PUBLISHED, UNPUBLISHED OR SUPPRESSED
listing_url
string*
Show More

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
errors
array*
Shell + Curl
Send
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"}]}'
Was this section helpful? Yes No

Inventory

Retrieve total avaiable quantity across warehouses for a SKU

Returns the total quantity of this SKU available in all warehouses

Path Parameters

NameDescription
SKU
string*

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
SKU
string*

SKU value is the unique identifier for a product in Zentail.

standardProductId
string*

Depending on the type defined in standardProductIdType this field contains either the UPC, EAN, ISBN, or GTIN for this product.

active
boolean*
standardProductIdType
string*

One of UPC, EAN, ISBN or GTIN.

Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/simpleInventory/%7BSKU%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "SKU": "string",
  • "standardProductId": "string",
  • "active": true,
  • "standardProductIdType": "string",
  • "totalAvailableQuantity": 0,
  • "lastInventoryUpdateTs": "2019-08-24T14:15:22Z"
}
Was this section helpful? Yes No

Retrieve detailed inventory data for a SKU

Returns available quantity for the SKU in all warehouses, and inbound inventory data.

Path Parameters

NameDescription
SKU
string*

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
SKU
string*
active
boolean*
standardProductId
string*

Depending on the type defined in standardProductIdType this field contains either the UPC, EAN, ISBN, or GTIN for this product.

standardProductIdType
string*

One of UPC, EAN, ISBN or GTIN.

Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/inventory/%7BSKU%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "SKU": "string",
  • "active": true,
  • "standardProductId": "string",
  • "standardProductIdType": "string",
  • "totalAvailableQuantity": 0,
  • "warehouses": [
    ],
  • "lastInventoryUpdateTs": "2019-08-24T14:15:22Z"
}
Was this section helpful? Yes No

Retrieve detailed inventory data

Retrieve inventory data for skus with various filters. One of lastUpdatedTs, skus, warehouses is required to be passed in as a parameters.

Query Parameters

NameDescription
activeOnly
boolean
lastUpdatedTs
string

Providing lastUpdateTs returns inventory for all SKUs updated after that timestamp.

skus
array

If a list of skus is provided, lastUpdatedTs and warehouses is ignored.

isCaseSensitive
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

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
errors
array*
pagination
object*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/inventory \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ],
  • "errors": [
    ],
  • "pagination": {}
}
Was this section helpful? Yes No

Modify, Update inventory data

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.

Request body schema

Provide the pulled_ts, warehouseName, and the items(Up to 50 skus per call)

NameDescription
products
array*
validAsOf
string

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
Array of
NameDescription
SKU
string*

SKU value is the unique identifier for a product in Zentail.

standardProductId
string*

Depending on the type defined in standardProductIdType this field contains either the UPC, EAN, ISBN, or GTIN for this product.

standardProductIdType
string*

One of UPC, EAN, ISBN or GTIN.

active
boolean*
Show More
Shell + Curl
Send
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"}'
Response
[
  • {
    }
]
Was this section helpful? Yes No

Report

Retrieve data for report

Retrieve report data for the supplied reportId.

Path Parameters

NameDescription
reportId
integer*

You can find the reportId in the response to posting a new Report, in a report GET response, or in the import/export UI.

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
reportId
integer*
label
string*
isExport
boolean*

If true, this is an export. Otherwise it's an import.

requestedTs
string*

Timestamp when the report was requested to be run.

Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/report/%7BreportId%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "reportId": 0,
  • "label": "string",
  • "isExport": false,
  • "requestedTs": "2019-08-24T14:15:22Z",
  • "completedTs": "2019-08-24T14:15:22Z",
  • "columnTypes": [
    ],
  • "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"
}
Was this section helpful? Yes No

Retrieve data for report(s)

This returns a list of Reports (most recent reports first).

Query Parameters

NameDescription
createdTs
string

Passing this will only return reports created after createdTs.

pageLength
integer

Passing this will return the number of Reports specified in pageLength

nextToken
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.

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
pagination
object*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/report \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ],
  • "pagination": {}
}
Was this section helpful? Yes No

Create a report to be processed

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:'.

Import

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'.

Export

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

Request body schema

Details of the report to be created

NameDescription
label
string*

Assigns a label to this report.

isExport
boolean*

If true, this is an export. Otherwise it's an import.

data
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).

extension
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

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
reportId
integer*
label
string*
isExport
boolean*

If true, this is an export. Otherwise it's an import.

requestedTs
string*

Timestamp when the report was requested to be run.

Show More
Shell + Curl
Send
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}'
Response
{
  • "reportId": 0,
  • "label": "string",
  • "isExport": false,
  • "requestedTs": "2019-08-24T14:15:22Z",
  • "completedTs": "2019-08-24T14:15:22Z",
  • "columnTypes": [
    ],
  • "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"
}
Was this section helpful? Yes No

SalesOrder

Retrieve detailed Sales Order information for a list of orders

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.

Query Parameters

NameDescription
lastUpdatedTs
string

If provided, only orders with a last updated timestamp greater than or equal to the one provided (inclusive) will be included.

status
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
channelOrderIds
array

If provided, only orders with the given Channel Order Ids will be included.

orderTs
string

If provided, only orders with a timestamp greater than or equal to the one provided (inclusive) will be included.

Show More

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
pagination
object*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/salesOrder \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ],
  • "pagination": {}
}
Was this section helpful? Yes No

Create new Sales Orders in Zentail

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.

Integration ID

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.

Order Statuses

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.

StatusExplanationAction
PENDING_PAYMENTAn 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
PENDINGA new order ready for fulfillment.Zentail will route this order to a warehouse or warehouses and send a fulfillment order where applicable.
SHIPPEDAn order that has already been shipped.Zentail will not take any action on an already shipped custom order.
CANCELLEDAn order that has been cancelled.For new custom orders, Zentail will not take any action.
RETURNEDAn order that has been successfully returned.None
REFUNDEDAn order that has been refunded.None
RETURN_REQUESTEDAn order for which a return has been requested but not yet complete.None

Request body schema

Place all of the order details in a JSON object in the body of the request.

NameDescription
channelOrderId
string*
integrationId
number
orderTs
string
Default: [object Object]
customer_notes
string
Show More

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
orderNumber
string*
status
string*
Default: PENDING
Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED
cancellationReason
string*

If the order is CANCELLED this will provide the reason for the cancellation.

channel
string*
Show More
Shell + Curl
Send
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"}]}'
Response
{
  • "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": {
    },
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "packages": [
    ],
  • "products": [
    ],
  • "returnOrders": [
    ],
  • "fba": true,
  • "prime": true,
  • "businessOrder": true
}
Was this section helpful? Yes No

Get detailed Sales Order information

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

Path Parameters

NameDescription
orderNumber
number*

Zentail Order Number

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
orderNumber
string*
status
string*
Default: PENDING
Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED
cancellationReason
string*

If the order is CANCELLED this will provide the reason for the cancellation.

channel
string*
Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/salesOrder/%7BorderNumber%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "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": {
    },
  • "shippingAddress": {
    },
  • "billingAddress": {
    },
  • "packages": [
    ],
  • "products": [
    ],
  • "returnOrders": [
    ],
  • "fba": true,
  • "prime": true,
  • "businessOrder": true
}
Was this section helpful? Yes No

Create packages to Sales Orders in Zentail

Request body schema

Place all of the package details in a JSON object in the body of the request.

NameDescription
packages
array*

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
orderDetails
array*
errors
array*
Shell + Curl
Send
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"}}]}'
Was this section helpful? Yes No

Cancel Sales Order in Zentail

Path Parameters

NameDescription
orderNumber
number*

Zentail Order Number

Request body schema

NameDescription
reason
string*

Reason for cancellation. Validation for reasons can be found at https://developer.zentail.com/pages/cancelReasons.html

products
array*

Provide a list of items to cancel

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
orderNumber
string*
status
string*
Default: PENDING
Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED
cancellationReason
string*

If the order is CANCELLED this will provide the reason for the cancellation.

channel
string*
Show More
Shell + Curl
Send
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}]}]}'
Was this section helpful? Yes No

Mark Order Paid in Zentail

Path Parameters

NameDescription
orderNumber
number*

Zentail Order Number

Query Parameters

NameDescription
paidTs
string

Timestamp at which the order was paid for, defaults to when the api call is performed

Default: [object Object]

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
orderNumber
string*
status
string*
Default: PENDING
Possible Values: PENDING_PAYMENT, PENDING, PARTIALLY_SHIPPED, SHIPPED, CANCELLED, RETURNED, REFUNDED OR RETURN_REQUESTED
cancellationReason
string*

If the order is CANCELLED this will provide the reason for the cancellation.

channel
string*
Show More
Shell + Curl
Send
curl --request POST \
  --url https://api.zentail.com/v1/salesOrder/markPaid/%7BorderNumber%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Vendor

Vendor info

Returns the ID, name, lead time, payment window, notes, and address associated with the vendor requested.

Path Parameters

NameDescription
id
number*

Vendor ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
vendor_id
number*

A unique identifier for this vendor.

name
string*
lead_time
number*
payment_window
number*
Show More
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/vendor/%7Bid%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No

Warehouse

Retrieve a list of all Warehouses

Returns a list of all Warehouses associated with this account. Warehouse IDs should be used when updating inventory using the API.


Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
results
array*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/warehouses \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Response
{
  • "results": [
    ]
}
Was this section helpful? Yes No

Warehouse name and address information

Returns the ID, name, and address of the warehouse requested.

Path Parameters

NameDescription
id
number*

Warehouse ID

Responses

StatusDescription
200 successSuccess
Show common responses
Response Schema
NameDescription
warehouse_id
number*

A unique identifier for this warehouse, should be used when updating inventory through the API.

warehouseUniqueId
string*

Unique identifier for the warehouse as recognized by the application.

name
string*
address
object*
Shell + Curl
Send
curl --request GET \
  --url https://api.zentail.com/v1/warehouse/%7Bid%7D \
  --header 'AUTHORIZATION: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json'
Was this section helpful? Yes No