Fulfillment Outbound Workflow Guide

Learn the basics of the Fulfillment Outbound API.

This guide goes through the primary workflow of the Fulfillment Outbound API:

  1. Place a Fulfillment Order
  2. Set Up Real-Time Notifications
  3. Track Delivery and Handle Order Outcomes

Prerequisites

To complete these tutorials, you need:

Fulfillment Resource Lifecycle

flowchart LR
    classDef proc fill:#e07b20,color:#fff,stroke:#e07b20
    classDef ok fill:#2d7a3e,color:#fff,stroke:#2d7a3e
    classDef alt fill:#6c757d,color:#fff,stroke:#6c757d

    subgraph ord["Order"]
        direction LR
        OP["PROCESSING"]:::proc --> OC["COMPLETE"]:::ok
        OP -.-> OCP["COMPLETE_PARTIAL"]:::alt
        OP -.-> OU["UNFULFILLABLE"]:::alt
        OP -.-> OCA["CANCELLED"]:::alt
    end

    subgraph shp["Shipment"]
        direction LR
        SP["PROCESSING"]:::proc --> SS["SHIPPED"]:::ok
        SP -.-> SCA["CANCELLED"]:::alt
    end

    subgraph pkg["Package"]
        direction LR
        PP["PROCESSING"]:::proc --> PT["IN_TRANSIT"]:::ok --> PO["OUT_FOR_DELIVERY"]:::ok --> PDL["DELIVERED"]:::ok
        PT -.-> PD["DELAYED"]:::alt
        PO -.-> PU["UNDELIVERABLE"]:::alt
        PDL -.-> PE["EXPIRED"]:::alt
        PDL -.-> PR["RETURNED"]:::alt
    end
  • Orders are the top-level resource representing a customer's request to receive items. Possible statuses:
    • PROCESSING
    • COMPLETE
    • COMPLETE_PARTIAL
    • CANCELLED
    • UNFULFILLABLE
    • INVALID.
  • Shipments are physical groups of packages sent from a fulfillment center. An order may have multiple shipments. Each shipment includes amazonFacility.facilityId and amazonFacility.address that identify the fulfillment center from which it shipped. This can be used to determine the origin state for sales tax calculations on non-Amazon channel orders. Possible statuses:
    • PROCESSING
    • SHIPPED
    • CANCELLED
  • Packages are the individual parcels delivered to the customer. A package progresses through: PROCESSING, IN_TRANSIT, OUT_FOR_DELIVERY, and DELIVERED statuses. It may also reach DELAYED, UNDELIVERABLE, RETURNED, or EXPIRED statuses. For eligible packages that reach DELIVERED, Amazon may populate tracking.proofOfDelivery with a deliveryPhotoUrl, a time-limited URL for the delivery photo, and receivedBy, the name of the recipient, if documented. The location where the package was left is available at tracking.dropOffLocation.