ItGoesForward (alpa 0.33.0)

Download OpenAPI specification:

This is a starting point for IGF API based on the OpenAPI 3.0 specification. For a detailed changelog, refer to the Changelog page.

[0.34.0] - 2025-02-26

Added

- **Listings**:
    - The `POST /listings` endpoint now requires a mandatory field called `returnReason`.
- **Retailers**:
    - Retailers now store a list of supported countries in a field called `countries`.

Listings

Operations regarding the listings. Listings are products that customers want to return and are waiting to be matched with new buyers.

Get all listings that are still available.

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new listing

Create a new listing and checks if the customer already exists. If it does it creates the listing with this customer,otherwise it creates a new customer and then the listing. Customer exits if the email and the address are the same. The country code must follow the ISO 3166-1 alpha-2 standard for example "NL", "DE", "BE"...

Authorizations:
api-key
Request Body schema: application/json
sku
required
string
productId
required
string
listingWebshopOrderId
required
string
returnReason
required
string
Enum: "color" "too_small" "too_big" "broken" "style" "not_what_expected" "changed_my_mind" "other_good_condition" "other_bad_condition" "no_reason" "wrong_item"
returnReasonComment
string
originalPrice
required
number
quantity
integer

The quantity of the product you want added

maxQuantity
integer

The maximum quantity of the product (the amount of product in the order)

required
object (CustomerRequest)

Responses

Request samples

