F.A.Q
❓ Frequently Asked Questions
Welcome to our FAQ page! Here, you'll find answers to the most frequently asked questions about our API and integration with it. We've compiled a comprehensive list of questions to provide you with quick and helpful solutions. If you have any doubts or uncertainties, this is the place to clear them up. Explore our FAQ section to get the information you need.
Authentication
What kind of authentication do the requests require?
- Requests require JSON Web Token (JWT) based authentication. To get the JWT you must use the getApplicationToken mutation.
Orders
What do the terms "Order" and "Sub-Order" mean?
- An "Order" is what is commonly known as a "standard order", something that a customer orders from us and pays us for.
- Given our Marketplace status, the same order can be composed by more than one partner, so a "SubOrder" is the proportional representation of the order, for a single partner. If, for example, an order is composed of two products, served by two different partners, that order will have two sub-orders.
How is the flow of the order?
- First the customer places his order.
- Then the system generates a subOrder for each partner.
- The partner prepares the order and notifies the courier to pick up the package (notifyShipmentPickup) and proceed with the shipment or the partner directly processes the delivery of the order.
- After all of that, an order is marked as on route, and passed 4 days, we will set this order (only in production env) as delivered automatically.
How we know if an order is cancelled?
As you should know, an order is composed by N sub-orders. Every sub-order has orderItems, and every item has the attribute "unitsToSend". When we process cancellations, they are accumulated in the array of cancellations. When the cancellations represent the total of the items in a sub-order, and this happens with all the sub-orders, we can say that the order has been totally cancelled.
Example of not cancelled order response (partial)
"items": [
{
"id": "0becf5a5-0503-4bbc-ae05-4d6f912aa1df",
"unitsToSend": 2,
"product": {
"id": "d1f43aaa-4ca9-4038-a6d5-f26724097f36",
"name": "Hyabak Augentropfen BPC",
"nationalCodes": [
{
"code": "45409790",
"acronym": "pzn",
"country": "DE"
}
],
"eans": [
{
"code": "2000600000033"
}
]
},
"unitPrice": {
"amount": 5.5,
"currency": "EUR"
},
"vat": 21,
"cancellations": []
}
],
Example of the same order with its two cancelled units
"items": [
{
"id": "0becf5a5-0503-4bbc-ae05-4d6f912aa1df",
"unitsToSend": 0,
"product": {
"id": "d1f43aaa-4ca9-4038-a6d5-f26724097f36",
"name": "Hyabak Augentropfen BPC",
"nationalCodes": [
{
"code": "45409790",
"acronym": "pzn",
"country": "DE"
}
],
"eans": [
{
"code": "2000600000033"
}
]
},
"unitPrice": {
"amount": 5.5,
"currency": "EUR"
},
"vat": 21,
"cancellations": [
{
"status": "created",
"type": "cancellation",
"reason": "staff_not_available",
"units": 2
}
]
}
],
As you can see, there is only one cancellation of 2 units, which represents the total cancelled order.
Cancellations
Is it possible to cancel an order after is marked as on route?
- No, the order can only be able to cancel when is not sent.
Where I can find the cancellation reasons?
- You should use the (orderReasons) endpoint to get different options.
Is it possible to make partial cancellations?
-
You can partially cancel a product as long as you cancel all of its units.
-
The units of a product can be partially canceled only in DE business unit (Docmorris). For example, if a product has 3 units, you can cancel only 1 units
Shipments
Is it possible to do multiple shipments for one order?
- No, all orders should be sent together. Our shipment team only accepts one shipment per order.
When we are using the notifyShipmentPickup endpoint which ID I need to pass to identify the product?
- You should pass the productID (ID inside the product).
Is it possible to get the notify pickup after doing it?
- No, is not possible for now.
Is it possible to modify the billing or delivery address?
- No, for now is not able to modify but in the future client could modify it.
Content Requests
What is a content request?
- A content request is a seller's proposal to create or update a product, a brand or a manufacturer in the catalog. You submit it with the createContentRequest mutation. The request is created in a pending state and reviewed by the marketplace team before any catalog change is applied. See the full Content Requests guide for the payload fields and examples.
Can I submit content requests for brands and manufacturers?
- Yes, for both
createandupdate. SetresourceTypetobrandormanufacturer. On update, identify the resource withbrand_id/manufacturer_idand send the fields you want to change. See the Content Requests guide for the brand and manufacturer payload fields and examples.
How do I create a new brand or manufacturer?
- Send a content request with
operation: "create". A brand create requiresbrand_nameandmanufacturer_id— the manufacturer must already exist, so if it doesn't, create the manufacturer first with its own content request and wait for its approval. A manufacturer create requiresmanufacturer_nameplus its address (address_street,address_zip_code,address_city,address_countryandaddress_email) and must not includemanufacturer_id. Once approved, the new resource's id is available asaffectedResourceIdin the sellerContentRequests query.
Which fields can I include in the payload, and which are mandatory?
- The Content Requests guide lists every payload field, marks which are mandatory on create, and shows complete create/update examples. Only use the fields listed there — do not add fields that are not in the contract.
Is the product created immediately?
- No.
createContentRequestreturns202(Accepted) and the request stays pending until a marketplace reviewer approves or rejects it.
What does the id field do?
- The
idyou supply is also the idempotency key: retryingcreateContentRequestwith the sameidwill not create a duplicate request.
How can I check my content requests and their status?
- Use the sellerContentRequests query. It returns the content requests you submitted (pending, approved or rejected), scoped to your own seller — you only ever see your own — with the full detail of each one (status, review date, rejection reason, the id of the product created on approval, and the original payload), so there is no need for a second call. You can filter by
statusand paginate.
What values does rrp_origin accept?
rrp_originis an uppercase enum: informOFFICIALif the value has been provided by an official source, otherwise informUNKNOWN. See the Content Requests guide for the full payload.