Saltar al contenido
Destino Tour

Partners API

Una API preparada para agencias y partners que necesitan conectarse.

Ponemos a disposición de agencias y partners una API clara y documentada para consultar catálogo, salidas y reservas sobre el mismo inventario operativo que utilizamos en la web.

Integración disponible

La conectividad está preparada para quien quiera trabajarla.

Una agencia puede trabajar nuestro producto de forma manual desde la web, y otra con más estructura técnica puede conectarse a la API sin perder el mismo contexto operativo.

Catálogo y salidas reales

Consulta circuitos publicados, revisa cada salida disponible y trabaja siempre sobre el mismo inventario operativo que utiliza la web.

Acceso seguro por partner

Cada partner trabaja con su propia API key, de forma controlada y trazable, para operar solo sobre su canal.

Catálogo y salidas reales

Consulta circuitos publicados, revisa cada salida disponible y trabaja siempre sobre el mismo inventario operativo que utiliza la web.

Acceso seguro por partner

Cada partner trabaja con su propia API key, de forma controlada y trazable, para operar solo sobre su canal.

Reservas sin duplicidades

La creación de reservas utiliza Idempotency-Key para evitar duplicidades y devolver la misma operación si el intento se repite.

Seguimiento y soporte

Cada operación devuelve un identificador único para facilitar el seguimiento, el soporte y la revisión de incidencias.

Autenticación y reglas de uso

Headers aceptados

x-api-key: <api-key>

Authorization: Bearer <api-key>

Headers de respuesta

  • x-request-id para soporte y trazabilidad
  • x-ratelimit-remaining en endpoints autenticados

Notas operativas

  • La creación de reservas requiere siempre Idempotency-Key.
  • Una misma Idempotency-Key para el mismo canal reutiliza la misma reserva lógica.
  • Puede haber control por IP según la configuración de cada partner.
  • La referencia de reserva y el requestId deben conservarse en el sistema del partner.

Flujo recomendado

  1. 1

    Validar conectividad con /api/v1/health.

  2. 2

    Descargar catálogo con /api/v1/circuits.

  3. 3

    Consultar salidas con /api/v1/departures.

  4. 4

    Crear reservas con Idempotency-Key único por intento lógico.

  5. 5

    Guardar requestId, reference y externalReference en el sistema del partner.

  6. 6

    Consultar estado posterior vía /api/v1/reservations/{reference}.

Soporte técnico

Para incidencias, enviad siempre `requestId`, `reference`, `externalReference` y fecha/hora de la llamada a santiago@destinotour.com.

MétodoPathDescripciónAuth
GET/api/v1/healthEstado básico del servicio.Público
GET/api/v1/openapiContrato OpenAPI vivo en JSON.Público
GET/api/v1/circuitsListado de circuitos publicados.API key
GET/api/v1/circuits/{slug}Detalle de circuito con salidas futuras.API key
GET/api/v1/departuresSalidas futuras. Admite filtro ?circuit=<slug>.API key
POST/api/v1/reservationsCrea una reserva en estado HELD.API key + Idempotency-Key
GET/api/v1/reservations/{reference}Consulta el estado de una reserva.API key

Recursos descargables

Kit rápido para arrancar la integración

Si tu equipo técnico quiere empezar sin leer toda la página, aquí tiene un paquete base con colección Postman, ejemplo de payload y checklist operativa de puesta en marcha.

Ver contrato JSON

Colección Postman

Requests listos para healthcheck, catálogo, salidas, creación de reserva y consulta por referencia.

destino-tour-api.postman_collection.json

Descargar

Ejemplo JSON de reserva

Payload base para POST /api/v1/reservations con los campos operativos esperados por la API.

destino-tour-reservation-example.json

Descargar

Checklist de onboarding

Lista rápida para validar autenticación, errores, idempotencia, trazabilidad y salida a producción.

destino-tour-onboarding-checklist.md

Descargar

Ejemplo rápido

Antes de integrar, recomendamos validar conectividad, autenticación y creación de reserva con una credencial de partner.

Healthcheck

curl https://destinotour.com/api/v1/health

Circuitos

curl -H "x-api-key: <api-key>" \
  https://destinotour.com/api/v1/circuits

Crear reserva con idempotencia

La API devuelve reservas en estado `HELD` y reutiliza la misma reserva si la misma `Idempotency-Key` se repite dentro del mismo canal.

curl -X POST https://destinotour.com/api/v1/reservations \
  -H "x-api-key: <api-key>" \
  -H "Idempotency-Key: partner-123-order-987" \
  -H "Content-Type: application/json" \
  -d '{
    "departureId": "cmobt3zxw000aegoaual0bse2",
    "customerName": "Juan Perez",
    "customerEmail": "juan.perez@example.com",
    "customerPhone": "+34638875747",
    "passengerCount": 2,
    "adults": 2,
    "children": 0,
    "externalReference": "ORDER-987",
    "notes": "Reserva desde integración partner"
  }'

Códigos de error

400

Payload inválido o falta Idempotency-Key.

401

API key ausente o inválida.

403

IP no autorizada o reserva de otro integrador.

404

Recurso no encontrado.

409

Sin disponibilidad o salida no operativa.

429

Rate limit excedido.

500

Error interno.

¿Quieres validar la integración con nosotros?

Podemos coordinar una prueba de extremo a extremo con una credencial de partner y revisar juntos autenticación, catálogo, salidas, reservas e idempotencia.

Escribir a soporte técnico