Content type
application/json
{
  • "sku": "12345ab",
  • "productId": "prod123",
  • "listingWebshopOrderId": "someId",
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "originalPrice": 100,
  • "quantity": 1,
  • "maxQuantity": 3,
  • "customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

Get all listings that have ever been listed.

It shows all listings, purchased or not. You can also specify a list of listing IDs or a listingWebshopOrderId in query parameters to filter the listings.

Authorizations:
api-key
query Parameters
ids
Array of integers <int32> [ items <int32 > ]

Comma-separated list of listing IDs.

listingWebshopOrderId
string

A specific listingWebshopOrderId to filter listings by. If provided, returns listings associated with the given listingWebshopOrderId.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all listings with by product ids.

Authorizations:
api-key
query Parameters
ids
required
Array of integers <int32> [ items <int32 > ]

Comma-separated list of listing product IDs.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific listing.

Authorizations:
api-key
path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

Update a specific listing.

Authorizations:
api-key
path Parameters
id
required
integer <int32>
Request Body schema: application/json
originalPrice
number or null <float>

The original price of the product

status
string or null
Enum: "Available" "Pending"

return status

lastUpdateDiscount
string or null <date-time>

ISO 8601 date string for the last update discount

discountValue
number or null <float>

Discount value applied to the product

discountPercentage
number or null <float>

Discount percentage applied to the product

discountCurrency
string or null

Currency for the discount value

Responses

Request samples

Content type
application/json
{
  • "originalPrice": 0.1,
  • "status": "Available",
  • "lastUpdateDiscount": "2019-08-24T14:15:22Z",
  • "discountValue": 0.1,
  • "discountPercentage": 0.1,
  • "discountCurrency": "EUR"
}

Response samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

Delete a specific listing.

Authorizations:
api-key
path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get listings by SKU ID.

Authorizations:
api-key
path Parameters
skuId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get listings by customer ID.

Customer ID in this case is in this case always going to be the sender of the listing.

Authorizations:
api-key
path Parameters
customerId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get listings by product ID.

Authorizations:
api-key
path Parameters
productId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Cancel a listing with the given Id

Cancel a listing. When a listing is cancelled the order and shipment are also cancelled. If a shipment has been shipped, listing order and shipment can not be cancelled anymore.

Authorizations:
api-key
path Parameters
listingId
required
integer <int32>

ID of listing to cancel

Request Body schema: application/json
cancelReason
string
Enum: "NOT_DELIVERED_BY_CARRIER" "CUSTOMER_BANNED" "MATCHING_PERIOD_PASSED" "RETURN_DEADLINE_PASSED" "USER_CANCELLED"

Order Status

Responses

Request samples

Content type
application/json
{
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER"
}

Response samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

Get a specific listing by its nanoId.

Authorizations:
api-key
path Parameters
id
required
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

Orders

An order is created when someone purchases a listing. At this point, the buyer is added, and a corresponding order is generated.

Returns all orders, or get order by listing ID

Returns all orders for the tenant, or a specific order if a listing ID is provided.

Authorizations:
api-key
query Parameters
listingId
integer

ID of the listing to filter orders

options
string
Value: "ordersDetails"

Currently supports 'ordersDetails' option to return orders only with 'sku', 'webshopOrderId', and 'listingWebshopOrderId' sorted by creation date.

Responses

Response samples

Content type
application/json
Example
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Creates an order, when a customer buys a listed return

Place an order, a listing is purchased. Creates a new customer (which is receiver in this case) if it does not exist yet. If it does it creates a new order with existing customer (receiver). Sender is retrieved from the listingId provided in the request body. This starts the handin period. It also sends listing matched email to the senders address.

Authorizations:
api-key
Request Body schema:
listingId
required
integer <int32>
webshopOrderId
string
webshopOrderItemId
string
carrierName
string
Enum: "PostNL" "DHL_eCommerce_Benelux" "TestCarrier"

The Name of the Carrier, if not provided the first one added will be selected by default.

required
object

Will create new customer if it doest exist and set it as receiver of the order.

Responses

Request samples

Content type
{
  • "listingId": 23,
  • "webshopOrderId": "sa23Dq",
  • "webshopOrderItemId": "sa23Dq",
  • "carrierName": "PostNL",
  • "Customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Find purchase order by ID

Returns a single purchase order by ID

Authorizations:
api-key
path Parameters
orderId
required
integer <int32>

ID of order that needs to be fetched

Responses

Response samples

Content type
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Delete purchase order by ID

For valid response try integer IDs with value < 1000. Anything above 1000 or non-integers will generate API errors

Authorizations:
api-key
path Parameters
orderId
required
integer <int32>

ID of the order that needs to be deleted

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Commits an order to the database

An order is commited initially in case an error while creating the order appears. If a problem doesn't occur the retailer is free to continue on with the payment. After the payment the order has to be confirmed or rejected in /orders/finalize/:id

Authorizations:
api-key
Request Body schema:
listingId
required
integer <int32>
webshopOrderId
string
webshopOrderItemId
string
carrierName
string
Enum: "PostNL" "DHL_eCommerce_Benelux" "TestCarrier"

The Name of the Carrier, if not provided the first one added will be selected by default.

required
object

Will create new customer if it doest exist and set it as receiver of the order.

Responses

Request samples

Content type
{
  • "listingId": 23,
  • "webshopOrderId": "sa23Dq",
  • "webshopOrderItemId": "sa23Dq",
  • "carrierName": "PostNL",
  • "Customer": {
    }
}

Response samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Confirms or rejects an order to the database

An order is confirmed or rejected based on the action in the body. If it is rejected the listing is set back to Available and all related data is deleted

Authorizations:
api-key
path Parameters
id
required
integer

ID of the order to be confirmed or rejected

Request Body schema: application/json
action
required
string
Enum: "CONFIRM" "REJECT"

Action to be performed on the order (CONFIRM or REJECT)

Responses

Request samples

Content type
application/json
{
  • "action": "CONFIRM"
}

Response samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Get orders by SKU ID

Authorizations:
api-key
path Parameters
skuId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get orders by customerID of the receiver

Authorizations:
api-key
path Parameters
receiverId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get orders by the customerID of the sender

Authorizations:
api-key
path Parameters
senderId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get orders by product ID

Authorizations:
api-key
path Parameters
productId
required
integer <int32>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the initial webshop order id by current webshop order id

Gets the initial webshop order which the warehouse sent to the first customer before the article was forwarded.

Authorizations:
api-key
path Parameters
id
required
string

Webshop order ID

Responses

Response samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Get latest order in the order chain by listingWebshopOrderId

Give the initial webshop order id and get the latest order on this item. This happens because one item can be forwarded multiple times and we want to know what was the latest order in the chain.

Authorizations:
api-key
path Parameters
id
required
string

Listing webshop order ID

Responses

Response samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

Shipments

A shipment is created when an order is shipped. Upon creation, shipment data is to the carrier, and the shipping label is retrieved from the carrier.

Gets all shipments, or gets shipment by orderId or listingId

Gets all shipments of the tenant, or a specific shipment if an orderId or listingId is provided. Only one of the parameters (orderId or listingId) can be provided at a time.

Authorizations:
api-key
query Parameters
orderId
integer

ID of the order to filter shipments. Cannot be used with listingId.

listingId
integer

ID of the listing to filter shipments. Cannot be used with orderId.

Responses

Response samples

Content type
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

Creates a shipment after the sender has shipped the product

Creates a shipment and returns the shipment label from the carrier. The return address for the shipment is the address of the tenants warehouse. (NOTE':' currently no multiple warehouse support. Only the warehouse added first will be used as a return address)

Authorizations:
api-key
Request Body schema: application/json
orderId
required
integer <int32>

ID pf the order.

Responses

Request samples

Content type
application/json
{
  • "orderId": 10
}

Response samples

Content type
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 2,
  • "createdAt": "2024-05-14T15:16:55.636Z",
  • "updatedAt": "2024-05-14T15:17:00.594Z",
  • "label": "SomeBase64String",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR"
}

Find shipment by ID

Gets the status of a single shipment

Authorizations:
api-key
path Parameters
shipmentId
required
string

ID of shipment to return

Responses

Response samples

Content type
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

Deletes a shipment

delete a shipment

Authorizations:
api-key
path Parameters
shipmentId
required
integer <int32>

shipment id to delete

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Set the status of a shipment to delivered

Set the status of a shipment to delivered and set the listing and order status to completed

Authorizations:
api-key
path Parameters
shipmentId
required
string

ID of shipment to return

Responses

Response samples

Content type
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

Set feedback for a shipment

Set feedback for a shipment by its id. Feedback needs to be an integer between 0 and 2.

Authorizations:
api-key
path Parameters
shipmentId
required
string

ID of shipment to return

Request Body schema: application/json
required

Feedback object that needs to be set for the shipment

feedback
integer [ 0 .. 2 ]

Feedback values:

  • 0: Bad feedback, sends a bad feedback email to receiver, pepijn.itgoesforward.com and carl.itgoesforward.com.
  • 1: Neutral feedback, nothing happens.
  • 2: Good feedback, sends an email to the sender.

Responses

Request samples

Content type
application/json
{
  • "feedback": 2
}

Response samples

Content type
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

Customer

Operations regarding the customer. Customer can be either sender (the one who returns the product) or receiver (the one who buys the product).

Get customer by id

Returns customer by the id. Customer is a sender or a receiver.

Authorizations:
api-key
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "username": "john_doe",
  • "firstName": "John",
  • "lastName": "Doe",
  • "email": "john.doe@example.com",
  • "phone": "+1234567890",
  • "customerStatus": 1,
  • "addressId": 1001,
  • "language": "nl"
}

