⚡ Use Cases & Workflows

Welcome to the Seven Senders integration guide. This page provides a high-level overview of the most common integration use cases. Use the workflows below to identify the path that best fits your business needs. For detailed technical specifications and API endpoints, please refer to the relevant section or the specific page for step-by-step implementation guides.

High-Level Workflow

This workflow represents the standard path to getting started with the Seven Senders API. It covers the majority of core use cases, including Shipping Label creation, Return Portal setup, and Customs.

---
config:
  theme: redux
  layout: dagre
---
flowchart LR
    B{"7S Label?"} -- YES --> C["POST Label"]
    B -- NO --> D["POST Shipment"]
    A(["Start"]) --> n1["Authentication"]
    n1 --> n17["POST Order"]
    n2["POST Product"] --> n3["POST Product Image"]
    n3 --> n4["Post Order Item"]
    n5["POST Product"] --> n6["POST Product Image"]
    n6 --> n7["POST Order Item"]
    n4 --> n8["Customs Destination?"]
    n7 --> n8
    n8 -- YES --> n9["POST Customs Shipment"]
    n9 --> n10["7S Flex?"]
    n10 -- NO --> n11["POST Customs Manifest"]
    n8 -- NO --> n12(["END"])
    n10 -- YES --> n12
    n11 --> n12
    D --> n13["Retun Portal Pro?"]
    n13 -- YES --> n2
    n13 -- NO --> n8
    C --> n14["Retun Portal Pro?"]
    n14 -- YES --> n5
    n14 -- NO --> n8
    n17 --> B

    C@{ shape: rounded}
    D@{ shape: rounded}
    n1@{ shape: rounded}
    n17@{ shape: rounded}
    n2@{ shape: rounded}
    n3@{ shape: rounded}
    n4@{ shape: rounded}
    n5@{ shape: rounded}
    n6@{ shape: rounded}
    n7@{ shape: rounded}
    n8@{ shape: diam}
    n9@{ shape: rounded}
    n10@{ shape: diam}
    n11@{ shape: rounded}
    n13@{ shape: diam}
    n14@{ shape: diam}
     B:::Ash
     C:::Sky
     D:::Sky
     A:::Sky
     n1:::Sky
     n17:::Sky
     n2:::Sky
     n3:::Sky
     n4:::Sky
     n5:::Sky
     n6:::Sky
     n7:::Sky
     n8:::Ash
     n9:::Sky
     n10:::Ash
     n11:::Sky
     n12:::Sky
     n13:::Ash
     n14:::Ash
    classDef Ash stroke-width:1px,stroke-dasharray:none,stroke:#999999,fill:#EEEEEE,color:#000000
    classDef Sky stroke-width:1px,stroke-dasharray:none,stroke:#374D7C,fill:#E2EBFF,color:#374D7C
    style n3 stroke:#000000
    click C "https://sevensenders.readme.io/docs/create-shipping-labels"
    click D "https://sevensenders.readme.io/docs/create-shipment"
    click n1 "https://sevensenders.readme.io/docs/authentication"
    click n17 "https://sevensenders.readme.io/docs/create-order"
    click n2 "https://sevensenders.readme.io/docs/create-update-delete-product"
    click n3 "https://sevensenders.readme.io/docs/adding-deleting-product-images"
    click n4 "https://sevensenders.readme.io/docs/update-delete-order"
    click n5 "https://sevensenders.readme.io/docs/create-update-delete-product"
    click n6 "https://sevensenders.readme.io/docs/adding-deleting-product-images"
    click n7 "https://sevensenders.readme.io/docs/update-delete-order"
    click n9 "https://sevensenders.readme.io/docs/create-customs-shipment"
    click n11 "https://sevensenders.readme.io/docs/create-customs-manifest"


International Shipping & 7S Shipping Label

This workflow is used when Seven Senders manages the physical transport of your parcels in combination with our 7S Label service, which is one of the most common setups. If required, you can also use our system to generate labels for other carriers that you work with independently of Seven Senders. For more information, please contact your Key Account Manager.

