Erste Schritte mit der Conciar API
Conciar hat zwei APIs. Damit bauen Sie Ihre eigene Kunden-App, ein Website-Backend oder eine Integration auf Basis Ihres Conciar-Kontos.
| API | Wofür | Schlüssel | Basis-URL |
|---|---|---|---|
| Connect API | Standorte, die Restaurant-Speisekarte und Abholbestellungen, Kundenanmeldung und Treueprogramm, der Webshop-Katalog, Warenkorb, Checkout und Abonnements. | Ja | https://api.conciar.com/connect/v1 |
| Öffentliche Reservierungs-API | Tischreservierungen: Verfügbarkeit, Buchung (mit Anzahlung oder Kartengarantie), die eigene Reservierung des Gastes, Veranstaltungen mit Tickets und Gutscheine. | Nein | https://api.conciar.com/public/v1 |
Die öffentliche Reservierungs-API braucht keinen Schlüssel. Sie sprechen ein Restaurant über seine GUID an. Wenn Sie auf einer Website nur Reservierungen anbieten möchten, müssen Sie nichts entwickeln: Binden Sie das Buchungswidget ein.
1. API-Schlüssel erstellen
- Melden Sie sich bei my.conciar.com als Admin oder Manager an.
- Öffnen Sie Management → API Keys und klicken Sie auf New API Key.
- Geben Sie einen Key Name ein, zum Beispiel „Kunden-App“, und klicken Sie auf Create Key.
- Kopieren Sie sofort beide Teile des Schlüssels: den Publishable Key (
pk_…) und den geheimen Schlüssel (cnct_…). Sie werden nur einmal angezeigt.
Den Unterschied zwischen den beiden Teilen und wie Sie sie sicher aufbewahren, finden Sie unter API-Schlüssel und Authentifizierung.
2. Token Ihres Verkaufskanals finden
Jeder Standort oder Shop, über den Sie verkaufen, ist ein Verkaufskanal. Aufrufe von /store/… und /app/init brauchen das Token des Kanals (cnct_ch_…) im Header X-Sales-Channel. Der Kanal bestimmt Speisekarte oder Katalog, Preise, Währung, Sprache und Zahlungsarten.
Sie finden das Token an zwei Stellen:
- in my.conciar.com unter Settings → Sales channels als Channel token;
- in der Antwort von
GET /locationsalssales_channel_token.
3. Erste Anfrage senden
Listen Sie Ihre Standorte mit dem Publishable Key auf:
curl "https://api.conciar.com/connect/v1/locations" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key"Antwort (gekürzt):
{
"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 listet Ihre aktiven Verkaufskanäle auf. Kanäle von Lieferplattformen wie Uber Eats sind nicht in der Liste.
Request-Header
| Header | Wann | Wert |
|---|---|---|
X-Api-Key | Jeder Connect-Aufruf | Ihr Publishable Key (pk_…) oder geheimer Schlüssel (cnct_…). |
X-Sales-Channel | Jeder /store/…-Aufruf und /app/init | Das Kanal-Token (cnct_ch_…). |
Accept-Language | Optional | Zum Beispiel nl oder zh-TW. Standard ist die Sprache des Kanals. |
X-Currency | Optional | Standard ist die Währung des Kanals. Ein unbekannter Wert wird ignoriert. |
Authorization | Aufrufe für einen angemeldeten Kunden | Bearer <access_token> aus /auth/otp/verify. |
Idempotency-Key | Optional, beim Aufgeben einer Restaurantbestellung | 1–64 Zeichen. Ein erneuter Versuch mit demselben Schlüssel gibt die erste Bestellung zurück. |
X-Order-Token | Ein Gast liest, bezahlt oder storniert eine Restaurantbestellung | Das order_token, das Sie beim Aufgeben erhalten haben. |
Angemeldete Kunden
Kunden melden sich mit einem 6-stelligen Code an, der per E-Mail gesendet wird:
POST /auth/otp/requestsendet den Code.POST /auth/otp/verifyprüft ihn und gibt einaccess_tokenzurück. Das Token ist 6 Monate gültig.
Senden Sie das Token als Authorization: Bearer … zusätzlich zum API-Schlüssel. Die Endpunkte unter /store/customer/… setzen es voraus. Bei Restaurantbestellungen ist es optional: Damit gehört die Bestellung dem Kunden und bringt Treuestempel und Punkte.
Ohne Code: das Buchungswidget
Um Tischreservierungen auf Ihrer Website anzunehmen, fügen Sie dies dort ein, wo das Buchungsformular erscheinen soll. Ersetzen Sie die GUID durch die Ihres Restaurants; das vollständige Snippet finden Sie in my.conciar.com unter 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 akzeptiert einen Sprachcode wie en oder nl oder auto für die Browsersprache des Besuchers.
Nächste Schritte
- API-Schlüssel und Authentifizierung: Schlüsseltypen, Fehler und Rate Limits.
- API-Referenz: jeder Endpunkt, mit Beispielen.
- Codebeispiele: eine Abholbestellung, Kundenanmeldung und eine Tischbuchung, Schritt für Schritt.