Workflow - Return Portal Pro

To better understand the integration requirements for using the Return Portal Pro, please review the workflows outlined below.

This section explains how to connect to the Seven Senders API when using Return Portal Pro together with the Seven Senders Delivery Service. It includes all required API workflows to support product catalogues, order items, and return creation in your return portal. The Return Portal Pro enables customers to select specific items from an order for return. To support this workflow, you must push product master data, order data, order items, and shipment information through the API. Once this data is available, the Return Portal Pro will automatically allow customers to create returns and generate return labels.

Before calling the API, you must be authorized and have access to your API token.

Step 1: Create Your Product Library

Before sending orders, you must upload your item master data so that products display correctly in the return portal.

  • POST /Product: Create a product by supplying SKU, customs data (if applicable), and other attributes.

  • PUT /ProductImage: Upload the product image in Base64 format so it displays in the portal.

Step 2: Create an Order

Create an order using POST /Order. This represents the order your customer placed in your shop.

The order_id is required for log-in.

Optionally include order localisation (URL and language) for portal mapping.

Available Languages

  • bg; cs; da; de; el; en; es; et; fi; fr; ga; hr; hu; it; lt; lv; mt; pl; pt; ro; ru; sk; sl; sv & uk

Parameter Reference

FieldTypeFormat / ExampleRequiredDescription
order_idstring"QA_order_2020_07_31_091340"YesUnique order reference in your system.
order_urlstring (URL)"https://shop.example.com"RecommendedURL of the shop where the order was placed. Used for localization mapping.
order_datestring"2020-07-31T07:00:00+00:00"YesOrder creation timestamp in ISO-8601 format (UTC recommended).
boarding_completebooleanfalseNoIndicates whether all shipments of a multi-parcel order have been imported.
languagearray[string]["en"]RecommendedCustomer language or shop language. Required if email/SMS notifications are triggered.
order_tagsobject{"tag_1": "test"}NoCustom tags or properties for order segmentation and filtering.
promised_delivery_datestring"2020-08-05T07:00:00+00:00"RecommendedPromised delivery timestamp communicated to the customer (ISO-8601).

Example JSON Payload


{
  "order_id": "QA_order_2020_07_31_091340",
  "order_url": "https://shop.example.com",
  "order_date": "2020-07-31T07:00:00+00:00",
  "boarding_complete": false,
  "language": ["en"],
  "order_tags": {
    "tag_1": "test"
  },
  "promised_delivery_date": "2020-08-05T07:00:00+00:00"
}

Step 3: Create Order Items

Send each item in the order using POST /OrderItem. This associates the item SKU and order with the customer’s order and drives the item-level return selection in the portal.

Parameter Reference

FieldTypeFormat / ExampleRequiredUsed in Consumer Return PortalDescription
order_idstring"QA_order_2020_07_31_091340"YesYesUnique order reference used to associate the item with an order.
skustring"QA_SKU_2020-07-31_091254"YesNoUnique product identifier (SKU).
shipment_idstring"123456789"NoNoShipment identifier returned by the Create Shipment API.
warehouse_addressstring"Schleißheimer Str. 506\n80933 München"NoNoWarehouse address handling the return.
warehousestring"Warehouse 1"NoNoWarehouse name.
shop_product_urlstring (URL)"https://www.sevensenders.com"NoNoURL to redirect the consumer to the original product page.
namestring"Shirt"YesYesProduct name displayed in the return portal (language-specific).
descriptionstring"Shirt description"YesYesShort product description shown in the portal (language-specific).
sales_pricenumber (float)19.99YesYesSales price paid by the customer.
currencystring (ISO 4217)"EUR"YesYesCurrency code of the sales price.
sizestring"Medium"YesYesProduct size.
weightnumber (float)5.0YesNoWeight in kilograms.
appearancestring"White"NoNoAttribute describing the appearance (e.g., color).
returnablebooleantrueYesYesIndicates whether the item can be selected for return.
bundle_itemstring"3456"NoNoIdentifier grouping multiple items into a return bundle. All items in the bundle must be returned together.

Example JSON Payload

{
  "order_id": "QA_order_2020_07_31_091340",
  "sku": "QA_SKU_2020-07-31_091254",
  "shipment_id": "123456789",
  "warehouse_address": "Schleißheimer Str. 506\n80933 München",
  "warehouse": "Warehouse 1",
  "shop_product_url": "https://www.sevensenders.com",
  "name": "Shirt",
  "description": "Shirt description",
  "sales_price": 19.99,
  "currency": "EUR",
  "size": "Medium",
  "weight": 5.0,
  "appearance": "White",
  "returnable": true,
  "bundle_item": "3456"
}

Step 4: Create a Shipment

Once order items are created, send the related shipment using POST /Shipment. The tracking_code and customer_email fields are required, order_id links the shipment to the order.


Step 5: Update Order Items With Shipment ID (Optional)

You can link order items to the shipment record used for delivery. This step helps ensure data completeness but is not strictly required for the return portal to function (PUT /OrderItem).

Step 6: Push Shipment Events

To track the return process end-to-end, send shipment events via POST /ShipmentEvent. Recommended events:

  • Refunded – when the refund has been issued
  • Returned to warehouse – when the return parcel has arrived at the final warehouse destination