This workflow considers the following scenarios:

  • Shipping Label Creation
  • Shipping Label Download
  • Customs Shipment Creation
  • Customs Manifesting
---
config:
  theme: neutral
  layout: dagre
---
flowchart LR
    n8["Authentication"] --> n10["Post Shipping Label"]
    n10 --> n9["Download Shipping Label"]
    n11(["Start"]) --> n8
    n9 --> n13["Customs Destination?"]
    n13 -- YES --> n14["Post Customs Shipment"]
    n13 -- NO --> n15(["End"])
    n14 --> n17["7S Flex?"]
    n17 -- YES --> n15
    n17 --> n18["Post Customs Manifest"]
    n18 --> n15
    n12["Untitled Node"]
    n5["Untitled Node"]
    n6["Untitled Node"]

    n8@{ shape: rounded}
    n10@{ shape: rounded}
    n9@{ shape: rounded}
    n13@{ shape: diam}
    n14@{ shape: rounded}
    n17@{ shape: diam}
    n18@{ shape: rounded}
    n12@{ shape: anchor}
    n5@{ shape: anchor}
    n6@{ shape: anchor}
     n8:::Sky
     n10:::Sky
     n9:::Sky
     n11:::Sky
     n13:::Ash
     n14:::Sky
     n15:::Sky
     n17:::Ash
     n18:::Sky
     n12:::Sky
     n5:::Sky
    classDef Rose stroke-width:1px, stroke-dasharray:none, stroke:#FF5978, fill:#FFDFE5, color:#8E2236
    classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
    classDef Ash stroke-width:1px, stroke-dasharray:none, stroke:#999999, fill:#EEEEEE, color:#000000
    click n8 "https://sevensenders.readme.io/docs/authentication"
    click n10 "https://sevensenders.readme.io/docs/create-shipping-labels"
    click n9 "https://sevensenders.readme.io/docs/create-shipping-labels"
    click n14 "https://sevensenders.readme.io/docs/create-customs-shipment"
    click n18 "https://sevensenders.readme.io/docs/create-customs-manifest"

7S PUDO Locator

The Seven Senders PUDO Locator allows customers to retrieve PUDO locations (out-of-home delivery points) based on various input parameters, such as geographic coordinates or address details. The locator returns a list of PUDO locations sorted by distance ("air distance"). Those results can then be pre-filtered and integrated into your checkout process, either as a map view or as a list of available locations.

The diagram below illustrates the standard implementation process, starting with authentication and ending with storing the selected location ID in the order object.

---
config:
  theme: neutral
  layout: dagre
---
flowchart LR
    Start(["Customer starts Checkout"]) --> Auth["POST Token"]
    SearchMethod{"Search Method?"} -- Geolocation --> SearchCoords["GET Locations by Coordinates"]
    SearchMethod -- User Input --> SearchAddr["GET Locations by Address"]
    SearchMethod -- Full List --> SearchAll["GET All Locations"]
    SearchCoords --> Response["JSON Response Received"]
    SearchAddr --> Response
    SearchAll --> Response
    Display["Display Map/List to Customer"] --> Select["Customer selects PUDO Location"]
    Select --> Save["Store location_id in Order"]
    Save --> End(["End Integration Workflow"])
    Auth --> SearchMethod
    Response --> Display

    Auth@{ shape: rounded}
    SearchCoords@{ shape: rounded}
    SearchAddr@{ shape: rounded}
    SearchAll@{ shape: rounded}
    Response@{ shape: rounded}
    Display@{ shape: rounded}
    Select@{ shape: rounded}
    Save@{ shape: rounded}
     Start:::Sky
     Auth:::Sky
     SearchMethod:::Ash
     SearchCoords:::Sky
     SearchAddr:::Sky
     SearchAll:::Sky
     Response:::Sky
     Display:::Sky
     Select:::Sky
     Save:::Sky
     End:::Sky
    classDef Sky stroke-width:1px,stroke-dasharray:none,stroke:#374D7C,fill:#E2EBFF,color:#374D7C
    classDef Ash stroke-width:1px,stroke-dasharray:none,stroke:#999999,fill:#EEEEEE,color:#000000
    click SearchCoords "https://sevensenders.readme.io/docs/pudo"
    click SearchAddr "https://sevensenders.readme.io/docs/pudo"
    click SearchAll "https://sevensenders.readme.io/docs/pudo"