Update customer

Updates customer.

Authorizations:
api-key
path Parameters
id
required
string

id of customer that needs to be updated, with info that needs to be updated

Request Body schema: application/json

Update an existent customer in the store

username
string
email
required
string <email>
firstName
string
lastName
required
string
phone
string
language
string
required
object (Address)

Responses

Request samples

Content type
application/json
{
  • "username": "john_doe",
  • "email": "john.doe@example.com",
  • "firstName": "John",
  • "lastName": "Doe",
  • "phone": "+1234567890",
  • "language": "en",
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "username": "john_doe",
  • "firstName": "John",
  • "lastName": "Doe",
  • "email": "john.doe@example.com",
  • "phone": "+1234567890",
  • "customerStatus": 1,
  • "addressId": 1001,
  • "language": "nl"
}

Delete customer

/

Authorizations:
api-key
path Parameters
id
required
string

The id of customer that needs to be deleted

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Ban customer by email

Ban customer by email

Authorizations:
api-key
Request Body schema: application/json
string

Responses

Request samples

Content type
application/json
"email@real.com"

Response samples

Content type
application/json
{
  • "id": 123,
  • "username": "john_doe",
  • "firstName": "John",
  • "lastName": "Doe",
  • "email": "john.doe@example.com",
  • "phone": "+1234567890",
  • "customerStatus": 1,
  • "addressId": 1001,
  • "language": "nl"
}

Get customer by email

Authorizations:
api-key
path Parameters
email
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "username": "john_doe",
  • "firstName": "John",
  • "lastName": "Doe",
  • "email": "john.doe@example.com",
  • "phone": "+1234567890",
  • "customerStatus": 1,
  • "addressId": 1001,
  • "language": "nl"
}

Warehouse

