Skip to main content

Overview

The Full Cart API organizes items into shipments, providing a standardized structure for complex fulfillment scenarios across all e-commerce platforms. This powerful feature enables sophisticated checkout experiences with multiple delivery options.
Shipments reflect the merchant’s fulfillment structure, standardized through Firmly’s API for consistent integration across platforms.

What are Shipments?

Shipments represent groups of items that fulfill together. Common shipment scenarios include:
  • Items from different warehouse locations
  • Products from multiple vendors
  • Mixed fulfillment types (shipping, pickup, scheduled delivery)
  • Items with different delivery requirements

Cart Structure with Shipments

{
  "cart_id": "cart_123",
  "line_items": [
    { "line_item_id": "item_1", "sku": "WIDGET-001", "quantity": 1 },
    { "line_item_id": "item_2", "sku": "GADGET-002", "quantity": 2 }
  ],
  "shipments": [
    {
      "shipment_id": "ship_abc",
      "line_item_ids": ["item_1", "item_2"],
      "fulfillment_type": {
        "id": "SHIP_TO_ADDRESS",
        "name": "Ship to Address"
      },
      "shipping_method_options": [...],
      "shipping_method": {...}
    }
  ]
}

Key Concepts

Line Item Assignment

The line_item_ids array maps items to their respective shipments:

Fulfillment Types

Each shipment can support different fulfillment methods:
  • SHIP_TO_ADDRESS - Standard shipping to customer address
  • SCHEDULED_DELIVERY - Delivery with appointment selection
  • PICKUP_IN_STORE - Customer pickup at store location

Shipping Methods

Each shipment provides its own shipping options:
{
  "shipment_id": "ship_123",
  "shipping_method_options": [
    {
      "id": "standard",
      "description": "Standard Ground (5-7 days)",
      "price": { "value": 9.99 }
    },
    {
      "id": "express",
      "description": "Express (2 days)",
      "price": { "value": 29.99 }
    }
  ]
}

API Operations

The Full Cart API provides shipment-related operations:

Next Steps