International Shipping & Own Shipping Label

In specific technical setups, it may be appropriate to use your own system to generate the required shipping labels. In this scenario, you would still need to provide us with the relevant shipment and customs data, if applicable.

Below you will find a description of the data flow for this setup.

---
config:
  theme: redux
  layout: dagre
---
flowchart LR
    n1(["START"]) --> n2["Authentication"]
    n2 --> n4["POST Shipment"]
    n4 --> n5["Customs Destination?"]
    n5 -- YES --> n6["POST Customs Shipment"]
    n6 --> n7["7S Flex?"]
    n7 -- NO --> n8["POST Customs Manifest"]
    n8 --> n9(["END"])
    n5 -- NO --> n9
    n7 -- YES --> n9

    n2@{ shape: rounded}
    n4@{ shape: rounded}
    n5@{ shape: diam}
    n6@{ shape: rounded}
    n7@{ shape: diam}
    n8@{ shape: rounded}
     n1:::Sky
     n2:::Sky
     n4:::Sky
     n5:::Ash
     n6:::Sky
     n7:::Ash
     n8:::Sky
     n9:::Sky
    classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
    classDef Ash stroke-width:1px, stroke-dasharray:none, stroke:#999999, fill:#EEEEEE, color:#000000
    click n2 "https://sevensenders.readme.io/docs/authentication"
    click n4 "https://sevensenders.readme.io/docs/create-shipment"
    click n6 "https://sevensenders.readme.io/docs/create-customs-shipment"
    click n8 "https://sevensenders.readme.io/docs/create-customs-manifest"
    linkStyle 3 stroke:#000000,fill:none

Return Portal

When managing reverse logistics through our 7S Return Portal, there are two available integration options: Return Portal Pro (extended data exchange) and Return Portal Light (basic data exchange).

Return Portal Light

The Return Portal Light is a simplified version of our returns solution, designed for quick time to market and ease of use. Unlike the Pro version, it does not require data on order item and product level.

  • No Additional Data Required: You do not need to provide specific information for order items, such as individual item IDs or product details.
  • Core Integration Steps: This workflow focuses strictly on the creation of the Order and the Shipment.

For a detailed look at how this fits into your specific technical setup, please refer to the primary High-Level Overview workflow illustrated at the top of this page.

Return Portal Pro

The Pro version is designed to enable return management at the individual article level and therefore requiring a full exchange of order item and product data.

Implementation Requirements:

  • Product Endpoints: Synchronization of the product catalog.
  • Product Images: Visual assets to assist the end-user during the return process.
  • Order Items: Management of individual items to support partial returns.
---
config:
  theme: redux
  layout: dagre
