Primeros pasos con la API de Conciar
Conciar tiene dos API. Úsalas para crear tu propia app de clientes, el backend de una web o una integración sobre tu cuenta de Conciar.
| API | Para qué sirve | Clave | URL base |
|---|---|---|---|
| Connect API | Locales, la carta del restaurante y los pedidos para llevar, el inicio de sesión y la fidelización de clientes, el catálogo de la tienda online, el carrito, el pago y las suscripciones. | Sí | https://api.conciar.com/connect/v1 |
| API pública de reservas | Reservas de mesa: disponibilidad, reserva (con depósito o garantía con tarjeta), la reserva propia del cliente, eventos con entradas y tarjetas regalo. | No | https://api.conciar.com/public/v1 |
La API pública de reservas no necesita clave. Te diriges a un restaurante por su guid. Si solo quieres reservas en una web, no tienes que desarrollar nada: inserta el widget de reservas.
1. Crea una clave API
- Inicia sesión en my.conciar.com como admin o manager.
- Abre Management → API Keys y haz clic en New API Key.
- Introduce un Key Name, por ejemplo "App de clientes", y haz clic en Create Key.
- Copia en ese momento las dos partes de la clave: la clave publicable (
pk_…) y la clave secreta (cnct_…). Solo se muestran una vez.
La diferencia entre las dos partes, y cómo mantenerlas seguras, está en Claves API y autenticación.
2. Encuentra el token de tu canal de venta
Cada local o tienda por el que vendes es un canal de venta. Las llamadas a /store/… y /app/init necesitan el token del canal (cnct_ch_…) en la cabecera X-Sales-Channel. El canal decide la carta o el catálogo, los precios, la moneda, el idioma y los métodos de pago.
Encontrarás el token en dos sitios:
- en my.conciar.com, en Settings → Sales channels, como Channel token;
- en la respuesta de
GET /locations, comosales_channel_token.
3. Haz tu primera petición
Lista tus locales con la clave publicable:
curl "https://api.conciar.com/connect/v1/locations" \
-H "Accept: application/json" \
-H "X-Api-Key: pk_your_publishable_key"Respuesta (abreviada):
{
"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 lista tus canales de venta activos. Los canales de plataformas de reparto, como Uber Eats, no aparecen en la lista.
Cabeceras de la petición
| Cabecera | Cuándo | Valor |
|---|---|---|
X-Api-Key | Cada llamada a Connect | Tu clave publicable (pk_…) o secreta (cnct_…). |
X-Sales-Channel | Cada llamada a /store/… y /app/init | El token del canal (cnct_ch_…). |
Accept-Language | Opcional | Por ejemplo nl o zh-TW. Por defecto, el idioma del canal. |
X-Currency | Opcional | Por defecto, la moneda del canal. Un valor desconocido se ignora. |
Authorization | Llamadas para un cliente con sesión iniciada | Bearer <access_token> de /auth/otp/verify. |
Idempotency-Key | Opcional, al hacer un pedido de restaurante | De 1 a 64 caracteres. Un reintento con la misma clave devuelve el primer pedido. |
X-Order-Token | Un cliente que consulta, paga o cancela un pedido de restaurante | El order_token que recibiste al hacerlo. |
Clientes con sesión iniciada
Los clientes inician sesión con un código de 6 dígitos enviado por email:
POST /auth/otp/requestenvía el código.POST /auth/otp/verifylo comprueba y devuelve unaccess_token. El token es válido durante 6 meses.
Envía el token como Authorization: Bearer … junto a la clave API. Los endpoints /store/customer/… lo requieren. En los pedidos de restaurante es opcional: con él, el pedido pertenece al cliente y suma sellos y puntos de fidelización.
Sin código: el widget de reservas
Para aceptar reservas de mesa en tu web, pega esto donde deba aparecer el formulario de reservas. Sustituye el guid por el de tu restaurante; encontrarás el fragmento completo en my.conciar.com, en 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 acepta un código de idioma como en o nl, o auto para el idioma del navegador del visitante.
Siguientes pasos
- Claves API y autenticación: tipos de clave, errores y límites de peticiones.
- Referencia de la API: todos los endpoints, con ejemplos.
- Ejemplos de código: un pedido para llevar, el inicio de sesión de un cliente y una reserva de mesa, paso a paso.