Перейти к содержимому

Get a sales order by order number

Looks up a sales order by order number and returns the same payload as the by-id endpoint.

Whitespace is ignored and letters are uppercased.

GEThttps://rest.boxhero-app.com/v1/sales-orders/by-number/{order_number}
Authorizationstringобязательный

Заголовок аутентификации Bearer в формате Bearer <token>, где <token> — ваш API-токен.

order_numberstringобязательный

Order number. Whitespace is ignored and letters are uppercased. Use only letters, numbers, hyphens, and underscores.

200The requested sales order.
itemSalesOrderобязательный

A sales order with lines, per-line sales-return totals, per-item fulfillment progress, linked transactions, and custom fields.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Order id.

order_numberstringобязательный

Order number.

order_timestringdate-timeобязательный

Order date/time.

estimated_timestringdate-time, nullableобязательный

Estimated fulfillment date/time.

statusstringобязательный

Order status. Purchase and sales orders may also be draft.

Возможные значенияdraftconfirmedin-progressdone

partnerEntitynullableобязательный

Supplier for purchase orders or customer for sales orders.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Id of the referenced entity.

namestringобязательный

Display name of the entity at the time the transaction was recorded.

deletedbooleanобязательный

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

total_pricestringобязательный

Cached order total as a decimal string: the sum of the line totals plus any additional costs. Does not equal the sum of items[].total when the order carries costs.

currency_codestringnullableобязательный

ISO currency code, or null when unset.

memostringобязательный

Free-text memo. Empty string when not set.

revisionintegerminimum -9007199254740991, maximum 9007199254740991обязательный

Optimistic-concurrency version.

created_byEntityобязательный

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Id of the referenced entity.

namestringобязательный

Display name of the entity at the time the transaction was recorded.

deletedbooleanобязательный

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

created_atstringdate-timeобязательный

Server-side creation timestamp.

updated_atstringdate-timeобязательный

Last edit timestamp, or creation timestamp when never edited.

urlstringuriобязательный

Web URL to view this order in the BoxHero app.

tagsarray of stringобязательный

Read-only tags parsed from the memo.

custom_fieldsarray of objectобязательный

Ordered custom field name-value pairs.

Показать свойства
namestringобязательный
valuestringобязательный
itemsarray of SalesOrderLineобязательный

Detailed order lines, including per-line sales-return totals.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Order line id.

rankintegerminimum -9007199254740991, maximum 9007199254740991обязательный

Line rank in the order.

itemExtendedItemEntitynullableобязательный

Set when the line references a single item.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Item or bundle id.

namestringобязательный

Display name.

skustringобязательный

SKU. Empty string when unset.

barcodestringобязательный

Barcode. Empty string when unset.

deletedbooleanобязательный

Whether the underlying item or bundle is deleted.

bundleExtendedItemEntitynullableобязательный

Set when the line references a bundle.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Item or bundle id.

namestringобязательный

Display name.

skustringобязательный

SKU. Empty string when unset.

barcodestringобязательный

Barcode. Empty string when unset.

deletedbooleanобязательный

Whether the underlying item or bundle is deleted.

pricestringобязательный

Unit price as stored on the line.

quantitynumberобязательный

Quantity. May include up to four decimal places in core data.

tax_namestringnullableобязательный

Tax name, or null when no tax is applied.

tax_ratestringnullableобязательный

Tax rate as a percentage string.

tax_inclusivebooleannullableобязательный

Whether the stored line price includes tax.

discount_namestringnullableобязательный

Discount name, or null when no discount is applied.

discount_typestringnullableобязательный

Discount type. "percent" is a 0-100 percentage; "amount" is an absolute amount.

Возможные значенияpercentamount

discount_valuestringnullableобязательный

Discount percentage or absolute amount.

subtotalstringобязательный

price * quantity before discount and tax.

discount_amountstringобязательный

Discount amount applied to this line.

tax_amountstringобязательный

Inclusive plus exclusive tax amount for this line.

totalstringобязательный

Final line total after discount and exclusive tax.

return_quantitynumberобязательный

Quantity already returned across this order’s sales returns.

return_amountstringобязательный

Amount already returned across this order’s sales returns.

costsarray of OrderCostобязательный

Additional costs attached to the order, ordered by rank. Included in total_price but not in any items[] figure.

Показать свойства
namestringобязательный

Cost name.

amountstringобязательный

Cost amount. Negative for a deduction such as a prepayment. Additional costs carry no tax or discount, so the amount is the final value.

rankintegerminimum -9007199254740991, maximum 9007199254740991обязательный

Cost rank in the order.

tx_itemsarray of FulfillmentTxItemобязательный

Per-item fulfillment progress. Bundle lines are exploded and duplicate items are collapsed.

