Skip to main content

ShipBob from iPaaS.com Order Mapping Documentation

Full field-level mapping reference for creating ShipBob orders from iPaaS.com transactions, covering the Order parent and its Order Products and Order Recipient Address child collections, with the write flow, ID format, caveats, and error handling.

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

  1. 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.

  2. The integration resolves the recipient name, email, phone number, shipping method, order reference, and ShipBob channel from the transaction.

  3. It assembles the recipient shipping address from the Add ShipBob Order Recipient Address FROM iPaaS.com child collection, sending only the primary shipping address.

  4. 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.

  5. 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:

  1. 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.

  2. Set the ShipbobChannelId mapping (and the channel identifier in the Order Products product-resolution formula) to your own ShipBob channel identifier.

  3. Confirm the shipping methods your orders use exist in ShipBob, or select the shipping-method formula variant that matches your business rule.

  4. From the iPaaS.com Manual Sync page for the Order collection, enter the transaction identifier (for example, 288) and run the sync.

  5. 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.

Related Documents

Did this answer your question?