Aan de slag met de Conciar API
Conciar heeft twee API's. Gebruik ze om je eigen klantenapp, een websitebackend of een integratie te bouwen bovenop je Conciar-account.
| API | Waarvoor | Sleutel | Base URL |
|---|---|---|---|
| Connect API | Locaties, het restaurantmenu en afhaalbestellingen, inloggen en loyaliteit voor klanten, de webshopcatalogus, winkelwagen, afrekenen en abonnementen. | Ja | https://api.conciar.com/connect/v1 |
| Public booking API | Tafelreserveringen: beschikbaarheid, reserveren (met een aanbetaling of kaartgarantie), de eigen reservering van de gast, evenementen met tickets en cadeaukaarten. | Nee | https://api.conciar.com/public/v1 |
De public booking API heeft geen sleutel nodig. Je spreekt een restaurant aan via de guid. Wil je alleen reserveringen op een website, dan hoef je niets te bouwen: embed de reserveringswidget.
1. Maak een API-sleutel aan
- Log in op my.conciar.com als admin of manager.
- Open Management → API Keys en klik op New API Key.
- Vul een Key Name in, bijvoorbeeld "Klantenapp", en klik op Create Key.
- Kopieer meteen beide delen van de sleutel: de publishable key (publieke sleutel,
pk_…) en de geheime sleutel (cnct_…). Ze worden maar één keer getoond.
Het verschil tussen de twee delen, en hoe je ze veilig houdt, staat op API-sleutels en authenticatie.
2. Zoek het token van je verkoopkanaal op
Elke locatie of winkel waarlangs je verkoopt, is een verkoopkanaal. Calls naar /store/… en /app/init hebben het token van het kanaal (cnct_ch_…) nodig in de header X-Sales-Channel. Het kanaal bepaalt het menu of de catalogus, prijzen, valuta, taal en betaalmethoden.
Je vindt het token op twee plekken:
- in my.conciar.com onder Settings → Sales channels, als Channel token;
- in de response van
GET /locations, alssales_channel_token.
3. Doe je eerste request
Vraag je locaties op met de publishable key:
curl "https://api.conciar.com/connect/v1/locations" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key"Response (ingekort):
{
"data": {
"timezone": "Europe/Amsterdam",
"locations": [
{
"sales_channel_token": "cnct_ch_your_channel_token",
"name": "Bistro Example",
"is_test": false,
"address": "Example Street 1, 1000 AA Example City",
"is_open_now": true
}
]
}
}GET /locations geeft je actieve verkoopkanalen. Kanalen van bezorgplatforms, zoals Uber Eats, staan niet in de lijst.
Request-headers
| Header | Wanneer | Waarde |
|---|---|---|
X-Api-Key | Elke Connect-call | Je publishable key (pk_…) of geheime sleutel (cnct_…). |
X-Sales-Channel | Elke /store/…-call en /app/init | Het kanaaltoken (cnct_ch_…). |
Accept-Language | Optioneel | Bijvoorbeeld nl of zh-TW. Standaard de taal van het kanaal. |
X-Currency | Optioneel | Standaard de valuta van het kanaal. Een onbekende waarde wordt genegeerd. |
Authorization | Calls voor een ingelogde klant | Bearer <access_token> van /auth/otp/verify. |
Idempotency-Key | Optioneel, bij het plaatsen van een restaurantbestelling | 1–64 tekens. Een nieuwe poging met dezelfde sleutel geeft de eerste bestelling terug. |
X-Order-Token | Een gast die een restaurantbestelling bekijkt, betaalt of annuleert | Het order_token dat je kreeg bij het plaatsen. |
Ingelogde klanten
Klanten loggen in met een code van 6 cijfers die per e-mail wordt verstuurd:
POST /auth/otp/requestverstuurt de code.POST /auth/otp/verifycontroleert de code en geeft eenaccess_tokenterug. Het token is 6 maanden geldig.
Stuur het token als Authorization: Bearer … mee naast de API-sleutel. De /store/customer/…-endpoints vereisen het. Bij restaurantbestellingen is het optioneel: met het token hoort de bestelling bij de klant en levert ze loyaliteitsstempels en punten op.
Zonder code: de reserveringswidget
Om tafelreserveringen op je website aan te nemen, plak je dit op de plek waar het reserveringsformulier moet verschijnen. Vervang de guid door die van je restaurant; het volledige fragment vind je in my.conciar.com onder Settings → Restaurant.
<div class="conciar-widget"
data-widget-type="restaurant-reservation"
data-guid="YOUR_RESTAURANT_GUID"
data-lang="auto"></div>
<script src="https://widget.conciar.com/conciar-widget.iife.js" defer></script>data-lang accepteert een taalcode zoals en of nl, of auto voor de browsertaal van de bezoeker.
Volgende stappen
- API-sleutels en authenticatie: soorten sleutels, fouten en rate limits.
- API-referentie: elk endpoint, met voorbeelden.
- Codevoorbeelden: een afhaalbestelling, inloggen voor klanten en een tafelreservering, stap voor stap.