콘텐츠로 이동

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 <token> 형식의 Bearer 인증 헤더입니다. <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
}
]
}
}