A fulfillment connector mostly works with Shipping Requests going out of Pipe17 and Fulfillments, Inventory and Locations coming in. The records below are the ones you will touch.
| Record | API path | What it is | Typical 3PL direction |
|---|---|---|---|
| Order | /orders |
The original sales order from a selling channel, with prices and customer details | Usually not touched by a 3PL |
| Shipping Request (also called Shipment) | /shipping_requests |
The instruction to ship some or all of an order's line items from one location. Pipe17 creates it after routing the order | Out of Pipe17, into your system |
| Fulfillment | /fulfillments |
Proof that items shipped: quantities, tracking numbers, carrier. Immutable once created | Into Pipe17 |
| Inventory | /inventory |
Stock levels per SKU per location (on hand, committed, available) | Into Pipe17 |
| Product | /products |
The catalog: SKUs, names, dimensions, barcodes | Out of Pipe17, into your system |
| Location | /locations |
A warehouse or other place stock is held and orders ship from | Into Pipe17 |
| Integration | /integrations |
Your connector's record in Pipe17: its flows, settings and status | Read by your connector |
| Exception | /exceptions |
A problem flagged on a record, shown to users in the app | Written by your connector when something fails |
| Arrival | /arrivals |
Advance notice of stock on its way to a location (a purchase order or transfer, often called an ASN) | Out of Pipe17, into your system |
| Receipt | /receipts |
What was actually received against an arrival | Into Pipe17 |
| Return | /returns |
Items a customer is sending back, and what was received | Out of Pipe17, then receipts back in |
Directions. Pipe17 describes every flow from Pipe17's side. An in flow means your connector writes into Pipe17 (for example fulfillments.in). An out flow means your connector reads from Pipe17 (for example shipments.out). Each flow has an on/off setting in the app, and your connector must respect it.
One record, three names. A Shipping Request is the entity shipments (in settings like shipments.out, webhook topics and exceptions), the API path /shipping_requests, and the ID field shipmentId. All three mean the same record.
IDs on both sides. Every Pipe17 record has a Pipe17 ID (shipmentId, fulfillmentId, locationId…). Most records also carry fields for your system's ID, such as extShipmentId, extReferenceId, extFulfillmentId and extOrderId. Write your ID into these fields whenever you create or update a record, and keep your own mapping as well (Chapter 4).
Shipping Request status is the field your connector reads and moves forward most often:
| Status | Meaning for your connector |
|---|---|
readyForFulfillment |
Ready to be sent to your system. Pick these up |
sentToFulfillment |
Your system has accepted it. Set this after you create it on your side |
partialFulfillment |
Some line items have shipped |
fulfilled |
All line items have shipped |
onHold, reviewRequired, pendingInventory, pendingShippingLabel
|
Not ready yet. Do not ship |
canceled, canceledRestock
|
Canceled. Stop work in your system if you still can |
failed |
Could not be fulfilled |
The full list of statuses and fields for every record is in the API reference.
Need Help?
If you need additional assistance:
- Use Ask Pippen, our AI agent, located at the top of the app page.
- Submit a support request with as much relevant detail as possible. Learn how to submit a request.
We're here to help you succeed with your operations.
Refer to this guide on how to integrate using API base connection.
Comments
0 comments