Busca, cotiza, reserva y reembolsa viajes en tren mediante la API pública de Travelandz.
Ruta base
Todas las operaciones públicas de trenes viven bajo /v1/trains. El proveedor disponible actualmente es gdsprovider=0.
Autenticación
Cada petición requiere Authorization: Bearer <secret_key> y X-Travelandz-Id: <public_key>:<profile_code>. El profile code persistido usa el formato dp_<12 alfanuméricos>; conserva los secrets en el servidor.
Convenciones del protocolo
- Los endpoints JSON devuelven
200 OKcuando la operación termina correctamente. - Los POST usan
Content-Type: application/json. - Las fechas usan
YYYY-MM-DDy los importes usan{ amount, currency }. - Los campos desconocidos en body o query se rechazan con
400. - Los endpoints en stream devuelven JSON delimitado por saltos de línea (NDJSON), no un único documento JSON.
Flujo
- Busca localidades y usa sus ids para buscar viajes.
- Conserva
journeyIdy solicita las ofertas del viaje seleccionado. - Conserva uno o más
offerIdy crea una pre-reserva. - Usa
bookingIdpara consultar campos requeridos y crear la orden. - Conserva
orderIdy consulta los ítems reembolsables antes de pedir un reembolso.
Catálogo de endpoints
| Method | Path | Uso |
|---|---|---|
GET | /v1/trains/locations | Buscar estaciones y localidades. |
POST | /v1/trains/journeys | Buscar viajes. |
POST | /v1/trains/journeys/stream | Buscar viajes en stream NDJSON. |
POST | /v1/trains/journeys/:gdsprovider/:journeyId/offers | Obtener ofertas de un viaje. |
POST | /v1/trains/journeys/:gdsprovider/:journeyId/offers/stream | Obtener ofertas en stream. |
POST | /v1/trains/book/:gdsprovider/prebook | Crear una pre-reserva. |
GET | /v1/trains/book/:gdsprovider/:bookingId/required-fields | Consultar campos de reserva. |
POST | /v1/trains/book/:gdsprovider/:bookingId/order | Crear y confirmar una orden. |
GET | /v1/trains/order/:gdsprovider/:orderId | Obtener una orden y sus tickets. |
GET | /v1/trains/order/:gdsprovider/:orderId/refundable-items | Listar ítems reembolsables. |
POST | /v1/trains/order/:gdsprovider/:orderId/refund | Solicitar un reembolso. |
GET | /v1/trains/order/:gdsprovider/:orderId/refund | Consultar el estado del reembolso. |
Enums compartidos
| Campo | Valores |
|---|---|
passengers[].type | youth, adult, senior |
passengers[].title | mr, ms, mx |
identityDocument.type | passport |
transport | train, bus, ferry |
flexibility | non_flex, semi_flex, full_flex |
order.status | pending, confirmed, cancelled |
refund.state | success, pending, error |