Sample documentation — no credentials inside. · StockFashion24 / Brands Illusion
This copy is for studying the integration before anything is issued: YOUR-API-KEY stands for the personal token you will receive, together with your personal links, once the integration is agreed. Nothing here gives access to products or orders.
The full catalogue you can sell, refreshed in real time from our stock. Pull it as often as you like (a few times per day is typical). Three formats, same data:
https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/products.csv https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/products.xml https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/products.json
A sample without any key (a few real rows, identical format, illustrative prices): csv · xml · json
Languages are configured on your account and travel side by side in the same file: ask us and you get name[en] next to name[it], name[de]… for names, departments, colours, categories and attributes. Default is English only.
Columns (CSV separated by ;, same names in XML/JSON):
| Column | Meaning |
|---|---|
code / sku | Product code and the exact variant (size) to order. |
department[en] | Full path, e.g. Women>Bags>Handbag. |
name[en] | Product name. |
shortDescription[en], longDescription[en] | Product descriptions — only if switched on for you. They may contain simple HTML (bold, lists), so a CSV reader that honours quoted fields is required. |
image1…image10 | The photo gallery, large format. |
barredPrice | Suggested retail price (RRP). |
dropshippingPrice | Your price for this item (any extra discount agreed with us is already applied). |
gender[en], category1..3[en] | Classification. |
ean, size, sizeCountry, color[en], brand | Variant data. |
stock | Pieces available right now. Sell only what is here. |
composition[en], madeIn[en], season[en], variationType | Extra product data. |
Light and fast — pull it as often as every few minutes to keep quantities fresh without re-reading the whole catalogue. It lists every active item, including the ones at zero, so you can switch off what sold out:
https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/stock.csv https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/stock.xml https://brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-API-KEY/stock.json
Sample without any key: csv · xml · json
Columns: sku;ean;stock;dropshippingPrice.
POST https://brands-core-734536366699.europe-west1.run.app/dropship/api/orders
X-Api-Key: YOUR-API-KEY
Content-Type: application/json
{
"reference": "PO-2026-001",
"notes": "warehouse opening hours 9-17",
"shipping_address": {
"companyName": "Retailer Srl",
"firstName": "Mario", "lastName": "Rossi",
"street1": "Via Roma 1", "city": "Milano",
"postalCode": "20100", "stateProv": "MI", "country": "IT",
"phoneNumber": "+39 ..."
},
"lines": [
{"sku": "397330-08-8", "qty": 1},
{"ean": "4067979171632", "qty": 2}
]
}
Rules:
sku or ean; prices always come from your price list, any agreed extra discount included — the same figures as the feed (a price you send is ignored). An article with no price in your list answers 422 missing prices with the SKUs — nothing is created.reference is required: it is your order id (at most 100 characters) and makes the call idempotent: send the same reference twice and you get the same order back ("duplicate": true), never two shipments. Without a reference, or a longer one, the answer is 422.422 with the list — nothing is created.orders lists each order with ships_from (IT or CH), the Swiss order's reference ends with -NX and each one is followed by its own number. In that case the reference stays within 97 characters, and a reference of yours cannot end with -NX. The status of either number lists both parts in orders.Successful answer:
{"success": true, "number": "16281", "id": 13112,
"orders": [{"number": "16281", "id": 13112, "ships_from": "IT"}]}
GET https://brands-core-734536366699.europe-west1.run.app/dropship/api/orders/16281 X-Api-Key: YOUR-API-KEY
{"success": true, "number": "16281", "status": "Shipped",
"reference": "PO-2026-001", "date": "2026-08-12",
"total": 33.0, "pieces": 3.0, "tracking": "1Z999AA10123456784"}
Statuses: Open → In preparation → Ready → Shipped → Delivered → Completed (or Cancelled); not every order goes through all of them. tracking is the shipment number when there is one, else null.
| Code | Meaning |
|---|---|
| 401 | Missing, wrong or disabled token. |
| 400 | No lines in the order. |
| 422 | Unknown SKU/EAN — the answer lists them. |
To test the integration without touching real goods and orders there is a sandbox: same calls, same formats, dummy data (a catalogue of about a hundred products with made-up prices). Ask us for your sandbox key: it works ONLY on the address below, and the production key does not work there.
Sandbox base URL: https://sandbox---brands-core-734536366699.europe-west1.run.app https://sandbox---brands-core-734536366699.europe-west1.run.app/dropship/feed/YOUR-SANDBOX-KEY/products.csv POST https://sandbox---brands-core-734536366699.europe-west1.run.app/dropship/api/orders GET https://sandbox---brands-core-734536366699.europe-west1.run.app/dropship/api/orders/16281 X-Api-Key: YOUR-SANDBOX-KEY
Open → In preparation after 5 minutes → Shipped after 15 minutes, with a fake tracking SBX-<number> → Delivered after a day (the cycle runs every 10 minutes, day and night: each step lands within 10 minutes of its due time). So you can test the whole status cycle.Questions: marco@brandsillusion.eu