Contents
Summary
This article documents the field-level mapping for creating orders in ShipBob from iPaaS.com transactions. When a transaction is transferred, the integration builds a ShipBob fulfillment order from the recipient details, shipping method, and order reference resolved from the iPaaS.com transaction, then submits it to ShipBob so the order can be picked, packed, and shipped.
The order is created in a single write. Its line-item products and its recipient shipping address are supplied by two child collections that transfer as part of the same order-creation call: Add ShipBob Order Products FROM iPaaS.com and Add ShipBob Order Recipient Address FROM iPaaS.com. The business outcome is a ShipBob order that mirrors the iPaaS.com transaction, carrying the recipient, shipping method, and products ShipBob needs for fulfillment.
This documentation covers the Order parent collection and both of its children:
Add ShipBob Order FROM iPaaS.com (parent)
Add ShipBob Order Products FROM iPaaS.com (child)
Add ShipBob Order Recipient Address FROM iPaaS.com (child)
ID Format
Manual Sync identifier. Manual Sync is available from the iPaaS.com Manual Sync page for the parent Order collection. Enter the iPaaS.com transaction identifier for the order you want to send to ShipBob. For example, 288.
External identifier saved after sync. After a successful transfer, iPaaS.com stores the ShipBob order identifier as the external ID on a dedicated external-ID record. The external identifier follows the format {{id}}, which is the numeric ShipBob order id returned when the order is created (for example, 425371). This link routes any subsequent activity for the same transaction to the existing ShipBob order rather than creating a duplicate.
The two child collections do not carry their own Manual Sync identifier or external-ID link. Products and the recipient address transfer only as part of the parent order; to re-send an order and its children, use the parent Order collection's Manual Sync entry point.
Deleted Record Support
Not supported. This is a create-only flow. The Order collection creates orders in ShipBob from iPaaS.com transactions; it does not delete, cancel, or otherwise remove existing ShipBob orders. There is no delete behavior for the parent or either child collection.
Custom Field Support
The recipient email and recipient phone number can optionally be sourced from address custom fields on the iPaaS.com transaction's address, rather than from the standard address email and phone fields.
The recipient email can be read from an address custom field named ShipBob Recipient Email. The default email formula uses the transaction email; a commented alternative in the formula reads the ShipBob Recipient Email custom field on the primary shipping address instead.
The recipient phone number resolution already falls back to a ShipBob Recipient Phone Number custom field on the primary shipping address, and then on the primary billing address, when a standard phone number is not present.
To use address custom fields, populate them in iPaaS.com and adjust the recipient formulas to read them. If you do not use address custom fields, the standard address email and phone fields are used.
Status and Trigger Events
The parent Order collection is enabled. Because it has no mapping filter, every dispatched transaction is processed.
Automatic transfers are enabled in the subscription configuration's Outbound Data Flows section. Subscribe the transaction create trigger so that new iPaaS.com transactions dispatch to this collection. No automatic transfers occur until that outbound trigger is enabled.
Manual Sync is available at any time from the iPaaS.com Manual Sync page for the Order collection, using the iPaaS.com transaction identifier as described under ID Format.
The two child collections have no independent trigger. They transfer automatically as part of the parent order whenever the parent transfers.
Duplicate or Conflicting Collections and Collision Handling
None. The Order collection is the only collection that creates ShipBob orders from iPaaS.com transactions, and each child is the only collection that supplies its part of the order (products, and the recipient shipping address). There are no duplicate or conflicting collections.
This flow does not implement collision handling. Because it is create-only and keyed by the external-ID link, there are no collision-handling options to configure. On a repeat sync of the same transaction, the stored external-ID link routes activity to the existing ShipBob order rather than creating a duplicate.
Supported Child Collections
The Order parent has two child collections. Both are required for the parent transfer to succeed, and both transfer as part of the same single order-creation write:
Add ShipBob Order Products FROM iPaaS.com: supplies the order's line items, resolving each iPaaS.com transaction line to a ShipBob product by reference id (the line SKU) or by product name. ShipBob requires at least one product to create an order.
Add ShipBob Order Recipient Address FROM iPaaS.com: supplies the recipient shipping address. Its mapping filter ensures only the primary shipping address is sent. ShipBob requires a recipient address to create an order.
Both child collections are documented in full under Mappings below.
System Caveats
Channel required. ShipBob creates the order under the channel supplied in the ShipbobChannelId mapping. The channel identifier is not shown in the ShipBob interface and must be supplied in the mapping. Applications with multi-channel permission can read from all of a user's channels but can only write on behalf of their own channel. The same channel identifier scopes product resolution in the Order Products child.
Order type set automatically. ShipBob requires an order type to create an order. The integration supplies the order type automatically, so no mapping is required for it.
Rate limits. ShipBob limits order-creation requests to approximately 150 requests per minute. When ShipBob rate-limits a request, the transfer is rescheduled automatically to resume after the limit window resets, and no subscriber action is required.
Transaction must exist. The transaction must already exist in iPaaS.com before it can be sent to ShipBob.
Primary shipping address required. The transaction must carry a primary shipping address, because the recipient address child collection sends only the primary shipping address. A transaction with no primary shipping address produces no recipient address, and the order cannot be created.
Placeholder value — replace during implementation: the shipped ShipbobChannelId value 73232 is an example channel, and the same 73232 identifier is built into the Order Products product-resolution formula. Replace both with your own ShipBob channel identifier before enabling these collections.
Integration Flow
A transaction is dispatched to the Order collection, either automatically through the Outbound Data Flows transaction create trigger or manually through a Manual Sync of the transaction identifier.
The integration resolves the recipient name, email, phone number, shipping method, order reference, and ShipBob channel from the transaction.
It assembles the recipient shipping address from the Add ShipBob Order Recipient Address FROM iPaaS.com child collection, sending only the primary shipping address.
It assembles the order line items from the Add ShipBob Order Products FROM iPaaS.com child collection, resolving each product to a ShipBob product by reference id or name.
It creates the order in ShipBob in a single write, with the recipient and products included. ShipBob returns the new order identifier, which the integration stores as the external-ID link so subsequent activity for the same transaction routes to the existing order.
Mappings
Each collection below lists its iPaaS.com data type, its verbatim mapping filter when one is applied, and a field table sourced from the deployed mapping notes. The Source column names the iPaaS.com transaction field, static value, or resolution logic that populates each ShipBob destination field.
Add ShipBob Order FROM iPaaS.com
iPaaS.com data type: Transaction
This collection has no mapping filter. Every dispatched transaction is processed.
Destination Field | Source | Description |
ReferenceId | Transaction number | Required. Carries the iPaaS.com transaction number into ShipBob as the order reference, so the ShipBob order can be traced back to its source transaction. |
ShipbobChannelId | Static value 73232 | Required. Identifies the ShipBob channel the order is created under. The channel identifier is not shown in the ShipBob interface and must be supplied here. See the placeholder callout in System Caveats: replace 73232 with your own channel identifier before enabling this collection. |
RecipientName | Resolved from the transaction addresses | Required. ShipBob requires a recipient name. Resolved from the first match in this order: primary shipping address company, primary shipping address first and last name, primary billing address company, then primary billing address first and last name. |
RecipientEmail | Resolved from the transaction email or address custom field | Recommended. Improves shipment notifications, but the order transfers without it. Uses the transaction email when present; a commented alternative can read the ShipBob Recipient Email address custom field instead. |
RecipientPhoneNumber | Resolved from the transaction addresses or address custom field | Recommended. Supports carrier delivery contact, but the order transfers without it. Resolved from the first match in this order: primary shipping address phone number, a ShipBob Recipient Phone Number custom field on the primary shipping address, primary billing address phone number, then a ShipBob Recipient Phone Number custom field on the primary billing address. |
ShippingMethod | Resolved from the primary shipping address shipping method | Required. Takes the shipping method from the primary shipping address and validates it against the shipping methods that exist in ShipBob. If the name does not match an existing ShipBob shipping method, the order is rejected so the method can be corrected before fulfillment. Two commented alternatives are provided: fall back to the default ShipBob shipping method, or pass the name through and let ShipBob auto-create it. A ShipBob-auto-created shipping method is unmapped and falls back to a default carrier, so review shipping method names before relying on auto-creation. |
Add ShipBob Order Products FROM iPaaS.com
iPaaS.com data type: Transaction Line
This collection has no mapping filter. Every product line on a dispatched transaction is processed.
Destination Field | Source | Description |
Id | Resolved from the line SKU, then the line description | Resolves each line to an existing ShipBob product before the order is created. Searches for a channel-specific ShipBob product first by reference id (the line SKU), then by product name. If neither search finds a product, it raises a subscriber-actionable error and the order is not created, so the missing product can be added or the mapping corrected. This error is by design: it is a configurable guard in the mapping, not a defect. The product search is scoped to channel 73232 by default; replace it with your own channel identifier (see the placeholder callout in System Caveats). |
Quantity | Transaction line quantity | Required. ShipBob requires a quantity for each product line. The value is forced to at least 1, so a zero or negative quantity never reaches ShipBob. |
ReferenceId | Line SKU | Required when a product is added by reference id. Carries the line SKU as the primary key used to resolve the ShipBob product. Use the same reference id in ShipBob as the iPaaS.com SKU so resolution succeeds directly. |
Sku | Line SKU | Recommended. Records the line SKU on the ShipBob product line for visibility and matching, but the order transfers without it. |
QuantityUnitOfMeasureCode | Derived from a marker in the line SKU | Optional. Derives the ShipBob unit of measure from a marker in the line SKU: ^each maps to EA (each), ^pack to INP (inner pack), ^case to CS (case), and ^pallet to PL (pallet). A SKU with no marker sends no unit and ShipBob applies its default. Adjust to match the unit-of-measure markers your SKUs actually use. |
ExternalLineId | Line sequence number | Optional. Carries the iPaaS.com line sequence number onto the ShipBob product line as a per-line reference, so ShipBob can distinguish and reconcile individual lines within the order. |
Add ShipBob Order Recipient Address FROM iPaaS.com
iPaaS.com data type: Transaction Address
Mapping Filter: IsPrimaryShipping
Filter description. This collection has a mapping filter that processes only the transaction's primary shipping address. A transaction can carry several addresses — billing, shipping, and others — and this filter passes through only the address whose IsPrimaryShipping flag is true; every other address is skipped. Because only the primary shipping address is sent as the recipient address, the transaction must carry a primary shipping address for the order to be created. Review the filter to confirm it selects the address your orders should ship to before enabling the collection.
Destination Field | Source | Description |
Address1 | Address line 1 | Required. ShipBob requires the first line of the recipient street address to create and deliver the order. |
Address2 | Address line 2 | Optional. The second street line (suite, unit, or similar) is sent when present. |
City | City | Required. ShipBob requires the recipient city to create and deliver the order. |
State | Region | Recommended. Supports accurate rating and delivery, especially for domestic shipments, but the order transfers without it. |
ZipCode | Postal code | Recommended. Needed for accurate rating and delivery in most regions, but ShipBob does not reject the order for its absence. |
Country | Country | Required. ShipBob requires the recipient country. Provide it as an ISO Alpha-2 country code where the destination expects one. Validate the country format in a staging environment before relying on it in production. |
CompanyName | Company | Optional. The name of the company receiving the shipment is sent when present. |
Error Handling
The most common errors this flow can raise are by-design guards in the mapping formulas, intended to stop an incomplete order from reaching ShipBob so the underlying data can be corrected:
Shipping method not found. When the shipping method name on the primary shipping address does not match an existing ShipBob shipping method, the default ShippingMethod formula rejects the order so the method can be corrected before fulfillment. Choose the fallback or auto-create formula variant if that better matches your business rule.
Product not found. When a line's product cannot be resolved by reference id (the line SKU) or by product name, the default Id formula on the Order Products child raises a subscriber-actionable error and the order is not created, so the missing product can be added or the mapping corrected. This guard is intentional and configurable.
For the full catalog of error messages this integration can produce, including the exact message text, cause, and resolution for each, see the ShipBob Error Messages article. Errors appear in the iPaaS.com Dashboard under Integration Monitoring and Error Logs.
Testing and Validation
To validate the flow end to end, perform a Manual Sync of a transaction:
Confirm the transaction exists in iPaaS.com and carries a primary shipping address with at least the street, city, and country populated, plus at least one line item with a SKU that resolves to a ShipBob product.
Set the ShipbobChannelId mapping (and the channel identifier in the Order Products product-resolution formula) to your own ShipBob channel identifier.
Confirm the shipping methods your orders use exist in ShipBob, or select the shipping-method formula variant that matches your business rule.
From the iPaaS.com Manual Sync page for the Order collection, enter the transaction identifier (for example, 288) and run the sync.
Confirm the order appears in ShipBob with the expected recipient, shipping method, and products, and that iPaaS.com records the ShipBob order identifier as the external ID on the transaction.
If the sync fails, check the iPaaS.com Dashboard under Integration Monitoring and Error Logs for the by-design guards described under Error Handling (shipping method not found, product not found).
Additional Notes and Out of Scope
Order updates and cancellations are not handled. This flow creates orders only. It does not update or cancel existing ShipBob orders. A change to a transaction after its order has been created is not propagated to ShipBob by this flow.
Single primary shipping address per order. The recipient address child sends exactly one recipient shipping address per order: the primary shipping address. It does not split an order across multiple destination addresses. If a transaction's intended recipient address is not marked as the primary shipping address, adjust the mapping filter so the desired address is selected before enabling the collection.
Product catalog management is out of scope. The Order Products child supplies products to an order. It does not create, update, or manage the ShipBob product catalog outside of ShipBob's own auto-create behavior on order creation, and the default mapping resolves an existing product rather than creating one.