Operations regarding the warehouses.

Get all warehouse

Returns all warehouse

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new warehouse

Create a new warehouse

Authorizations:
api-key
Request Body schema: application/json
name
required
string
address
string
postalCode
required
string
city
required
string
countryCode
required
string
houseNumber
required
string
street
required
string
type
string

Type of the warehouse

responsibleEmployeeLastname
string
responsibleEmployeeFirstname
string
responsibleEmployeeEmail
string <email>

Responses

Request samples

Content type
application/json
{
  • "name": "Warehouse 1",
  • "address": "123 Example St",
  • "postalCode": "12345",
  • "city": "Example City",
  • "countryCode": "EX",
  • "houseNumber": "22a",
  • "street": "Example Street",
  • "type": "Warehouse Type",
  • "responsibleEmployeeLastname": "Doe",
  • "responsibleEmployeeFirstname": "John",
  • "responsibleEmployeeEmail": "john.doe@example.com"
}

Response samples

Content type
application/json
{
  • "id": 2,
  • "name": "Main Warehouse",
  • "address": "123 Warehouse Lane",
  • "postalCode": "2645JT",
  • "city": "Amsterdam",
  • "countryCode": "NL",
  • "country": "NL",
  • "houseNumber": "33a",
  • "street": "warehouse street 5",
  • "retailerId": 1,
  • "type": null,
  • "responsibleEmployeeLastname": "Tester",
  • "responsibleEmployeeFirstname": "Filip",
  • "responsibleEmployeeEmail": "filip@tester.com"
}

Get warehouse by id

Returns warehouse by the id

Authorizations:
api-key
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 2,
  • "name": "Main Warehouse",
  • "address": "123 Warehouse Lane",
  • "postalCode": "2645JT",
  • "city": "Amsterdam",
  • "countryCode": "NL",
  • "country": "NL",
  • "houseNumber": "33a",
  • "street": "warehouse street 5",
  • "retailerId": 1,
  • "type": null,
  • "responsibleEmployeeLastname": "Tester",
  • "responsibleEmployeeFirstname": "Filip",
  • "responsibleEmployeeEmail": "filip@tester.com"
}

Update warehouse

Updates warehouse.

Authorizations:
api-key
path Parameters
id
required
string

id of warehouse that needs to be updated, with info that needs to be updated

Request Body schema: application/json

Update an existent warehouse in the store

name
required
string
address
string
postalCode
required
string
city
required
string
countryCode
required
string
houseNumber
required
string
street
required
string
type
string

Type of the warehouse

responsibleEmployeeLastname
string
responsibleEmployeeFirstname
string
responsibleEmployeeEmail
string <email>

Responses

Request samples

Content type
application/json
{
  • "name": "Warehouse 1",
  • "address": "123 Example St",
  • "postalCode": "12345",
  • "city": "Example City",
  • "countryCode": "EX",
  • "houseNumber": "22a",
  • "street": "Example Street",
  • "type": "Warehouse Type",
  • "responsibleEmployeeLastname": "Doe",
  • "responsibleEmployeeFirstname": "John",
  • "responsibleEmployeeEmail": "john.doe@example.com"
}

Response samples

Content type
application/json
{
  • "id": 2,
  • "name": "Main Warehouse",
  • "address": "123 Warehouse Lane",
  • "postalCode": "2645JT",
  • "city": "Amsterdam",
  • "countryCode": "NL",
  • "country": "NL",
  • "houseNumber": "33a",
  • "street": "warehouse street 5",
  • "retailerId": 1,
  • "type": null,
  • "responsibleEmployeeLastname": "Tester",
  • "responsibleEmployeeFirstname": "Filip",
  • "responsibleEmployeeEmail": "filip@tester.com"
}

Delete warehouse

/

Authorizations:
api-key
path Parameters
id
required
string

The id of warehouse that needs to be deleted

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Get all warehouse by retailer

Returns all warehouse by retailer

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Webhooks

Operations regarding webhooks. Allow customers to subscribe to changes made to listings.

Subscribe to a webhook. NOTE: Only one webhook per event type is allowed

Authorizations:
api-key
Request Body schema: application/json
required
eventType
required
string (EventType)
Enum: "ADD_LISTING" "UPDATE_LISTING" "RETURN_DEADLINE_PASSED" "RETURN_CANCELED" "LABELED" "SHIPPED" "COMPLETED" "REFUND"

