Repository navigation
Fast Start
Synchronizing and managing product inventory through APIs simplifies operations, automates workflows and keeps data accurate. This guide shows how to use the Selldone Backoffice REST API to authenticate, retrieve your products and update them. It works from any language or platform; if you are building a browser app in JavaScript, see also Getting Started.
Base URL:
https://api.selldone.comAuth header:Authorization: Bearer YOUR_ACCESS_TOKEN
Before calling the API you need an access token. Selldone offers several ways to get one. Full details and the scope list are on the Access Token page.
- Recommended use: internal or admin usage.
-
How:
- Go to the Developer Panel.
- Generate a Personal Access Token.
- Note: this token has access to all your shops. Avoid it for single-shop integrations.
- Recommended use: third-party services that require user authentication.
-
How:
- Visit OAuth Client Creation.
- Create an OAuth client and follow the standard OAuth2 flow.
- Recommended use: simple integrations for clients or partners.
-
How:
-
Share this link:
https://selldone.com/auth/erp?scopes[]=selldone:identification&scopes[]=backoffice:shop:read&scopes[]=backoffice:product:read&scopes[]=backoffice:product:write&scopes[]=backoffice:category:read -
The user selects a shop and gets an access token.
-
- Tip: add or remove scopes as needed. See the ERP repository for more.
- Recommended use: embed your service into Selldone.
- How: no token creation required. See Sample Connect Provider.
Endpoint
GET https://api.selldone.com/shops/{shop_id}/products/all-admin?dir=*&products_only=true&with_total=true&offset=0&limit=10
Essential query parameters
| Parameter | Description |
|---|---|
offset |
Starting index for pagination. |
limit |
Max items per request (up to 250; use 100 at most to be safe). |
updated_at |
ISO timestamp to get only recently updated items. |
Example
GET https://api.selldone.com/shops/12345/products/all-admin?dir=*&products_only=true&with_total=true&offset=0&limit=10&updated_at=2024-01-01T00:00:00Z
Authorization: Bearer YOUR_ACCESS_TOKENMore filters, sorting options and examples: Fetch Products List.
Endpoint
GET https://api.selldone.com/shops/{shop_id}/products/{product_id}/admin
- Usage: retrieve all internal metadata for a product, including pricing, images, inventory, categories and configuration options.
- Query parameters: none required.
Example
GET https://api.selldone.com/shops/12345/products/9876/admin
Authorization: Bearer YOUR_ACCESS_TOKENEndpoint
PUT https://api.selldone.com/shops/{shop_id}/products/{product_id}/edit
The SDK URL catalog registers this route as
PUT(PUT_EDIT_PRODUCTinapis/API.ts). Earlier versions of this guide showedPOST; usePUTfor new integrations.
Some body parameters
| Parameter | Type | Description |
|---|---|---|
title |
string | Product name |
quantity |
integer | Inventory stock |
price |
float | Selling price |
sku |
string | Stock Keeping Unit |
Important: when editing a product, send only the fields you want to update. The system should not reset or nullify fields you don't include. If you notice a field being changed or cleared without you sending it (for example,
SKUgets removed), please report it to support immediately. If you are only updating theSKU, send just theSKU; nothing else is required.
Example
PUT https://api.selldone.com/shops/12345/products/9876/edit
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
{
"title": "Eco-Friendly Yoga Mat",
"price": 19.95,
"sku": "YOGA-2024-ECO",
"category_id": 12,
"status": "Open",
"condition": "new",
"brand": "ZenMotion"
}All supported fields are listed in Edit Product.
To change only the inventory of a product, use the dedicated quantity endpoint. It is simpler and safer than a full edit:
POST https://api.selldone.com/shops/12345/products/9876/quantity
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
{ "quantity": 50 }For products with variants, update each variant with
POST /shops/{shop_id}/products/{product_id}/variants/{variant_id}/quantity. See
Edit Product's Variant.
- Use
updated_atto reduce sync overhead when polling. - Use pagination (
offsetandlimit) in product lists. - Rotate tokens regularly and store them securely.
- Always test on a test shop before deploying updates.
- Stay within the rate limits: 80 requests per minute on the dashboard API.
Guides
Products
- Fetch Products List
- Edit Product
- Edit Product's Variant
- Add Images to Products/Variants
- Upload Products Category Image
Marketplace vendors
- Get Vendors List
- Vendor Products List
- Vendor Product Add
- Vendor Product Update
- Vendor Product Delete
Ecosystem
Links