---
flowchart LR
    B{"7S Label?"} -- YES --> C["POST Label"]
    B -- NO --> D["POST Shipment"]
    A(["Start"]) --> n1["Authentication"]
    n1 --> B
    D --> n2["POST Product"]
    n2 --> n3["POST Product Image"]
    n3 --> n4["Post Order Item"]
    C --> n5["POST Product"]
    n5 --> n6["POST Product Image"]
    n6 --> n7["POST Order Item"]
    n4 --> n8["Customs Destination?"]
    n7 --> n8
    n8 -- YES --> n9["POST Customs Shipment"]
    n9 --> n10["7S Flex?"]
    n10 -- NO --> n11["POST Customs Manifest"]
    n8 -- NO --> n12(["END"])
    n10 -- YES --> n12
    n11 --> n12

    C@{ shape: rounded}
    D@{ shape: rounded}
    n1@{ shape: rounded}
    n2@{ shape: rounded}
    n3@{ shape: rounded}
    n4@{ shape: rounded}
    n5@{ shape: rounded}
    n6@{ shape: rounded}
    n7@{ shape: rounded}
    n8@{ shape: diam}
    n9@{ shape: rounded}
    n10@{ shape: diam}
    n11@{ shape: rounded}
     B:::Ash
     C:::Sky
     D:::Sky
     A:::Sky
     n1:::Sky
     n2:::Sky
     n3:::Sky
     n4:::Sky
     n5:::Sky
     n6:::Sky
     n7:::Sky
     n8:::Ash
     n9:::Sky
     n10:::Ash
     n11:::Sky
     n12:::Sky
    classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
    classDef Ash stroke-width:1px, stroke-dasharray:none, stroke:#999999, fill:#EEEEEE, color:#000000
    style n3 stroke:#000000
    click C "https://sevensenders.readme.io/docs/create-shipping-labels"
    click D "https://sevensenders.readme.io/docs/create-shipment"
    click n1 "https://sevensenders.readme.io/docs/authentication"
    click n2 "https://sevensenders.readme.io/docs/create-update-delete-product"
    click n3 "https://sevensenders.readme.io/docs/adding-deleting-product-images"
    click n4 "https://sevensenders.readme.io/docs/update-delete-order"
    click n5 "https://sevensenders.readme.io/docs/create-update-delete-product"
    click n6 "https://sevensenders.readme.io/docs/adding-deleting-product-images"
    click n7 "https://sevensenders.readme.io/docs/update-delete-order"
    click n9 "https://sevensenders.readme.io/docs/create-customs-shipment"
    click n11 "https://sevensenders.readme.io/docs/create-customs-manifest"


Analytics

To leverage our analytics tool to its full extent, we recommend providing order data independently from your shipment or label creation process. This adapted workflow allows you to track both order states and shipment statuses, including specific events such as refunds.

7S Shipping & Analytics (Decoupled Order Creation)

Warehouse Performance Monitoring: To track warehouse performance accurately, we recommend a two-step API approach:

  • Early Order Creation: Create the order via the API as soon as it is received by your system
  • Decoupled Labeling: Generate the shipping label later during the warehouse fulfillment process.
📘

Benefit: This allows for precise monitoring of the time elapsed between order receipt and physical dispatch, providing better visibility into your downstream operations.

---
config:
  theme: redux
  layout: dagre
---
flowchart LR
    B{"7S Label?"} -- YES --> C["POST Label"]
    B -- NO --> D["POST Shipment"]
    A(["Start"]) --> n1["Authentication"]
    n1 --> n17["POST Order"]
    n17 --> B
    C --> n18["PUT Order"]
    D --> n18
    n18 --> n19["POST Order States"]

    C@{ shape: rounded}
    D@{ shape: rounded}
    n1@{ shape: rounded}
    n17@{ shape: rounded}
    n18@{ shape: rounded}
    n19@{ shape: rounded}
     B:::Ash
     C:::Sky
     D:::Sky
     A:::Sky
     n1:::Sky
     n17:::Sky
     n18:::Sky
     n19:::Sky
    classDef Ash stroke-width:1px,stroke-dasharray:none,stroke:#999999,fill:#EEEEEE,color:#000000
    classDef Sky stroke-width:1px,stroke-dasharray:none,stroke:#374D7C,fill:#E2EBFF,color:#374D7C
    click C "https://sevensenders.readme.io/docs/create-shipping-labels"
    click D "https://sevensenders.readme.io/docs/create-shipment"
    click n1 "https://sevensenders.readme.io/docs/authentication"
    click n17 "https://sevensenders.readme.io/docs/create-order"
    click n18 "https://sevensenders.readme.io/docs/create-order"

Outbound

For outbound logistics, the order lifecycle is managed through status updates and completion flags:

  • Order Completion: Once the process is finished, the order can be updated by setting "boarding_complete" to "true".
  • Status Updates: Use the POST Order State messages to keep the system synchronized.
    • Preparation Phase: Utilize states such as "In Preparation" to monitor the internal warehouse progress before the parcel is handed to a carrier.

Returns

For reverse logistics, tracking the reimbursement process is critical for customer satisfaction:

  • Refund Monitoring: Use specific states like "Refunded" or "Returned to Warehouse" in the POST Order State to trigger internal financial workflow.

Analytics + Decoupled Order Creation (7S Independent Shipping)