Skip to content
ToolsOnDuty - free online tools
Browse documentation

Reference / Fulfilment

Fulfilment API

3 endpoints for fulfilment workflows. Every call requires bearer authentication and uses the standard ToolsOnDuty response envelope.

Try it

Runs a real request from your browser to your own ToolsOnDuty account. Your key is only kept in this page and is never stored.

POST/v1/fulfilment/dimensional-weight1 credit / call

Dimensional weight

Calculate package volume, dimensional weight and the larger billable planning weight using an entered divisor.

ParameterTypeRequiredDescription
lengthnumberYesExternal package length.
widthnumberYesExternal package width.
heightnumberYesExternal package height.
actualWeightnumberYesActual packed weight.
divisornumberYesCarrier dimensional-weight divisor.
quantitynumberNoNumber of identical packages. Default: 1.

Request

curl -X POST https://toolsonduty.com/api/v1/fulfilment/dimensional-weight \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{"length":40,"width":30,"height":20,"actualWeight":4.2,"divisor":5000,"quantity":3}'

Response

{
  "ok": true,
  "data": {
    "dimensionalWeight": 4.8,
    "billableWeight": 4.8,
    "totalBillableWeight": 14.4
  }
}
POST/v1/fulfilment/cost1 credit / call

Fulfilment cost

Calculate receiving, pick-pack, packaging, shipping, returns and fixed fulfilment costs per order and unit.

ParameterTypeRequiredDescription
ordersnumberYesOrders in the modeled period.
unitsPerOrdernumberYesAverage units per order.
receivingPerUnitnumberNoReceiving cost per unit. Default: 0.
pickPackPerOrdernumberNoFirst-unit pick and pack cost per order. Default: 0.
additionalUnitFeenumberNoPick fee for each unit above the first. Default: 0.
packagingPerOrdernumberNoPackaging cost per order. Default: 0.
shippingPerOrdernumberNoShipping cost per order. Default: 0.
storageMonthlynumberNoStorage cost in the modeled period. Default: 0.
softwareMonthlynumberNoSoftware or account cost in the modeled period. Default: 0.
returnRatenumberNoExpected return rate percentage (0-100). Default: 0.
returnProcessingCostnumberNoProcessing cost per returned order. Default: 0.

Request

curl -X POST https://toolsonduty.com/api/v1/fulfilment/cost \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{"orders":800,"unitsPerOrder":1.4,"receivingPerUnit":0.35,"pickPackPerOrder":2.5,"additionalUnitFee":0.55,"packagingPerOrder":0.8,"shippingPerOrder":6.4,"storageMonthly":280,"softwareMonthly":90,"returnRate":6,"returnProcessingCost":4.5}'

Response

{
  "ok": true,
  "data": {
    "totalCost": 8914,
    "costPerOrder": 11.1425
  }
}
POST/v1/fulfilment/feed-completeness1 credit / call

Product feed completeness

Parse a CSV feed and report missing required headers, empty required values, duplicate IDs and row completeness.

ParameterTypeRequiredDescription
csvstringYesProduct feed CSV text.
requiredHeadersstringNoComma- or newline-separated required header names. Default: id,title,price,availability,link,image_link.

Request

curl -X POST https://toolsonduty.com/api/v1/fulfilment/feed-completeness \
  -H "Authorization: ******" \
  -H "Content-Type: application/json" \
  -d '{"csv":"id,title,price\nSKU-1,Travel Bottle,29.00\nSKU-2,,24.00","requiredHeaders":"id,title,price"}'

Response

{
  "ok": true,
  "data": {
    "completeRows": 1,
    "duplicateIds": [],
    "missingHeaders": []
  }
}