Показать свойства
itemExtendedItemEntityобязательный

Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Item or bundle id.

namestringобязательный

Display name.

skustringобязательный

SKU. Empty string when unset.

barcodestringобязательный

Barcode. Empty string when unset.

deletedbooleanобязательный

Whether the underlying item or bundle is deleted.

ordered_quantitynumberобязательный

Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.

fulfilled_quantitynumberобязательный

Absolute quantity already fulfilled or received for this item.

pending_quantitynumberобязательный

Remaining quantity for this item, clamped to zero when over-fulfilled.

transactionsarray of OrderTransactionSummaryобязательный

Inventory transactions linked to this order.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Location transaction id.

typestringобязательный

Fulfillment direction of an order-linked transaction.

Возможные значенияinout

transaction_timestringdate-timeобязательный

Effective transaction time.

to_locationEntityобязательный

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Показать свойства
idintegerminimum 0, maximum 2147483647обязательный

Id of the referenced entity.

namestringобязательный

Display name of the entity at the time the transaction was recorded.

deletedbooleanобязательный

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

count_of_itemsintegerminimum 0, maximum 9007199254740991обязательный
total_quantitynumberобязательный

Quantity. May include up to four decimal places in core data.

401Missing or invalid API token.
idstringобязательный

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringобязательный

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Возможные значения/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringобязательный

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
404No sales order with the given order number was found in this team.
idstringобязательный

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringобязательный

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Возможные значения/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringобязательный

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный
429Rate limit exceeded. Check RateLimit, Retry-After, and X-RateLimit-* response headers before retrying.
idstringобязательный

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringобязательный

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Возможные значения/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringобязательный

Human-readable summary of the error, in English.

correlationIDstringобязательный

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. Pass an X-Correlation-Id request header to thread your trace through to ours.

instancestringобязательный

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on /errors/invalid-request (400) responses. Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Показать свойства
patharray of string | numberобязательный
messagestringобязательный

Запрос

Terminal window
curl --request GET \
--url 'https://rest.boxhero-app.com/v1/sales-orders/by-number/{order_number}' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN"

Ответ

{
"item": {
"id": 90201,
"order_number": "SO-2001",
"order_time": "2026-01-15T09:30:00.000Z",
"estimated_time": "2026-01-20T00:00:00.000Z",
"status": "confirmed",
"partner": {
"id": 431488,
"name": "Northwind Retail",
"deleted": false
},
"total_price": "2187.56",
"currency_code": "USD",
"memo": "",
"revision": 3,
"created_by": {
"id": 1001,
"name": "John Smith",
"deleted": false
},
"created_at": "2026-01-15T09:30:00.000Z",
"updated_at": "2026-01-15T09:30:00.000Z",
"url": "https://app.boxhero-app.com/sales-orders/90201",
"tags": [
"wholesale"
],
"custom_fields": [],
"items": [
{
"id": 700201,
"rank": 0,
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"bundle": null,
"price": "19.99",
"quantity": 100,
"tax_name": null,
"tax_rate": null,
"tax_inclusive": null,
"discount_name": null,
"discount_type": null,
"discount_value": null,
"subtotal": "1999.00",
"discount_amount": "0.00",
"tax_amount": "0.00",
"total": "1999.00",
"return_quantity": 5,
"return_amount": "99.95"
},
{
"id": 700202,
"rank": 1,
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"bundle": null,
"price": "12.50",
"quantity": 20,
"tax_name": "Sales Tax",
"tax_rate": "8.25",
"tax_inclusive": false,
"discount_name": "Volume discount",
"discount_type": "percent",
"discount_value": "10",
"subtotal": "250.00",
"discount_amount": "25.00",
"tax_amount": "18.56",
"total": "243.56",
"return_quantity": 0,
"return_amount": "0.00"
}
],
"costs": [
{
"name": "Shipping fee",
"amount": "45.00",
"rank": 0
},
{
"name": "Prepayment",
"amount": "-100.00",
"rank": 1
}
],
"tx_items": [
{
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"ordered_quantity": 100,
"fulfilled_quantity": 60,
"pending_quantity": 40
},
{
"item": {
"id": 14290446,
"name": "Hydrating Face Toner",
"sku": "SKU-12345679",
"barcode": "2097678335588",
"deleted": false
},
"ordered_quantity": 20,
"fulfilled_quantity": 20,
"pending_quantity": 0
}
],
"transactions": [
{
"id": 14012345,
"type": "out",
"transaction_time": "2026-01-16T11:00:00.000Z",
"to_location": {
"id": 47041,
"name": "Warehouse",
"deleted": false
},
"count_of_items": 1,
"total_quantity": 100
}
]
}
}