Ellipse Gradient for Header

ShipBob Integration Guide

Connect ShipBob’s REST APIs and selected webhook notifications with commerce, ERP, customer service, and operational systems through Martini workflows.

ShipBob integration options at a glance

ShipBob’s primary integration mechanism is a REST API secured with an API key sent as a bearer token. The API supports operations for Orders, Products, Inventory, Shipments, Fulfillment Centers, Channels, and related resources. ShipBob also provides webhook-style notifications for selected operational events, although coverage should be confirmed for each resource and event. Selected order and inventory use cases support bulk or asynchronous processing. Martini can consume these endpoints, receive supported notifications, transform JSON payloads, maintain pagination checkpoints, submit or retrieve data, and orchestrate retries and reconciliation workflows.

Integration pointSupported by ShipBob?Common use casesHow Martini supports it
REST APIsYesShipBob’s primary public interface for submitting Orders and retrieving Products, Inventory, Shipments, Fulfillment Centers, Channels, and related resources.Martini can consume ShipBob REST endpoints, send and receive JSON, map resources, expose controlled APIs, and orchestrate multi-step workflows.
Webhooks / outbound callbacksLimitedShipBob provides webhook-style notifications for selected operational events. Coverage and delivery behavior must be verified for each event and resource.Martini can expose an endpoint or webhook-triggered workflow, validate notifications, retrieve current ShipBob state, and process work asynchronously.
Bulk / async / batch APIsLimitedBulk-oriented or asynchronous operations are documented for selected use cases, particularly order submission and inventory-related processing.Martini can invoke these operations from scheduled or queue-based workflows, track returned identifiers or status, and reconcile incomplete processing.
Pagination and incremental synchronizationYesShipBob list endpoints should generally be treated as paginated, with incremental filters or checkpoints confirmed per resource.Martini can maintain pagination state, timestamps, identifiers, or other checkpoints and resume failed synchronization runs safely.
AuthenticationYesThe documented pattern uses an API key as a bearer token in the Authorization header. OAuth 2.0 was not confirmed as required.Martini can keep the API key in secrets or protected environment configuration and apply it to outbound REST requests.
File / attachment APIsNot confirmedNo general-purpose ShipBob file-transfer or attachment API was confirmed for the core public API.Martini should use ShipBob’s REST API or supported webhook mechanisms rather than assuming file exchange is available.
Database / analytics accessNot confirmedDirect access to ShipBob’s operational database or a general analytics database was not confirmed.Martini can integrate through documented APIs and notifications instead of relying on direct database connectivity.
SDKsNot confirmedDeveloper-facing API documentation is available, but an official generally applicable SDK for every supported language was not confirmed.Martini can call the REST API directly without requiring a ShipBob SDK.

How ShipBob exposes data and business events

ShipBob REST APIs

ShipBob’s REST API is the primary documented integration interface. It supports operations across Orders, Products, Inventory, Shipments, Fulfillment Centers, Channels, and related resources using JSON payloads and paginated list responses.

Martini implementation pattern

Martini implementation pattern: a workflow or Martini API receives a business request or trigger, calls the ShipBob REST API with the protected bearer-token credential, validates the response, maps the returned object, and writes it to the target system. The workflow can preserve pagination and synchronization checkpoints.

Implementation sequence

Receive an order, synchronization request, or workflow trigger
Authenticate the request with a protected ShipBob API key
Call the required ShipBob REST endpoint
Process pagination and persist synchronization state
Map ShipBob JSON to the target application model
Write the result and record correlation identifiers

ShipBob Webhook Notifications

ShipBob provides webhook-style notifications for selected operational events. These notifications are not a universal event stream, so supported event types, resources, and delivery behavior must be confirmed before depending on them for complete synchronization.

Martini implementation pattern

Martini implementation pattern: expose a controlled API endpoint or webhook-triggered workflow, validate the incoming notification, acknowledge it promptly, and use the event as a signal to retrieve authoritative Order, Shipment, Inventory, or other state from ShipBob. Longer processing can continue asynchronously with duplicate and out-of-order handling.

Implementation sequence

Receive the ShipBob notification
Validate the request according to the documented security model
Acknowledge the notification promptly
Identify the affected ShipBob resource
Retrieve current resource details through the REST API
Map and route the result to downstream systems

