Saltar al contenido
Developers
OpenAPI Abrir panel
Booking API v1

Integra la reserva.
Conserva tu experiencia.

Consulta disponibilidad, crea y modifica reservas y conecta tu lista de espera con un contrato estable, idempotencia y eventos firmados.

  • 01JSON predecible
  • 02Errores RFC 9457
  • 03Webhooks HMAC
GET /availability200 OK
{
 "data": {
 "date": "2026-08-12",
 "party_size": 4,
 "state": "ready",
 "slots": [
 { "time": "20:30", "duration_minutes": 90 },
 { "time": "21:00", "duration_minutes": 90 }
 ]
 },
 "meta": { "request_id": "…" }
}
Fundamentos

Del primer token a producción.

01

Crea una credencial

Desde Integraciones, crea una clave de pruebas con los permisos mínimos.

rv_sk_test_••••••••
02

Obtén el perfil

Lee reglas, campos publicados e identidad visual antes de construir el formulario.

availability:read
03

Opera con seguridad

Usa una clave de idempotencia distinta por acción y guarda los identificadores devueltos.

Idempotency-Key
Consola interactiva

API Explorer

Ejecuta peticiones reales contra este entorno. La clave vive únicamente en la memoria de esta pestaña y nunca se guarda.

availability:read

Perfil de reserva

Devuelve reglas, campos y configuración publicada.

Ver contrato ↗
GET/api/v1/venues/{venue_id}/booking-profile
Usa una credencial de test mientras desarrollas.
Sin ejecutar— ms
{
 "message": "Configura una operación y pulsa Enviar petición."
}
Contrato estable

Las reglas que evitan sorpresas.

AUTH

Bearer y permisos mínimos

Cada clave pertenece a un restaurante y canal. Separa test y live; rota de inmediato ante cualquier exposición.

Authorization: Bearer $RESERVIFY_API_KEY
SAFE RETRY

Idempotencia en cada escritura

Repite una solicitud con la misma clave solo si el método, la ruta y el cuerpo son idénticos.

Idempotency-Key: booking_01J...
ERRORS

Problemas legibles por máquinas

Los errores usan application/problem+json e incluyen código estable y request_id para diagnóstico.

{ "code": "slot_unavailable" }
Eventos salientes

Confía en el cuerpo.
Verifica la firma.

Reservify firma el cuerpo JSON exacto con HMAC-SHA256. Responde con cualquier estado 2xx; si fallas, reintentaremos hasta ocho veces con espera creciente.

  • reservation.created
  • reservation.updated
  • reservation.cancelled
  • waitlist.created
  • waitlist.updated
  • webhook.test
Verificación · PHP
$signature = $_SERVER['HTTP_RESERVIFY_SIGNATURE'] ?? '';
[$timestampPart, $hashPart] = explode(',', $signature, 2);
$timestamp = substr($timestampPart, 2);
$received = substr($hashPart, 3);
$expected = hash_hmac(
 'sha256',
 $timestamp . '.' . $rawBody,
 getenv('RESERVIFY_WEBHOOK_SECRET')
);

if (!hash_equals($expected, $received)) {
 http_response_code(401);
 exit;
}