Dropshipping API — partnerguide
Grossist-REST API: Emmebi Italias aktuella katalog med dina partnerpriser, lagersaldo per lager i realtid och orderläggning som skickas direkt till din kund. Du håller inget lager — vi skickar.
Så får du åtkomst
API-åtkomst beviljas manuellt. Du kan inte själv skapa den första nyckeln: vi granskar partnern och tecknar ett avtal innan vi utfärdar en nyckel.
- AnsökanSkicka in en förfrågan via formuläret på salongssidan (juridisk person, registreringsnummer, VAT, kontaktuppgifter).
- GranskningVi kontrollerar företaget och dess betalningsförmåga. Dropshipping bygger på förskottsbetalning — ordrar betalas via banköverföring innan avsändning.
- AvtalVi tecknar ett partneravtal och ett personuppgiftsbiträdesavtal (mallar nedan). Din partnernivå (Bronze/Silver/Gold) fastställs i avtalet.
- NyckelutfärdandeHandläggaren utfärdar en API-nyckel
emmebi_dsk_…. Nyckeln visas endast en gång — förvara den som ett lösenord. Om den komprometteras, meddela oss: nyckeln återkallas omedelbart och en ny utfärdas.
Avtal
Partneravtal (dropshipping-avtalet och DPA) är tillgängliga för registrerade företagspartner inne på ditt konto.
Öppna avtalen i din partnerportal →Färdiga data för import till din plattform
Importera hela vår katalog direkt till din butik — utan skrapning. En enda GET /dropship/feed-förfrågan returnerar alla publicerade produkter med översättningar, foton, lagersaldo och dina priser i ett format som din CMS-importör läser direkt.
Parametrar: format — plattform (se tabell); locale — dataspråk: et, en, ru, fi, sv, lv, lt.
| Plattform | format-värde | Så här importerar du |
|---|---|---|
| WooCommerce | woocommerce | Produkter → Importera (inbyggd CSV-import) eller WP All Import via URL |
| Shopify | shopify | Matrixify-app — CSV-import från fil eller URL |
| PrestaShop | prestashop | Avancerat → CSV-import (avgränsare ”;”) |
| OpenCart | opencart | Importmodul (Export/Import m.fl.) |
| Google Merchant (XML) | google | XML-flöde (RSS 2.0) för Google Merchant och alla flödestillägg |
curl -H "Authorization: Bearer emmebi_dsk_..." \ "https://api.emmebi.ee/dropship/feed?format=woocommerce&locale=et" \ -o emmebi-catalog.csv
Försäljningspriset i flödet är vårt rekommenderade utpris (inkl. moms), redo att säljas — du kan justera påslaget. Ditt inköpspris (utpris minus din nivårabatt) finns i en separat kolumn: Meta: _dropship_cost (WooCommerce), Variant Cost (Shopify), Wholesale price (PrestaShop).
Använder du en annan plattform? Vi kan förbereda en export för den — kontakta oss så lägger vi till formatet du behöver.
Automatisk uppdatering
Flödet genereras live vid varje förfrågan. En ny produkt, foto, pris- eller lagerändring visas där direkt. Schemalägg en återkommande import från flödets URL i din CMS-importör (WP All Import-schema, Matrixify, PrestaShop cron-import) så håller sig katalogen synkroniserad av sig själv.
1. API-åtkomst
| Base URL | https://api.emmebi.ee |
|---|---|
| Auktorisering | header Authorization: Bearer emmebi_dsk_… |
| Format | JSON, UTF-8 |
| Frekvensgräns | 120 förfrågningar per minut (vid överskridande — 429 + Retry-After) |
| Prisnivåer | Bronze −5 % / Silver −10 % / Gold −15 % rabatt på detaljhandelspriset; kopplad till nyckeln, visas i katalogsvaret. |
| Testnyckel | En nyckel med flaggan is_test genomgår full validering av katalog, pris och lager, men skapar ingen riktig order — svaret har status: "test_mode", order_id börjar med test_, och ingen proformafaktura skickas. Be din handläggare om en testnyckel för att bygga din integration riskfritt. |
Så beräknas ditt pris
your_price = retail_price × (1 − nivårabatt), avrundat till cent. Exempel för Silver (−10 %): utpris 18 € → ditt pris 16,20 €. retail_price är vårt detaljhandelspris för Estland-regionen inkl. moms.
Översyn av nivå
En gång i månaden (den 1:a, baserat på betalda ordrars omsättning föregående månad) går vi igenom din nivå. Trösklar: Bronze — från ≈417 €/mån, Silver — från ≈1 250 €/mån, Gold — från ≈3 333 €/mån. Uppgradering gäller direkt vid uppnådd tröskel. Nedgradering gäller först efter två månader i följd under tröskeln — en enda svag månad kostar aldrig nivån. Vi mejlar dig vid varje nivåändring med omsättning och datum för ikraftträdande; redan bekräftade ordrar påverkas inte.
2. Katalog
Parametrar: limit (upp till 100, standard 50), offset, handle (filtrera på en enskild produkt).
curl -H "Authorization: Bearer emmebi_dsk_..." \ "https://api.emmebi.ee/dropship/products?limit=50&offset=0"
{
"tier": "silver",
"discount": 0.1,
"count": 106,
"products": [
{
"title": "Argania Sahara Secrets Mask",
"handle": "argania-sahara-secrets-mask",
"variants": [
{
"variant_id": "variant_01...",
"sku": "ARGMASK200",
"barcode": "8032825918934",
"retail_price": 18, // recommended retail, EUR, incl. VAT
"your_price": 16.2, // your tier price
"available": 3 // total available across warehouses
}
]
}
]
}Rekommendation: synka katalogen högst en gång i timmen; kontrollera lagersaldot för en specifik SKU exakt precis innan du lägger en order.
3. Lager
curl -H "Authorization: Bearer emmebi_dsk_..." \ "https://api.emmebi.ee/dropship/inventory/ARGMASK200"
{
"sku": "ARGMASK200",
"available": 3,
"warehouses": [
{ "name": "Rakvere Warehouse", "available": 2 },
{ "name": "Kohtla-Järve Warehouse", "available": 1 }
]
}Sökning via streckkod
Samma svar, men baserat på EAN/GTIN-streckkod i stället för vårt SKU — praktiskt om ditt system lagrar produkter enligt streckkod.
curl -H "Authorization: Bearer emmebi_dsk_..." \ "https://api.emmebi.ee/dropship/inventory/barcode/8032825918934"
{
"barcode": "8032825918934",
"sku": "ARGMASK200",
"variant_id": "variant_01...",
"available": 3,
"warehouses": [
{ "location_id": "sloc_01...", "name": "Rakvere Warehouse", "available": 2 },
{ "location_id": "sloc_02...", "name": "Kohtla-Järve Warehouse", "available": 1 }
]
}4. Skapa en order
Headern Idempotency-Key är obligatorisk — en valfri unik sträng från dig (t.ex. ditt ordernummer). En upprepad förfrågan med samma nyckel returnerar den redan skapade ordern i stället för en dubblett — säker att göra om vid timeouts.
curl -X POST "https://api.emmebi.ee/dropship/orders" \
-H "Authorization: Bearer emmebi_dsk_..." \
-H "Idempotency-Key: my-shop-order-10422" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "sku": "ARGMASK200", "quantity": 2 },
{ "barcode": "8032825918934", "quantity": 1 }
],
"shipping_address": {
"first_name": "Mari",
"last_name": "Tamm",
"address_1": "Pikk 12-4",
"city": "Tallinn",
"postal_code": "10123",
"country_code": "ee",
"phone": "+372 5xxx xxxx"
},
"end_customer_email": "[email protected]",
"reference": "my-shop-order-10422"
}'shipping_address är adressen till din slutkund: vi skickar paketet direkt till dem. I items kan du ange sku, variant_id eller barcode (EAN/GTIN).
// Response 201
{
"order_id": "order_01...",
"display_id": 137,
"status": "awaiting_payment",
"total": 32.4,
"proforma_emailed": true,
"payment": {
"method": "bank_transfer",
"recipient": "HairFresh OÜ",
"iban": "EE73 1010 2202 9766 2225",
"swift": "EEUHEE2X",
"bank": "SEB Pank",
"reference": "EMB-PRO-137",
"amount": 32.4
}
}Egen avsändare på etiketten
Be din kontaktperson ange ditt namn och dina kontaktuppgifter (och, om transportören tillåter, en fullständig adress) som «avsändare» på fraktetiketten i stället för Emmebi Italia — vi packar och skickar ändå alltid själva. Obs: om transportören själv (inte via vårt eget returetikettverktyg) inte kan leverera paketet och returnerar det automatiskt, går det till den adress som står som avsändare — det vill säga till dig, inte till vårt lager.
Betalning
Vi arbetar med förskottsbetalning. När ordern har skapats mejlas en proformafaktura (PDF) med bankuppgifter automatiskt till ditt konto. Betala via banköverföring och ange reference i betalningens meddelandefält (t.ex. EMB-PRO-137). Varorna reserveras åt dig från det att ordern skapas; vi skickar samma dag som betalningen bekräftas.
Fel
| Kod | Orsak |
|---|---|
400 | saknad Idempotency-Key, tomma items, ofullständig adress |
404 | okänd SKU |
409 | otillräckligt lager (se available i svaret) |
422 | SKU saknar pris |
5. Orderstatus
{
"display_id": 137,
"payment_status": "paid",
"shipped": true,
"delivered": false,
"fulfillments": [
{
"shipped_at": "2026-07-04T09:12:00Z",
"tracking": [
{ "tracking_number": "JJFI123...", "tracking_url": "https://..." }
]
}
]
}Att fråga var 15–30:e minut räcker. När ett tracking_number dyker upp — vidarebefordra det till din kund.
6. Typisk integrationscykel
varje timme GET /dropship/products → uppdatera butik och priser
före order GET /dropship/inventory/{sku} → kontrollera lager
försäljning hos dig POST /dropship/orders → skapa order (Idempotency-Key!)
efter betalning banköverföring enligt proforman
var 15-30 min GET /dropship/orders/{id} → payment_status / tracking7. Kontakt
Frågor om API, nycklar, priser och nivåer: [email protected]. Frågor om ordrar och avsändning: [email protected].