Saltar al contenido
OpenALaCarte

Desarrolladores

Consulta reservas, pedidos y menús de todos tus restaurantes. Crea nuevas reservas de servidor a servidor. Suscríbete a webhooks para integraciones en tiempo real.

Autenticación

Cada solicitud necesita una cabecera Authorization: Bearer oac_live_…. Las claves se emiten en el panel de tu empresa y abarcan todos los restaurantes asociados a ella.

curl https://www.openalacarte.com/api/v1/bookings \
  -H "Authorization: Bearer oac_live_<your-key>"

Límite de frecuencia: 120 solicitudes/minuto por clave. Una respuesta 429 devuelve una cabecera Retry-After.

Puntos de conexión

GET

/api/v1/bookings

Lista las reservas de todos tus restaurantes. Filtra por restaurantId, estado, rango de fechas. Paginación por cursor.

POST

/api/v1/bookings

Crea una reserva de cliente de servidor a servidor. Devuelve el confirmCode que el integrador entrega al comensal.

GET

/api/v1/orders

Lista los pedidos. Filtra por restaurantId, estado, tipo (DINE_IN/TAKEAWAY/DELIVERY).

PATCH

/api/v1/orders/{id}/status

Actualiza el estado de un pedido (CONFIRMED, PREPARING, READY, DELIVERED, CANCELLED). Activa la notificación estándar al comensal.

POST

/api/v1/orders/{id}/refund

Reembolsa por completo un pedido pagado a través de Stripe. Revierte la comisión de aplicación y los fondos en una sola llamada.

GET

/api/v1/menu-items

Lista los artículos del menú de todos tus restaurantes. Incluye precio, alérgenos, etiquetas y existencias.

Ejemplo rápido — listar las reservas de hoy

curl "https://www.openalacarte.com/api/v1/bookings?from=$(date -u +%Y-%m-%d)&status=CONFIRMED" \
  -H "Authorization: Bearer oac_live_<your-key>"

# Response:
# {
#   "data": [
#     { "id": "...", "restaurantId": "...", "date": "2026-05-28T…",
#       "time": "19:30", "partySize": 4, "status": "CONFIRMED",
#       "confirmCode": "abc12345", "diner": { "name": "...", "email": "..." } }
#   ],
#   "nextCursor": null
# }

Webhooks

Suscríbete a eventos para reaccionar en tiempo real. Enviamos una carga útil JSON firmada a tu punto de conexión; debes responder 200 en un plazo de 10 segundos.

booking.created

Se realizó una reserva.

booking.status_changed

Una reserva cambió de estado (p. ej. confirmada → cancelada).

order.created

Se realizó un nuevo pedido.

order.status_changed

Un pedido cambió de estado (CONFIRMED → PREPARING → READY → DELIVERED).

review.created

Llegó una nueva reseña para uno de tus restaurantes.

menu_item.updated

Se editó un artículo del menú (precio, descripción, existencias).

Cada entrega incluye X-OAC-Signature: sha256=… — HMAC-SHA256 del cuerpo con el secreto del punto de conexión. Verifícalo antes de confiar.

¿Preguntas? Envía un correo a devs@openalacarte.com o abre la especificación OpenAPI en Postman / Insomnia / Stoplight — cada punto de conexión anterior está totalmente documentado con ejemplos.