ShipBob Bulk and Async Operations

ShipBob documents bulk-oriented or asynchronous operations for selected use cases, particularly order submission and inventory-related processing. These capabilities are operation-specific and do not imply that every endpoint has a bulk equivalent.

Martini implementation pattern

Martini implementation pattern: a scheduled or queue-based workflow groups eligible work, invokes the documented bulk operation, stores returned identifiers or processing status, and performs follow-up polling or reconciliation where required. Validation and retry rules should distinguish individual item failures from transport failures.

Implementation sequence

Collect and validate eligible Orders or Inventory work
Partition the workload according to ShipBob operation limits
Submit the documented bulk or asynchronous request
Store returned request or processing identifiers
Retrieve processing status where supported
Reconcile successful and failed items

ShipBob Scheduled Synchronization

Scheduled API synchronization is appropriate for Shipments, Inventory, Orders, and other resources when webhook coverage is incomplete or when reconciliation is required. List endpoints should be treated as paginated unless endpoint documentation states otherwise.

Martini implementation pattern

Martini implementation pattern: a scheduler starts a workflow that reads the last checkpoint, retrieves pages using supported filters, transforms each object, writes results to the target, and advances the checkpoint only after successful processing. A separate reconciliation run can identify missed notifications or inconsistent states.

Implementation sequence

Start the scheduled synchronization workflow
Read the stored resource checkpoint
Retrieve the next paginated ShipBob response
Transform and write each object
Persist the next safe checkpoint
Retry transient failures and report unresolved exceptions

Common ShipBob integration patterns

Pattern 1: Submit commerce orders for fulfillment

When to use this pattern

Use this pattern when a commerce or ERP application must send new customer orders to ShipBob. Validation and duplicate prevention are essential because a timeout during order submission must not create a second ShipBob Order.

Integration direction
Shopify
Martini
ShipBob
Example Mapping
ShipBob FieldCanonical FieldTarget Field
sourceOrderIdorder.externalIdOrder reference
lineItems[].skuorder.items[].skuOrder items[].SKU
shippingAddressorder.shippingAddressOrder shipping address
shippingMethodorder.serviceLevelOrder shipping method
Martini implementation pattern

Martini receives an order event or scheduled extract, validates required SKUs, addresses, quantities, and shipping fields, looks up relevant Products or Inventory when required, and submits the mapped Order through ShipBob’s REST API. It stores both identifiers and submission status, checks prior outcomes before retrying, and routes permanent validation failures to an exception workflow.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • secrets management
  • error handling

Pattern 2: Synchronize shipments and tracking

When to use this pattern

Use this pattern when commerce, ERP, sales, or support applications need current ShipBob fulfillment and tracking information. It combines event responsiveness with scheduled reconciliation when webhook coverage is incomplete or delivery fails.

Integration direction
ShipBob
Martini
Salesforce
Example Mapping
ShipBob FieldCanonical FieldTarget Field
shipment.orderIdfulfillment.orderIdSalesforce order reference
shipment.statusfulfillment.statusFulfillment status
trackingNumberfulfillment.trackingNumberTracking number
carrierfulfillment.carrierCarrier
Martini implementation pattern

Martini receives a selected ShipBob notification or retrieves Shipments on a schedule, then fetches the current resource when the notification is incomplete. It maps status, carrier, tracking, and delivery data to the target API, applies out-of-order and duplicate-event rules, and records failures for retry or reconciliation.

Martini capabilities used
  • webhook consumption
  • API consumption
  • workflow orchestration
  • data mapping
  • checkpoint management
  • retry handling

Pattern 3: Publish inventory by fulfillment center

When to use this pattern

Use this pattern when commerce or planning systems need ShipBob Inventory availability segmented by Product and Fulfillment Center. It is suited to scheduled synchronization because inventory changes continuously and endpoint filters vary by resource.

Integration direction
ShipBob
Martini
Shopify
Example Mapping
ShipBob FieldCanonical FieldTarget Field
product.skuinventory.productSkuSKU
fulfillmentCenterIdinventory.locationIdLocation
availableQuantityinventory.availableAvailable inventory
reservedQuantityinventory.reservedReserved inventory
Martini implementation pattern