The event type for which the webhook is being subscribed.

  • ADD_LISTING: Triggered when a listing is added.
  • UPDATE_LISTING: Triggered when a listing is updated.
  • RETURN_DEADLINE_PASSED: Triggered when the return deadline is passed, and the listing is still not handed in with a carrier.
  • RETURN_CANCELED: Triggered when the return is canceled by the sender/customer returning the product.
  • LABELED: Triggered when the order is labeled.
  • SHIPPED: Triggered when the order is shipped.
  • COMPLETED: Triggered when the order is completed.
  • REFUND: Triggered when a refund has to be issued for an it.
url
required
string <uri>

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get all webhooks

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[]

Delete a webhook by ID

Authorizations:
api-key
path Parameters
id
required
integer

The ID of the webhook to delete

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Delete a webhook by event type

Authorizations:
api-key
path Parameters
eventType
required
string (EventType)
Enum: "ADD_LISTING" "UPDATE_LISTING" "RETURN_DEADLINE_PASSED" "RETURN_CANCELED" "LABELED" "SHIPPED" "COMPLETED" "REFUND"

The event type of the webhook to delete

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Info

Returns the tenant information. Number of listings, number of orders, number of shipments and periods.

Get tenant information

Retrieves the number of listings, orders, shipments, and other relevant details of the specified tenant.

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "Name": "tenant_database_name",
  • "Number of listings": 5,
  • "Number of orders": 10,
  • "Number of shipments": 3,
  • "Handin Period": "2024-01-01 to 2024-02-01",
  • "Matching Period": "2024-02-02 to 2024-03-01"
}

Check if the given items can be forwarded

Authorizations:
api-key
Request Body schema: application/json
Array of objects (Item)
webshopOrderId
string

Webshop order ID

object (Address)

Responses

Request samples

Content type
application/json
{
  • "items": [
    ],
  • "webshopOrderId": 123,
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "sku": "sku123",
  • "productId": "product123",
  • "status": "Available"
}

Tenant

Operations regarding tenant.

Update the apiKey of the given tenant

Authorizations:
api-key
Request Body schema: application/json
apiKey
required
string

API key for authentication

Responses

Request samples

Content type
application/json
{
  • "apiKey": "api-key"
}

Response samples

Content type
application/json
{
  • "apiKey": "api-key",
  • "id": 1
}

Retailer

One to One relation with tenant. Holds retailer information, such as carrier contract data, warehouse, matching periods and others.

Get the retailer config table

Get the retailer config table

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[]

Update a retailer

Update a retailer

Authorizations:
api-key
Request Body schema: application/json
name
string
matchingPeriod
integer <int32>
handinPeriod
integer <int32>
whitelist
Array of strings
blacklist
Array of strings
bannedEmails
Array of strings

List of banned email addresses for the retailer.

packageReceivedLink
string

Link to the feedback page for a received package. This is used in the 'package received' email and allows the recipient to leave feedback on a specific shipment.

returnCancelledLink
string

Link to the return label generation page. This link is sent in the 'return canceled' email and allows the user to view details about the return cancellation for a specific listing and generate the label to return the product back to the warehouse, as it would happen normally, without IGF.

returnDeadlineLink
string

Link to the return the package to the warehouse page. This is included in the 'return deadline passed' email and directs the user to the return package to the warehouse, as deadline to hand-in package for forwarding was missed.

matchMadeLink
string

Link to the matched order details page. Sent in the 'match made' email, this link directs the user to view the matched order details for the corresponding order and generate forwarding label.

matchDeadlineLink
string

Link to the return the package to the warehouse page. This is included in the 'match deadline passed' email and directs the user to the return package to the warehouse, as deadline to match the package for forwarding passed.

forwardRegisteredLink
string

Link to the forward registered page. This is included in the 'forward registered' email and directs the user to view the details of the forwarded package.

fromEmail
string

Email address to be used as the sender of all emails sent from the retailer. This is used in the 'package received', 'return canceled', 'return deadline passed', 'match made', 'match deadline passed' and 'forward registered' emails.

discountsEnabled
boolean

Flag to indicate if the retailer has discounts enabled.

averageSavingsKilometers
float

Average savings in kilometers for the retailer.

postmarkApiKey
string

Postmark API key to be used for sending emails from the retailer.

