All services and operations concerning the offers must be called with OfferService in the URL followed by the command/operation.
E.g.: https://api.refurbed.com/refb.merchant.v1.OfferService/ListOffers
All calls must be done using POST method.
Create (CreateOffer / BatchCreateOffers)
Once your products are listed in the refurbed product catalog you can create offers for them. You can do so by using refurbed’s instance ID, GTIN or Manufacturer Part Number (MPN) of the product. Please note that the instance ID is the main product identifier within refurbed. GTIN and MPN may vary per producer and reseller and can as such not always identify a product with 100% certainty.
ℹ️ If you intend to use GTIN or MPN to create offers be aware that we trust our own instance IDs more to identify a product than a GTIN and MPN, so if you create an offer directly with a GTIN or MPN the offer will be in an UNVERIFIED state and not be visible to customers unless you log into the merchant backend and verify the created offers manually (Button “Verify” will appear).
Log into the merchant interface, go to the Offers section, and click on Create in the top right. Now you can search and see if your products are already listed. Another way is to export the whole refurbed product catalog and search/filter in the file. If you cannot find the products you want to list then you can request them by following these requirements for listing new products: Requirements for listing
Currently, products can’t be created by an external party.
An Offer combines information like grading, taxation, stock, reference price, and reference min. price. Below is an overview of which arguments are needed to create an offer:
| field | required | description | type |
|---|---|---|---|
| instance_id | ✅ | refurbed’s internal reference number, can be found in our product catalog (download in the merchant backend). | string($int64) |
| sku | ✅ | SKU that will be connected to the offer, it will be the reference if you e.g. want to offer updates via API. MUST be unique. | string |
| reference_min_price | ❌ | Defines a lower price limit for buybox competition. | string |
| reference_price | ✅ | Offer price including VAT. Eventual shipping costs set in your shipping profile will be added to the sales price. | string |
| reference_currency_code | ✅ | Offer currency as ISO 4217 code. | string |
| stock | ✅ | The quantity available of the item. | integer($int64) |
| grading | ✅ | AA, A, B or C. Please refer to our Quality charta | string |
| warranty | ✅ | Allowed value is M12. M = Months. | string |
| shipping_profile_id | ✅ | ShippingProfile ID can be found in the merchant backend > Shipping profiles section. The chosen ID will be connected to the offer. |
string($int64) |
| taxation | ✅ | The applicable taxation of the item (MARGINAL or GROSS) | string |
| battery_condition | ❌ | State of the battery the offer is sold with (OPTIMAL or NEW). Omitting the field will result in value UNSPECIFIED. | string |
Prices can be defined in any of the supported currencies returned by the CurrencyService/ListCurrencies endpoint. Shipping costs have to be set within your shipping profiles.
The reference prices are the default prices used for all markets if you don’t specify any market offers. They are automatically converted into the respective market's currency if it doesn't match the offer price's currency and we have a localized site for it. The reference_price is only a reference and may be increased by refurbed due to dynamic pricing according to the merchant guide.
If you set a reference_min_price this price will be taken into consideration when calculating the BuyBox and your price could be lowered until your reference_min_price if that would make you win the BuyBox.
💡Learn more: Minimum Price Feature - How does it work and what are the main benefits?
When creating an offer you can already create_market_prices by adding the market_code, price, currency_code, and optionally also a market-specific min_price per country if you want to set different prices in the countries you are selling in. Refer to the market offers page for more detail.
If you sell with marginal taxation, make sure to add a reference on the invoice.
If your account has been granted permission to sell devices with new battery, you will be able to create such offers directly by providing the battery_condition field in the payload. Creating offers with this attribute is only possible for certain product categories, your account manager can tell you which are eligible. Omitting the field will result in the value UNSPECIFIED. Offers with value UNSPECIFIED are treated like offers with the value OPTIMAL. So you would only need to create offers with value NEW to sell devices with new batteries.
You can use identifier matching (GTIN or MPN) like you would do with creating regular offers.
⚠️Currently, it is not possible to update the battery_condition attribute on existing offers!
Read (ListOffers / GetOffer / BatchGetOffers)
You can get an overview of all existing offers by using the List command. The response will contain an array/list of all offers according to the pagination rules with all related information. As for every read command that is served over our API you can use extensive filters and sorting by sending a specific payload in the request header. GetOffer can be used to query a specific offer by offer ID or your SKU. BatchGetOffers can be used to retrieve offer details for a list/array of specific offer IDs or SKUs.
Update (UpdateOffer / BatchUpdateOffers)
Once your offers are created you can, of course, update them. Update your offers by referring to the offer SKU or offer_id. If you use Batch you need to send the data as an array in the payload. You can update all attributes except the identifiers (offer_id, sku) and the instance_id (see table above).
⚠️ We recommend always using the SKU to update offers! The SKU must be unique in the refurbed system. offer_id’s will change if an offer is deleted and recreated. By using the SKU, offers can always be updated, no matter what.
Prices
refurbed uses reference prices. These prices can be seen as placeholders and can be changed by refurbed depending on various factors (dynamic pricing). We do not change your price below the reference_price (if no reference_min price is set) or the reference_min_price though. The combinatory use of reference_min_price and reference_price increases the chance to win the buybox.
The minimum reference price can be completely removed, to do so you need to send "delete_reference_min_price": true in the payload.
The price the customers see consists of the offer price + the shipping costs.
Stock
Building a solid stock management is one of the most important parts of an integration with refurbed. Mismanaged stock may easily lead to overselling items, canceled orders, unhappy customers and in the following a negative impact on your performance score. Since there are many many different systems from where you may connect to our API, there are even more different approaches to manage your stock.
The first important thing you need to know is that we always automatically deduct the stock from the offer if an order has happened. This means if you only add stock we will automatically deduct the stock until it reached 0. So If you e.g. allocate a certain amount of stock only for refurbed, you would only need to update as stock increases.
If, on the other hand, you draw stock from the same source for multiple channels it might be a better approach to regularily snychronize your current stock to refurbed to prevent overselling items. The interval of updates depends on your order throughput and volatility of your stock. So please adjust the interval reasonable and based on your experience on high sales times like christmas.
Shipping profiles
⚠️ A secondary shipping profile field exists but should not be used and has no effect whatsoever. We will let you know when we activate this feature in a future release.
If you want to remove the secondary shipping profile of an offer. Send "delete_secondary_shipping_profile_id": true
Battery condition
It is not possible to update the battery condition. If you need to change it you can delete your current offer and re-create it with a different battery condition.
Delete (DeleteOffer / BatchDeleteOffers)
When you want to remove offers completely from refurbed or offers were connected to the wrong instance ID then you can delete the affected offers by indicating the offer ID or SKU. If you only want to take your offers offline for a limited time then it is recommended to set the stock to 0 instead of deleting the full offer.