A scheduled Martini workflow reads a stored checkpoint, retrieves paginated Inventory data, normalizes quantities and fulfillment-center identifiers, and publishes updates to the target system. The workflow controls concurrency, handles rate limits, advances checkpoints only after successful writes, and reports gaps or rejected records.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination
  • data transformation
  • business rules
  • monitoring

Pattern 4: Reconcile fulfillment exceptions

When to use this pattern

Use this pattern when the source system and ShipBob disagree about an Order or Shipment, or when an event was missed, duplicated, delayed, rejected, or only partially fulfilled.

Integration direction
ShipBob
Martini
Zendesk
Example Mapping
ShipBob FieldCanonical FieldTarget Field
order.idfulfillment.sourceCorrelationIdTicket order reference
shipment.statusexception.currentStatusTicket fulfillment status
trackingNumberexception.trackingReferenceTicket tracking number
fulfillmentCenterIdexception.locationIdTicket facility
Martini implementation pattern

Martini combines webhook signals with scheduled API polling, retrieves authoritative ShipBob state, compares it with the source-system state, and applies rules for delayed, rejected, partially fulfilled, or mismatched Orders and Shipments. It can create or update an operational exception in the target system and preserve an audit result for later review.

Martini capabilities used
  • event-driven workflows
  • scheduled reconciliation
  • API consumption
  • data comparison
  • business rules
  • error handling

Applications commonly integrated with ShipBob

ShipBob commonly sits between fulfillment operations and commerce, ERP, marketplace, and customer-service applications. Martini can coordinate these systems through ShipBob’s REST API and supported webhook notifications, while preserving identifiers, applying business rules, and handling synchronization exceptions.

Application Scenario Direction Martini Pattern
Shopify Submit customer Orders to ShipBob and return fulfillment, shipment, and tracking updates to the storefront. Shopify → Martini → ShipBob Receive Shopify order data, validate SKUs and addresses, map the payload to ShipBob’s Order model, submit it through the REST API, and persist the ShipBob identifier and status. A separate workflow can retrieve Shipments and publish tracking updates back to Shopify.
BigCommerce Coordinate order fulfillment, inventory availability, and shipment status between the commerce platform and ShipBob. BigCommerce → Martini → ShipBob Use event-driven or scheduled intake for new orders, apply product and inventory validation, submit eligible Orders to ShipBob, and synchronize Shipment and Inventory changes back to BigCommerce with retry and reconciliation handling.
WooCommerce Send store orders for fulfillment and synchronize shipment status and tracking information back to the store. WooCommerce → Martini → ShipBob Expose or consume the required WooCommerce endpoint, transform order and line-item structures into ShipBob’s schema, store cross-system identifiers, and use scheduled shipment polling or supported notifications for outbound updates.
Salesforce Make order fulfillment, shipment, delivery, and exception information available to sales and service teams. ShipBob → Martini → Salesforce Retrieve Shipments and relevant Orders from ShipBob, map tracking and status fields to Salesforce objects, apply exception rules, and write updates through Salesforce APIs while recording failed records for retry.
NetSuite Synchronize sales orders, fulfillment status, inventory, and shipment information between ERP and 3PL operations. NetSuite → Martini → ShipBob Orchestrate order submission from NetSuite to ShipBob, correlate ERP and ShipBob identifiers, retrieve Inventory and Shipment updates, and map fulfillment states back to NetSuite with controlled retries and reconciliation.
Microsoft Dynamics 365 Coordinate orders, inventory, shipments, and fulfillment status with ERP or customer-service processes. Microsoft Dynamics 365 → Martini → ShipBob Use Martini workflows to exchange JSON through the respective APIs, normalize product and order identifiers, submit Orders, synchronize Inventory and Shipments, and route business-rule failures to an exception process.
Amazon Seller Central Exchange marketplace order and fulfillment information when ShipBob is used as the merchant’s fulfillment provider. Amazon Seller Central → Martini → ShipBob Receive or retrieve marketplace orders, validate fulfillment eligibility, submit Orders to ShipBob, and map shipment and tracking results back to the marketplace integration using persisted correlation identifiers.
Zendesk Give support agents shipment, tracking, and fulfillment exception information. ShipBob → Martini → Zendesk Use ShipBob notifications or scheduled retrieval to identify shipment changes, enrich them with current Shipment and Order details, and create or update Zendesk support data according to exception and customer-service rules.