countries
Array of strings

List of countries where the retailer operates in ISO 3166-1 alpha-2 country codes.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Enable discount for a retailer

Enable discount for a retailer

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Disable discount for a retailer

Disable discount for a retailer. Now the discount doesn't apply to the items from this retailer

Authorizations:
api-key

Responses

Response samples

Content type
application/json
{
  • "errorCode": "E1000",
  • "message": "Validation Error has occurred",
  • "details": "Can have different shapes depending on the error."
}

Carrier Contracts

Contains essential information required to facilitate communication with carriers. Currently supported carriers':' PostNL, DHL_eCommerce_Benelux, TestCarrier.

Retrieves all carrier contracts.

Gets the details of all carrier contracts.

Authorizations:
api-key

Responses

Response samples

Content type
[
  • {
    }
]

Creates a new carrier contract.

Creates a new carrier contract if name, retailer combination doesnt exist yet, if it does it deletes the old one and creates a new one.

Authorizations:
api-key
Request Body schema:
required
data
required
object

The JSON data for the carrier contract (PostNL)

name
required
string

The name of the carrier

Responses

Request samples

Content type
{
  • "data": {
    },
  • "name": "PostNL"
}

Response samples

Content type
{
  • "id": 1,
  • "data": {
    },
  • "name": "PostNL",
  • "retailerId": 1
}

Retrieves a carrier contract.

Gets the details of a single carrier contract by its ID.

Authorizations:
api-key
path Parameters
id
required
integer

Responses

Response samples

Content type
{
  • "id": 1,
  • "data": {
    },
  • "name": "PostNL",
  • "retailerId": 1
}

Updates an existing carrier contract.

Updates the data of an existing carrier contract, does not allow name and retailer id updates.

Authorizations:
api-key
path Parameters
id
required
integer
Request Body schema:
required
data
required
object

The JSON data for the carrier contract (PostNL example).

Responses

Request samples

Content type
{
  • "data": {
    }
}

Response samples

Content type
{
  • "id": 1,
  • "data": {
    },
  • "name": "PostNL",
  • "retailerId": 1
}

Deletes a carrier contract.

Deletes a carrier contract by its ID.

Authorizations:
api-key
path Parameters
id
required
integer

Responses

Response samples

Content type
{
  • "id": 1,
  • "data": {
    },
  • "name": "PostNL",
  • "retailerId": 1
}

Retrieves all carrier contracts Json Schema.

Gets the details of all carrier contracts.

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Discount

Operations regarding discounts.

Get all discount ranges.

Get all discount ranges for the given tenant.

Authorizations:
api-key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change the previous discount ranges.

You give an array of new discount ranges. There should be no gaps between ranges, otherwise an error occurs.

Authorizations:
api-key
Request Body schema: application/json
Array
minPrice
required
number <float>
maxPrice
required
number <float>
maxDiscount
required
number <f;pat>

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Regular Returns

Operations regarding regular returns.

Gets all regular returns

Gets all regular returns of the tenant, and also includes the products for each return.

Authorizations:
api-key

Responses

Response samples

Content type
[
  • {
    }
]

Creates a regular return

Creates a regular return and returns it to the user, together with the created products. This can fail due to request validation, or if the tenant does not have a warehouse set up.

Authorizations:
api-key
Request Body schema: application/json
webshopOrderId
required
string
required
Array of objects
required
object (CustomerRequest)

Responses

Request samples

Content type
application/json
{
  • "webshopOrderId": "orderWebshopId",
  • "products": [
    ],
  • "customer": {
    }
}

Response samples

Content type
{
  • "id": 1,
  • "webshopOrderId": "orderWebshopId",
  • "createdAt": "2025-02-19T19:28:31.104Z",
  • "products": [
    ]
}

Gets a return by webshop order ID

Gets a return for a tenant by its webshop order ID, including the products for the return. This will fail if no return is found.

Authorizations:
api-key

Responses

Response samples

Content type
{
  • "id": 1,
  • "webshopOrderId": "orderWebshopId",
  • "createdAt": "2025-02-19T19:28:31.104Z",
  • "products": [
    ]
}

Delete a return by ID

Deletes a return by its ID. This will fail with status code 400 if the tenant provided an ID for which he does not have a return.

Authorizations:
api-key

Responses

Response samples

