Desarrolladores y APIs

Integre su Restaurante

Conecte Dinr a su propio ecosistema. Ofrecemos dos formas sencillas de integración: incorporando la pantalla pública directamente en su sitio web a través de un Iframe, o desarrollando flujos personalizados utilizando nuestra API REST.

1. Incorporación via Iframe

La forma más sencilla de mostrar la pantalla de reservas en su sitio web es utilizando un Iframe. Al pasar el parámetro ?embed=true en la URL de reserva de su restaurante, los encabezados, pies de página y CTAs se ocultan automáticamente para garantizar una integración nativa y limpia.

Código HTML de ejemplo:
<iframe 
  src="https://dev.dinr.pt/es/sua-slug-restaurante?embed=true" 
  width="100%" 
  height="650px" 
  style="border:none; background:transparent;">
</iframe>

2. Autenticación de la API

Para APIs personalizadas, genere las credenciales en su panel de control en Configuración > Desarrolladores. Todas las llamadas a los endpoints de la API deben contener la cabecera Authorization o x-api-key.

Cabecera de Autenticación:
Authorization: Bearer dinr_live_suachavedoapirestaurante

3. Consultar Disponibilidad

Consulte los horarios y turnos disponibles de forma dinámica. Útil para crear interfaces de reserva personalizadas en chatbots, aplicaciones móviles o sitios web sin usar el iframe.

GET/api/v1/availability?date=YYYY-MM-DD&party_size=2
Query Parameters:
  • date (obligatorio): fecha en formato YYYY-MM-DD.
  • party_size (opcional): cantidad de personas (por defecto 2).
  • branch_id (opcional): ID de una sucursal específica.
Respuesta JSON de ejemplo (200 OK):
{
  "slots": [
    { "time": "19:00", "status": "available" },
    { "time": "19:30", "status": "available" },
    { "time": "20:00", "status": "waitlist" }
  ]
}

4. Listar Reservas

Recupere las reservas creadas en el restaurante filtrando por fecha o estado.

GET/api/v1/reservations?date=YYYY-MM-DD
Query Parameters:
  • date (opcional): fecha en formato YYYY-MM-DD.
  • status (opcional): ej. confirmed, pending, checked_in.
  • branch_id (opcional): ID de una sucursal específica.
Respuesta JSON de ejemplo (200 OK):
{
  "reservations": [
    {
      "id": "uuid-reserva",
      "guest_name": "António Silva",
      "guest_email": "antonio@email.com",
      "party_size": 4,
      "reservation_date": "2026-06-15",
      "reservation_time": "19:30:00",
      "status": "confirmed"
    }
  ]
}

5. Crear Reserva

Cree una reserva de forma programática. Las reglas de tiempo de comida y duración se calculan automáticamente según la configuración de su restaurante.

POST/api/v1/reservations
JSON Body (JSON):
{
  "guest_name": "Maria Cunha",
  "guest_email": "maria@email.com",
  "guest_phone": "+351912345678",
  "party_size": 2,
  "reservation_date": "2026-06-15",
  "reservation_time": "20:30:00",
  "branch_id": "uuid-da-filial",
  "special_request": "Mesa na janela"
}
Respuesta JSON de ejemplo (201 Created):
{
  "reservation": {
    "id": "uuid-reserva-gerada",
    "guest_name": "Maria Cunha",
    "reservation_time": "20:30:00",
    "end_time": "22:00:00",
    "status": "confirmed"
  }
}