How to build a ShipBob integration in Martini

Objective

Establish secure communication with ShipBob and the required downstream systems.

Instructions in Martini

  • Use ShipBob’s REST API as the primary integration interface.
  • Store the ShipBob API key in Martini secrets or protected environment configuration.
  • Use separate nonproduction and production credentials where available.
  • Confirm account, channel, and operational permissions.

Objective

Select an event-driven, scheduled, or API-led entry point appropriate to the synchronization requirement.

Instructions in Martini

  • Use a supported ShipBob webhook notification for selected operational events where coverage is sufficient.
  • Use a scheduler for inventory, shipment, or reconciliation processes.
  • Expose a Martini API when another application should initiate ShipBob processing.
  • Combine notifications with polling when events are not complete or authoritative.

Objective

Receive or retrieve the ShipBob resource required by the business process.

Instructions in Martini

  • Call the relevant ShipBob REST endpoint using bearer-token authentication.
  • Implement pagination for list endpoints.
  • Use bulk or asynchronous operations only where ShipBob documents them.
  • Persist identifiers, pagination state, and synchronization checkpoints.

Objective

Transform ShipBob JSON objects into the canonical and target application models.

Instructions in Martini

  • Map Orders, Products, Inventory, Shipments, Fulfillment Centers, and Channels explicitly.
  • Normalize identifiers, quantities, statuses, addresses, and tracking fields.
  • Preserve both source identifiers and ShipBob identifiers for correlation.
  • Validate required fields before submission.

Objective

Protect fulfillment accuracy and enforce process-specific business decisions.

Instructions in Martini

  • Check for duplicate order submissions before retrying.
  • Apply rules for SKU availability, fulfillment status, inventory location, and exception routing.
  • Distinguish validation failures from authentication, rate-limit, and server errors.
  • Handle duplicate and out-of-order webhook notifications.

Objective

Deliver transformed data to the target system and record the outcome.

Instructions in Martini

  • Submit valid Orders to ShipBob or write Shipments and Inventory to downstream applications.
  • Record request status, correlation identifiers, response status, and timestamps.
  • Advance checkpoints only after successful processing.
  • Route permanent failures to an exception or reconciliation process.

Common ShipBob data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
OrdersCustomer orders submitted for fulfillment and order-status tracking.Shopify, BigCommerce, WooCommerce, NetSuite, Microsoft Dynamics 365, Amazon Seller CentralMartini validates addresses, SKUs, quantities, and shipping data; submits or retrieves Orders; stores source and ShipBob identifiers; and applies duplicate-prevention rules.
ProductsProducts or SKUs managed in the ShipBob fulfillment network.Commerce platforms, NetSuite, Microsoft Dynamics 365, inventory planning systemsMartini retrieves Products for SKU validation and maps product identifiers and attributes into target application models.
InventoryAvailability and quantity information, often associated with Products and Fulfillment Centers.Shopify, BigCommerce, WooCommerce, NetSuite, Microsoft Dynamics 365Martini retrieves paginated inventory data, distinguishes available and other returned quantities, transforms by location where required, and publishes checkpoints to target systems.
ShipmentsFulfillment and shipping records associated with Orders, including status and tracking details.Commerce platforms, Salesforce, Zendesk, Amazon Seller Central, NetSuiteMartini retrieves current shipment state after notifications or during scheduled synchronization, maps carrier and tracking data, and handles missed or duplicate events.
Fulfillment CentersShipBob facilities where Inventory is stored and Orders are fulfilled.ERP, inventory planning, warehouse operations, reporting systemsMartini synchronizes facility identifiers and location context, then uses them to interpret Inventory and fulfillment data.
ChannelsSales channels or integrations associated with a ShipBob account.Commerce platforms, ERP systems, operational reporting systemsMartini maps Channel identifiers to source applications and uses them for routing, filtering, and reconciliation rules.

Authentication and security considerations

API-key authentication

ShipBob’s documented public API authentication pattern uses an API key as a bearer token in the Authorization header. OAuth 2.0 was not confirmed as required for standard ShipBob API access.

  • Store API keys in Martini secrets or protected environment configuration.
  • Use separate credentials for development, testing, and production where available.
  • Confirm account, channel, and operational permissions before deployment.
  • Do not log authorization headers or complete customer addresses.
  • Restrict inbound webhook endpoints and validate requests according to ShipBob’s documented security model.

