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
/api/v1/bookings
Lista las reservas de todos tus restaurantes. Filtra por restaurantId, estado, rango de fechas. Paginación por cursor.
/api/v1/bookings
Crea una reserva de cliente de servidor a servidor. Devuelve el confirmCode que el integrador entrega al comensal.
/api/v1/orders
Lista los pedidos. Filtra por restaurantId, estado, tipo (DINE_IN/TAKEAWAY/DELIVERY).
/api/v1/orders/{id}/status
Actualiza el estado de un pedido (CONFIRMED, PREPARING, READY, DELIVERED, CANCELLED). Activa la notificación estándar al comensal.
/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.
/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.