Content type
{
  • "id": 1,
  • "webshopOrderId": "orderWebshopId",
  • "createdAt": "2025-02-19T19:28:31.104Z",
  • "products": [
    ]
}

ADD_LISTING Webhook

This webhook is triggered whenever a new listing is created.

Request Body schema: application/json
required
id
required
integer <int32>
sku
required
string
productId
required
string
categoryId
integer <int32>
receiverId
integer <int32>
senderId
required
integer <int32>
discountPercentage
required
number <float>
discountValue
required
number <float>
discountCurrency
required
string
carbonEmissionSavingPercentage
required
number <float>
carbonEmissionSavingKilograms
required
number <float>
matchingDeadline
required
string <date-time>
status
required
string

return status

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
originalPrice
required
number <float32>
kilometersSaved
required
number <float>
returnReason
required
string
Enum: "color" "too_small" "too_big" "broken" "style" "not_what_expected" "changed_my_mind" "other_good_condition" "other_bad_condition" "no_reason" "wrong_item"
returnReasonComment
string
required
object (CustomerResponse)
object (CustomerResponse)

Responses

Request samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

UPDATE_LISTING Webhook

This webhook is triggered whenever an existing listing is updated.

Request Body schema: application/json
required
id
required
integer <int32>
sku
required
string
productId
required
string
categoryId
integer <int32>
receiverId
integer <int32>
senderId
required
integer <int32>
discountPercentage
required
number <float>
discountValue
required
number <float>
discountCurrency
required
string
carbonEmissionSavingPercentage
required
number <float>
carbonEmissionSavingKilograms
required
number <float>
matchingDeadline
required
string <date-time>
status
required
string

return status

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
originalPrice
required
number <float32>
kilometersSaved
required
number <float>
returnReason
required
string
Enum: "color" "too_small" "too_big" "broken" "style" "not_what_expected" "changed_my_mind" "other_good_condition" "other_bad_condition" "no_reason" "wrong_item"
returnReasonComment
string
required
object (CustomerResponse)
object (CustomerResponse)

Responses

Request samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

RETURN_DEADLINE_PASSED Webhook

Triggered when the return deadline passes without the product being handed to a carrier.

Request Body schema: application/json
required
id
integer <int32>
listingId
integer <int32>

ID of the corresponding listing

sku
string

Stock Keeping Unit identifier

productId
string

The ID of the product in the system

orderDate
string <date-time>
returnDeadline
string <date-time>
status
string
Enum: "Matched - when the order is created and matched with a listing - the default status" "Labelled - When the order is labelled and shipment is created" "Shipped - When the order is shipped" "Completed - When the order has arrived" "Cancelled - When the order is cancelled"

Order Status

createdAt
string <date-time>
updatedAt
string <date-time>
webshopOrderId
string

The ID of the order in the webshop

webshopOrderItemId
string

The ID of the item in the webshop order

cancelReason
string or null
Enum: "NOT_DELIVERED_BY_CARRIER - When the carrier does not deliver the order" "CUSTOMER_BANNED - When the customer is banned" "RETURN_DEADLINE_PASSED - When the return deadline has passed and sender has not handed in the package"

The reason for the cancellation set automatically by us.

listingWebshopOrderId
string

Webshop order ID linked to the listing

receiverId
integer or null <int32>
senderId
integer <int32>
object (CustomerResponse)
object (CustomerResponse)

Responses

Request samples

Content type
application/json
{
  • "id": 10,
  • "listingId": 198772,
  • "sku": "8719903119420",
  • "productId": "7984",
  • "orderDate": "2019-08-24T14:15:22Z",
  • "returnDeadline": "2019-08-24T14:15:22Z",
  • "status": "Shipped",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "webshopOrderId": "26439",
  • "webshopOrderItemId": "43384",
  • "cancelReason": "NOT_DELIVERED_BY_CARRIER",
  • "listingWebshopOrderId": "3000000057",
  • "receiverId": 0,
  • "senderId": 0,
  • "sender": {
    },
  • "receiver": {
    }
}

RETURN_CANCELED Webhook

Triggered when the return is canceled by the sender/customer.

Request Body schema: application/json
required
id
required
integer <int32>
sku
required
string
productId
required
string
categoryId
integer <int32>
receiverId
integer <int32>
senderId
required
integer <int32>
discountPercentage
required
number <float>
discountValue
required
number <float>
discountCurrency
required
string
carbonEmissionSavingPercentage
required
number <float>
carbonEmissionSavingKilograms
required
number <float>
matchingDeadline
required
string <date-time>
status
required
string