Operational considerations for ShipBob integrations

Reliable synchronization

ShipBob list endpoints should generally be treated as paginated. Use checkpoints, supported incremental filters, and controlled concurrency rather than assuming a single response contains all Orders, Shipments, Products, or Inventory.

Retries and idempotency

Retry transient 429 and 5xx responses with backoff, but do not blindly retry order submissions after a timeout. Persist source and ShipBob identifiers, reconcile uncertain outcomes, and use endpoint-specific idempotency features when documented.

Events and schema changes

Treat webhook notifications as signals to retrieve current state. Handle duplicate and out-of-order delivery, validate nested line-item, address, inventory, shipment, and tracking structures, and test mappings when ShipBob changes resource schemas.

Monitoring

Monitor delayed Orders, shipment mismatches, failed webhook processing, inventory gaps, authentication errors, rate limits, and unresolved reconciliation items. Record correlation identifiers and response statuses for diagnosis.

Why use Martini instead of scripts or point-to-point integrations?

Orchestration across systems

Martini coordinates ShipBob with commerce, ERP, marketplace, sales, and customer-service applications in reusable workflows rather than embedding fulfillment logic in isolated scripts.

Controlled transformation

Martini maps ShipBob Orders, Products, Inventory, Shipments, Fulfillment Centers, and Channels into canonical and target models while applying validation and business rules.

Reliable operations

Workflows can combine webhook intake, scheduled polling, pagination, checkpoints, retries, exception routing, and reconciliation. This is useful when ShipBob event coverage is selected rather than universal.

Maintainable integration assets

Martini centralizes secrets, API access, error handling, monitoring, and reusable workflow behavior, making changes easier to test and operate than disconnected point-to-point scripts.

Frequently asked questions

How can ShipBob be integrated with enterprise systems?

ShipBob can be integrated primarily through its REST API, which supports Orders, Products, Inventory, Shipments, Fulfillment Centers, Channels, and related resources. Selected operational events can also generate webhook-style notifications, while bulk or asynchronous operations are available for certain order and inventory use cases. Authentication uses an API key sent as a bearer token.

Can Martini integrate with ShipBob?

Yes. Martini can consume ShipBob’s REST API, receive supported webhook notifications, transform ShipBob JSON data, expose controlled APIs, and orchestrate order, inventory, shipment, and reconciliation workflows. No dedicated native Martini ShipBob connector was documented in the supplied information.

Do I need a connector to integrate ShipBob with Martini?

No. A dedicated ShipBob connector is not required. Martini can integrate using ShipBob’s native REST API, selected webhook notifications, documented bulk or asynchronous operations, and API-key authentication.

Is there any extra Lonti cost to integrate ShipBob with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate ShipBob. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from ShipBob, cloud infrastructure, or other third-party systems based on their pricing, usage, and deployment models.

Which ShipBob integration methods should new implementations use?

Use ShipBob’s REST API as the primary method. Use webhook-style notifications for supported events when their coverage and delivery behavior meet the requirement, and supplement them with scheduled polling or reconciliation. Selected bulk or asynchronous operations can be used for documented order and inventory scenarios. GraphQL and SOAP support were not confirmed.

Can Martini receive ShipBob webhooks or event notifications?

Yes. Martini can expose an API endpoint or webhook-triggered workflow for ShipBob notifications. Because ShipBob’s coverage is event-specific rather than a universal event stream, implementations should validate the request, acknowledge quickly, retrieve current resource state when necessary, and maintain a reconciliation process for missed or duplicate notifications.

How does synchronization and duplicate prevention work with ShipBob?

Martini can use scheduled workflows, pagination, supported incremental filters, and stored checkpoints for Orders, Shipments, Inventory, and other resources. Order submissions should use stable source identifiers, persisted ShipBob identifiers, prior-outcome checks, and any endpoint-specific idempotency feature documented by ShipBob. Failed runs should resume from a safe checkpoint.

Can Martini expose an API façade for ShipBob?

Yes. Martini can expose a controlled REST API that hides ShipBob-specific details from internal applications, validates requests, applies business rules, invokes ShipBob’s REST API, and returns a governed response. This can centralize authentication, mapping, error handling, and correlation across multiple consumers.