Klanten aanmaken met de API
5 min de lectura
Vertaald voor het gemak. Bij verschillen geldt de Engelse versie.
Wat een klant is
Een klant is de persoon of het bedrijf naar wie u een bestelling stuurt: uw koper. Elke bestelling die u via de API aanmaakt, hoort bij een klant. Uw systeem maakt dus eerst de klant aan en daarna de bestellingen voor die klant. Klanten die via de API zijn aangemaakt, verschijnen onder Clients in uw kanaal, net als de klanten die u met de hand toevoegt.
U heeft eerst een API-token nodig. Zie Het Manual/API-kanaal om te lezen hoe u er een krijgt. Het token bepaalt het kanaal: klanten worden aangemaakt in het kanaal waartoe het token behoort. Het token mag niet alleen-lezen zijn.
Het verzoek
| Methode | POST |
| Adres (live) | https://api.aiku.io/dropshipping/clients |
| Adres (staging) | https://api.aiku-sandbox.uk/dropshipping/clients |
| Headers | Authorization: Bearer gevolgd door uw token Content-Type: application/json |
Het antwoord is altijd JSON. U hoeft geen Accept-header mee te sturen.
Een volledig voorbeeld
curl -X POST https://api.aiku.io/dropshipping/clients \
-H "Authorization: Bearer 123|AbCdEf..." \
-H "Content-Type: application/json" \
-d '{
"reference": "WEB-10045",
"contact_name": "Jane Smith",
"company_name": "Smith Gifts Ltd",
"email": "jane@example.com",
"phone": "+44 7700 900123",
"address": {
"address_line_1": "12 High Street",
"address_line_2": "Flat 3",
"locality": "Sheffield",
"administrative_area": "South Yorkshire",
"postal_code": "S1 2AB",
"country_code": "GB"
}
}'
Het kleinste verzoek dat wij accepteren is alleen het land:
{
"address": { "country_code": "GB" }
}
Een klant zoals deze kan geen pakketten ontvangen, stuur dus altijd het volledige afleveradres mee als u dat heeft.
De velden
| Veld | Verplicht | Wat u stuurt |
|---|---|---|
| address | Ja | Het afleveradres, als object met de onderstaande velden. |
| address.country_code | Ja | Het land als ISO-code: twee letters (GB, ES, DE) of drie letters (GBR, ESP, DEU). Hoofdletters of kleine letters. |
| address.address_line_1 | Voor levering | Straat en huisnummer. |
| address.address_line_2 | Nee | Appartement, verdieping, gebouw. |
| address.locality | Voor levering | Plaats of stad. |
| address.administrative_area | Hangt van het land af | Graafschap, staat of provincie, als het land die gebruikt. |
| address.postal_code | Voor levering | Postcode of ZIP. |
| address.dependent_locality | Nee | Wijk of buurt, als het land die gebruikt. |
| address.sorting_code | Nee | Alleen voor landen die een sorteercode gebruiken. |
| reference | Nee | Uw eigen code voor de klant, bijvoorbeeld het klantnummer in uw shop. De code moet uniek zijn in uw kanaal. |
| contact_name | Nee | De naam van de persoon. |
| company_name | Nee | De bedrijfsnaam. |
| Nee | Een geldig e-mailadres. | |
| phone | Nee | Minstens 6 tekens. Gebruik het internationale formaat, bijvoorbeeld +44 7700 900123, zodat de koerier kan bellen. |
Adresvelden die niet in deze lijst staan, zoals city, state, county of country, worden genegeerd. Gebruik de namen hierboven. Er zijn geen velden first_name of last_name: stuur de volledige naam in contact_name.
Oudere integraties sturen soms address.country_id, ons eigen nummer voor het land. Het werkt nog steeds, maar gebruik country_code: als u beide stuurt, wint country_code.
Het antwoord als het lukt
Wij antwoorden met 201 Created en de nieuwe klant:
{
"data": {
"id": 52817,
"ulid": "01M4639WS5Z7QT08CNW0M0DEJQ",
"reference": "WEB-10045",
"active": null,
"name": "Smith Gifts Ltd",
"contact_name": "Jane Smith",
"company_name": "Smith Gifts Ltd",
"location": ["GB", "United Kingdom", "Sheffield"],
"email": "jane@example.com",
"phone": "+44 7700 900123",
"created_at": "2026-10-05T13:15:59.000000Z",
"updated_at": "2026-10-05T13:15:59.000000Z",
"address": {
"id": 9123456,
"address_line_1": "12 High Street",
"address_line_2": "Flat 3",
"sorting_code": null,
"postal_code": "S1 2AB",
"locality": "Sheffield",
"dependent_locality": null,
"administrative_area": "South Yorkshire",
"country_code": "GB",
"country_id": 48,
"checksum": "74d55290109e98f64b7d908a3e66b9d8",
"created_at": "2026-10-05T13:15:59.000000Z",
"updated_at": "2026-10-05T13:15:59.000000Z",
"country": { "code": "GB", "iso3": "GBR", "name": "United Kingdom" },
"formatted_address": "<p translate=\"no\">...12 High Street<br>Flat 3<br>Sheffield<br>S1 2AB<br>United Kingdom</p>",
"can_edit": null,
"can_delete": null
}
},
"message": "Client created successfully"
}
name is de bedrijfsnaam als u er een stuurt, anders de contactnaam. formatted_address is het adres als HTML, klaar om te tonen.
Bewaar data.id. U heeft het nodig om bestellingen voor deze klant aan te maken: POST /dropshipping/order/client/{id}/store.
Een klant wijzigen
Stuur PATCH naar /dropshipping/clients/{id} met alleen de velden die u wilt wijzigen. Wijzigt u het adres, stuur dan het hele adres mee, inclusief country_code.
curl -X PATCH https://api.aiku.io/dropshipping/clients/52817 \
-H "Authorization: Bearer 123|AbCdEf..." \
-H "Content-Type: application/json" \
-d '{ "phone": "+44 7700 900999" }'
Wij antwoorden met 200 en de klant, in dezelfde vorm als hierboven, en "message": "Client updated successfully".
Uw klanten opzoeken
- GET /dropshipping/clients toont de klanten van uw kanaal, pagina voor pagina.
- GET /dropshipping/clients/{id} toont één klant.
- DELETE /dropshipping/clients/{id} deactiveert een klant. De eerdere bestellingen blijven bewaard.
Om te voorkomen dat u dezelfde koper twee keer aanmaakt, stuurt u uw eigen klantnummer als reference. Een tweede klant met dezelfde reference in hetzelfde kanaal wordt geweigerd.
Als er iets misgaat
Weigeren wij een verzoek vanwege de gegevens, dan antwoorden wij met 422, een message en het veld dat niet klopt onder errors:
{
"message": "Unknown country code \"UK\". Send the ISO code of the country, two letters (GB) or three letters (GBR).",
"errors": {
"address.country_code": [
"Unknown country code \"UK\". Send the ISO code of the country, two letters (GB) or three letters (GBR)."
]
}
}
- "The client's delivery address is required". De body heeft geen address-object. De adresvelden moeten binnen address staan, niet op het hoogste niveau van de body.
- "The country is required". Het adres heeft geen country_code. Voeg het toe.
- "Unknown country code". De code is geen ISO-landcode. Het Verenigd Koninkrijk is GB of GBR, niet UK.
- "The reference has already been taken". Een andere klant in dit kanaal heeft die reference. Gebruik een andere, of wijzig de bestaande klant met PATCH.
- "The phone must be at least 6 characters". Stuur het volledige telefoonnummer, of laat phone weg.
- 401 met een bericht over de Authorization-header. Het token ontbreekt, is onvolledig of is verwijderd. Kopieer het hele token, inclusief het nummer en de | aan het begin. Staging heeft een eigen token nodig.
- 403 "This API token is read only.". Genereer een token zonder Read only aangevinkt.
- 429. Elk token kan tot 120 verzoeken per minuut doen. Vertraag en probeer het na een minuut opnieuw.
Elk verzoek dat uw systeem doet, staat met ons antwoord in het tabblad API calls op de pagina API van uw kanaal. Kijk daar eerst als een verzoek niet doet wat u verwacht.