return status

createdAt
required
string <date-time>
updatedAt
required
string <date-time>
originalPrice
required
number <float32>
kilometersSaved
required
number <float>
returnReason
required
string
Enum: "color" "too_small" "too_big" "broken" "style" "not_what_expected" "changed_my_mind" "other_good_condition" "other_bad_condition" "no_reason" "wrong_item"
returnReasonComment
string
required
object (CustomerResponse)
object (CustomerResponse)

Responses

Request samples

Content type
application/json
{
  • "id": 100,
  • "sku": "12345ab",
  • "productId": "123product",
  • "categoryId": 101,
  • "receiverId": 201,
  • "senderId": 501,
  • "discountPercentage": 10,
  • "discountValue": 4,
  • "discountCurrency": "EUR",
  • "carbonEmissionSavingPercentage": 5,
  • "carbonEmissionSavingKilograms": 2,
  • "matchingDeadline": "2024-05-11T12:00:00Z",
  • "status": "Available",
  • "createdAt": "2024-05-01T12:00:00Z",
  • "updatedAt": "2024-05-03T12:00:00Z",
  • "originalPrice": 100,
  • "kilometersSaved": 10,
  • "returnReason": "too_big",
  • "returnReasonComment": "Some comment about the return reason",
  • "sender": {
    },
  • "receiver": {
    }
}

LABELED Webhook

Triggered when a shipping label is generated for the order.

Request Body schema: application/json
required
id
integer <int32>
status
string
Enum: "Labelled - when label is generated" "Shipped - when it was handed in to the carrier" "Completed - when it was delivered" "Cancelled - when it was canceled, or the return deadline has passed"

return status

orderId
integer <int32>
createdAt
string <date-time>
updatedAt
string <date-time>
label
string
carrierName
string
warehouseId
integer <int32>
labelType
string
Enum: "QR" "Barcode"

Type of the label

object (WarehouseResponse)
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

SHIPPED Webhook

Triggered when the order leaves the warehouse and is on its way.

Request Body schema: application/json
required
id
integer <int32>
status
string
Enum: "Labelled - when label is generated" "Shipped - when it was handed in to the carrier" "Completed - when it was delivered" "Cancelled - when it was canceled, or the return deadline has passed"

return status

orderId
integer <int32>
createdAt
string <date-time>
updatedAt
string <date-time>
label
string
carrierName
string
warehouseId
integer <int32>
labelType
string
Enum: "QR" "Barcode"

Type of the label

object (WarehouseResponse)
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

COMPLETED Webhook

Triggered when the order has been successfully delivered to the customer.

Request Body schema: application/json
required
id
integer <int32>
status
string
Enum: "Labelled - when label is generated" "Shipped - when it was handed in to the carrier" "Completed - when it was delivered" "Cancelled - when it was canceled, or the return deadline has passed"

return status

orderId
integer <int32>
createdAt
string <date-time>
updatedAt
string <date-time>
label
string
carrierName
string
warehouseId
integer <int32>
labelType
string
Enum: "QR" "Barcode"

Type of the label

object (WarehouseResponse)
object

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "status": "Labelled - when label is generated",
  • "orderId": 1,
  • "createdAt": "2024-07-10T14:01:07.252Z",
  • "updatedAt": "2024-07-10T14:04:12.317Z",
  • "label": "3SDEVC676401291",
  • "carrierName": "PostNL",
  • "warehouseId": 1,
  • "labelType": "QR",
  • "warehouse": {
    },
  • "order": {
    }
}

REFUND Webhook

Triggered when a refund must be issued for one or more shipped items.

Request Body schema: application/json
required
Array
id
integer <int32>
status
string
Enum: "Labelled - when label is generated" "Shipped - when it was handed in to the carrier" "Completed - when it was delivered" "Cancelled - when it was canceled, or the return deadline has passed"

return status

orderId
integer <int32>
createdAt
string <date-time>
updatedAt
string <date-time>
label
string
carrierName
string
warehouseId
integer <int32>
labelType
string
Enum: "QR" "Barcode"

Type of the label

object (WarehouseResponse)
object

Responses

Request samples

Content type
application/json
[
  • {
    }
]