Orders include all the information related to the customer and the ordered goods. That includes the shipping and invoice address, the total order amount, commissions, the ordered items in the currency of the customer, and, if applicable, converted into the base currency of your bank account.
Every Order has an array that holds information about the ordered items. Every single ordered item has its own entry in this array. We refer to them as order_items. Every order_item has its own STATE and can be updated with identifiers (e.g. IMEI or serial numbers separately. Parcel tracking links must be set on every order_item individually which also allows the use of different carriers to fulfill an order. Order items can be different products, so in every order_item we include data of the original offer like the SKU, shipping profile ID, grade, and warranty.
All services and operations concerning orders must be called with OrderService or OrderItemService in the URL followed by the command/operation.
E.g.: https://api.refurbed.com/refb.merchant.v1.OrderService/ListOrders
or
https://api.refurbed.com/refb.merchant.v1.OrderItemService/GetOrderItem
All calls must be done using POST method.
ListOrders / GetOrder / GetOrderItem / ListOrderItemsByOrder)We offer two ways to receive orders from refurbed. Both ways are legit and we let you decide what works best with your system. It is very important that you test order transmission very carefully. The transmission of orders must be fail-safe and reliably designed.
You can set up a worker to get new orders periodically with the endpoint OrderService/ListOrders. We advise you to choose a reasonable interval depending on your expected order volumes. Please also consider implementing a retry in case there is a networking issue. With the new API we introduced Order states and we advise you to use them to limit the number of results. Our suggestion is to filter for NEW orders and acknowledge new incoming orders by setting their order_item states to ACCEPTED. We provide a lot of filters and options to craft responses to your needs: Filters, Sorting, Pagination & Versioning.
The alternate way is to let us inform you about new orders via webhook. For this, you need to set up a receiving end where we will send a POST requests as new orders arrive. The setup of ION is described here
We will only send you the order_id, so to retrieve the full order information you need to call OrderService/GetOrder with the id in the request body.
In the order response, you can find information to identify the order and its state, furthermore you find information about the customer, like shipping address and invoice address, many fields dedicated to pricing and refunds (please see below section). In the Items section, you will find all order item specific information like SKU, the unit's pricing, parcel tracking related fields as well as an offer_data section which exposes data from your offers like grading, shipping_profile and costs, taxation, or battery condition.
<aside> ⚠️
In some cases we are unable to parse the house_no field from the customers input, therefore the house_no field stays empty. If that is the case, we recommend checking the supplement field and concatenate or extract the data from there.
</aside>