Skip to main content

Overview

Third-party logistics (3PL) providers are specialized companies that handle warehousing, order fulfillment, and shipping operations for e-commerce businesses. They store merchants’ inventory in their facilities, process orders by picking and packing products, and coordinate delivery through carrier networks. 3PLs offer cost savings through shared resources and negotiated shipping rates, operational scalability for growth and seasonal fluctuations, faster delivery through multiple warehouse locations, and access to advanced fulfillment technology without capital investment. Some popular 3PLs include Shiphero, ShipBob, and Shipstation.

Components of Fulfillment Orders

We’ll use the term Fulfillment Order, though not all e-commerce platforms have objects with this exact name. Think of fulfillment orders as instructions from e-commerce platforms to 3PLs about what needs to be fulfilled. Some platforms like Shopify send fulfillment orders directly to your Alloy instance, which you then forward to your 3PL. Other platforms require you to listen for order status changes (like “shipped”) before creating the fulfillment in your 3PL.

Order Identification**

  • Fulfillment order ID
  • Original order reference
  • Sales channel source

Items to Fulfill

  • Product SKUs and quantities
  • Product variants and specifications
  • Inventory location assignments

Shipping Details

  • Customer delivery address
  • Shipping method and carrier
  • Service level requirements
  • Special delivery instructions

Fulfillment Instructions

  • Packaging requirements
  • Custom branding or gift options
  • Special handling notes
  • Quality control checkpoints

Customer Information

  • Contact details
  • Communication preferences
  • Account references

Building Your First Integration

Select the appropriate drop-down below based on which Alloy Automation product you’ll be building with.

1. Choose a 3PL and E-Commerce Platform to Integrate With

Popular e-commerce platforms include Shopify, WooCommerce, BigCommerce, and Shopline. A few well-known 3PLs that Alloy supports include ShipBob, Shiphero, and Shipstation. In this doc, we’ll use Shipstation as our default 3PL and provide some walkthroughs of how to hook up with a variety of e-commerce platforms or your own custom order payloads.
You may be wondering whether to name this integration after to E-Commerce platform or the 3PL. A good rule of thumb is to consider where the integration/app will be installed. For the purposes of this doc we’ll assume the integration is installed on the e-commerce platform and, thus, will name the integration after the 3PL.

2. Choose The Workflow Trigger

As mentioned, some e-commerce platforms like Shopify allow your to listen for new Fulfillment Orders. Others will let you listen for a change in order status. Below are a few options you can look for regardless of which e-commerce connector you’re using in Alloy:
  • Look for triggers like ‘fulfillment order created’ or ‘fulfillment requested’
  • Look for specific order status update triggers like ‘order shipped’
  • If specific order status update triggers do not exist for the connector, listen for general order status update events and use an If-Else block to determine if the new status warrants creating a fulfillment in your 3PL

2A. Build Your Own Fulfillment Order Event (Optional)

If you are not using a dedicated e-commerce platform like Shopify and are instead sending order events to Alloy via your own internal systems, you’ll do so by using Custom Events. Below is a proposed Fulfillment Order Custom Event schema that includes the relevant fields required for creating fulfillments in most 3PL platforms.
{
  "fulfillment_order_id": "fo_12345abc",
  "order_reference": {
    "order_id": "order_98765",
    "order_number": "#1001",
    "sales_channel": "shopify"
  },
  "line_items": [
    {
      "sku": "TSHIRT-BLU-M",
      "product_name": "Blue Cotton T-Shirt",
      "quantity": 2,
      "variant_id": "var_456",
      "variant_title": "Medium / Blue",
      "warehouse_location": "A1-B3-S2"
    },
    {
      "sku": "HAT-RED-OS",
      "product_name": "Red Baseball Cap",
      "quantity": 1,
      "variant_id": "var_789",
      "variant_title": "One Size / Red",
      "warehouse_location": "C2-A1-S1"
    }
  ],
  "shipping_address": {
    "name": "John Smith",
    "company": "",
    "address1": "123 Main Street",
    "address2": "Apt 4B",
    "city": "San Francisco",
    "province": "CA",
    "country": "US",
    "zip": "94102",
    "phone": "+1-555-0123"
  },
  "customer": {
    "customer_id": "cust_abc123",
    "email": "john.smith@email.com",
    "phone": "+1-555-0123"
  },
  "requested_fulfillment": {
    "shipping_method": "standard_ground",
    "carrier": "ups",
    "service_level": "standard",
    "requested_ship_date": "2025-10-28",
    "delivery_instructions": "Leave at front door"
  },
  "status": "pending"
}

3. Map Order Status to 3PL-Specific Values

3PLs rely heavily on proprietary order statuses in order to move packages through the fulfillment pipeline. However, these status values don’t always match the status values coming out of your chosen e-commerce platform or your own systems. You can use Custom Code to create a status mapping function between source and destination platform.

4. Create a Fulfillment in Your 3PL Service

The final step in the workflow configuration is to actually create the fulfillment in your 3PL of choice. When using Alloy’s collection of 3PL connectors look for actions like ‘create shipment’, ‘create fulfillment’, or even ‘create order’. You can map the fields from the incoming fulfillment order payload to the fields in the 3PL connector action

5. Communicate the Fulfillment Back to Your E-Commerce Platform

If you’re manually creating orders/fulfillments in 3PLs via Alloy Automation (i.e. via REST API) then you’ll need to manually communicate these fulfillments back to your e-commerce platform so that the order can be properly tracked and your customers properly updated with shipping info. Below are a few specific e-commerce platforms and how they differ in the ways in which you update orders with fulfillment information
  • Shopify: Update by creating a fulfillment object with included tracking information
  • BigCommerce: Update by creating a shipment object and linking it to the existing order object
  • WooCommerce: Update by changing order status to ‘completed’ and adding tracking info via order meta fields

6. Deploy the integration

Once your integration is built and tested you can begin sharing it with your end-users. We have several methods for deploying and sharing your integrations, which you can read more about in our documentation.

Video Walkthrough Library

We’ve created video walkthroughs for the most common and complex integration scenarios. Choose a walkthrough below to build alongside our experts. We regularly add new videos, so check back for updates!