Overview
Dropship Overview
Understand the Dropship model, lifecycle, and two-portal architecture
EDI Reference
Review the EDI message set used in Dropship integrations
- Retrieve EDI 850 Purchase Order — converts a shipment into a fully mapped EDI 850 Purchase Order transaction set (returned as JSON), suitable for sending to a vendor over an EDI integration.
- Translate Shipment — converts the same shipment into a lightweight JSON payload containing vendor SKU mappings and contracted pricing, suitable for a vendor portal or a custom API integration.
shipmentNumber and resolve everything else — the vendor, the SKU mappings, the contracted prices, and the ship-to address — from the platform. The shipmentNumber is the Kibo Admin shipment number, which is the same value surfaced to vendors as the PO Number in the Vendor Portal.
These endpoints are the programmatic equivalent of the EDI and API integration modes a vendor selects during onboarding. For the operator- and vendor-facing UI workflows, see the user guides linked at the bottom of this page.
How This Domain Fits Into Kibo
Dropship runs natively on the Kibo platform and reuses the order routing, fulfillment, location, and pricing services rather than a separate system. When the order routing engine assigns part of an order to a vendor’s location, it creates a shipment against that fulfillment location. These endpoints operate on that shipment:
Because both endpoints derive the vendor from the shipment’s fulfillment location, a location with no matching vendor mapping cannot be translated or converted to an EDI 850.
Prerequisites
- A Kibo bearer token (JWT). Both endpoints require authorization satisfying the order update or order fulfillment behavior. The Translate Shipment endpoint additionally enforces vendor-scoped authorization.
- The tenant must be enabled for Drop Ship. Both endpoints reject the request with a conflict error if it is not.
- A shipment that exists and whose
fulfillmentLocationCodemaps to a configured vendor. - Vendor SKU mappings configured for the items you expect to receive vendor SKUs and contracted prices for (see Manage Vendors).
/commerce/dropship).
Retrieve EDI 850 Purchase Order
Converts a shipment into an EDI 850 Purchase Order transaction set, returned as JSON. Endpoint:GET /commerce/dropship/purchaseorder/{shipmentNumber} — API reference
What the service does
- Verifies the tenant is enabled for Drop Ship.
- Fetches the shipment from the Fulfillment service.
- Validates the shipment (see Validation rules).
- Resolves the vendor from the shipment’s fulfillment location.
- Maps the shipment to a complete EDI 850 transaction set and returns it.
Response: EDI 850 transaction set
The response body is aTransactionSet. The service populates the following segments — segments not listed are part of the EDI 850 schema but are not currently emitted:
The JSON property names preserve the original EDI loop casing — for example
n1_loop, pO1_loop, and ctT_loop. Refer to the API reference for the complete schema.currency is omitted when the shipment has no currency code, and dateTimeReference is omitted when there is no expected delivery date). The endpoint does not impose its own length limits; element lengths follow the source data and the X12 850 standard.
Example
Validation rules
The shipment must satisfy all of the following or the request fails with a validation error:- The shipment exists.
- The shipment has a shipment number.
- The shipment has an
orderId. - The shipment contains at least one item.
- The shipment destination has an address.
Translate Shipment
Converts a shipment into a lightweight payload with vendor SKU mappings and contracted pricing per item. Use this when you want the vendor-relevant view of a shipment without the full EDI 850 structure. Endpoint:GET /commerce/dropship/translate/{shipmentNumber} — API reference
This endpoint enforces vendor-scoped authorization in addition to the order behaviors, so it is appropriate for vendor-facing integrations.
What the service does
- Verifies the tenant is enabled for Drop Ship.
- Fetches the shipment from the Fulfillment service.
- Resolves the vendor from the shipment’s fulfillment location.
- For each item, looks up the vendor SKU mapping (by variation product code, falling back to the base product code) and attaches the vendor SKU, contracted price, and per-item subtotal.
- Computes the shipment subtotal from the items that have a contracted price.
- Extracts the ship-to address from the shipment destination.
If an item has no vendor SKU mapping, its
vendorSku, vendorContractedPrice, and subtotal are returned as null rather than failing the request. Those items are also excluded from the shipment-level subtotal.Response fields
The response imposes no maximum length on string fields; values reflect the underlying shipment, catalog, and vendor data. The Nullable column indicates whether the field may benull or absent.
shippingAddress object — every field is a nullable string (each is omitted from the source data when not set):
Each entry in
items:
Example
Error handling
For the Translate Shipment endpoint, a missing vendor SKU mapping on an individual item is not an error — the vendor-specific fields on that item are returned as
null.

