Lanza tu primera llamada real-time desde el playground
Todos los endpoints real-time funcionan igual: lo eliges, rellenas lo que pide y lo lanzas. El playground lo hace con tu propia API key y te enseña el cURL, el Node.js, el PHP o el Python exactos que han producido esa respuesta — así el salto de hacer clic a integrar es copiar y pegar.

Qué vas a construir
Una llamada en vivo a las tarifas de Booking.com de uno de tus hoteles, respondida en segundos con el precio de cada habitación, y esa misma llamada funcionando en Postman — más el mapa de qué otros endpoints real-time necesitan una entidad y cuáles no.
Esto hay que montarlo antes
ObligatorioLos endpoints no aceptan texto libre: aceptan tus identificadores. Esta receta da por hecho que lo de abajo ya existe en tu cuenta, y mientras falte algo la llamada responde vacía, no da error. Cada punto enlaza la receta que lo enseña.
- 01
Da de alta el hotel en tu panel de control
Veetal resuelve el alojamiento contra Booking.com y le asigna un slug — y es ese slug, no el nombre del hotel, lo que piden todos los endpoints de alojamiento.
Guía: Da de alta tu hotel y el compset contra el que fijas precio →
Lo mismo por API, si prefieres no pasar por el panel:
curl -X POST "https://api.veetal.app/v2/account/accommodation" \
-H "veetal-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ ... }' # see the account reference for the bodyCómo funciona
- 01Elige la API y el endpoint
- 02Rellena lo que te pide
- 03Lánzala y lee la respuesta
- 04Llévate la misma llamada a Postman
- 05Los endpoints que no necesitan ninguna entidad
- 06Qué pasa después
Paso a paso
Al terminar habrás lanzado una petición real contra Booking.com desde el navegador, habrás leído la respuesta y tendrás esa misma llamada funcionando en Postman.
Qué necesitas: una API real-time instalada y activa en tu cuenta y, para este ejemplo, un hotel ya dado de alta como alojamiento. Si todavía no tienes ninguno, salta al último paso: hay endpoints que no necesitan nada.
Lo que cuesta: 1 crédito esta petición. Las llamadas real-time se cobran por petición; una respuesta servida desde caché no cuesta nada.
1. Elige la API y el endpoint
Abre el Playground. El desplegable API está agrupado en Real Time, Feed y Account, y solo lista las APIs que tu cuenta tiene activas y con endpoints publicados.

Elige Booking Accommodation Rates. El selector ENDPOINT de debajo se llena con los endpoints de esa API — aquí Booking Accommodation Rates (by slug) — y bajo él aparece la descripción de lo que devuelve. El icono de reloj que hay al lado abre el historial de tus últimas llamadas a ese endpoint.
2. Rellena lo que te pide
Los campos se generan desde la definición del endpoint, así que cada uno pide exactamente lo suyo: SLUG, CHECKIN, CHECKOUT y ADULTS en este caso. Los campos que apuntan a una entidad llevan un botón + que abre el diálogo de alta sin salir del playground.
Show optional fields despliega el resto — moneda, idioma, régimen, cancelación. Run request sigue deshabilitado hasta que los obligatorios estén completos y, en los endpoints de escritura, hasta que el JSON del cuerpo sea válido.
3. Lánzala y lee la respuesta

Los chips que hay sobre la respuesta son la verdad de lo que ha pasado: HTTP 200, 6.7s, 3.4KB. Segundos, no milisegundos — Veetal está abriendo Booking.com por ti en ese momento, no leyendo una copia guardada. El cuerpo llega como un árbol JSON con buscador, botón de copiar y descarga del JSON.
El chip de créditos de la cabecera pasó de 761 a 762: un crédito.
4. Llévate la misma llamada a Postman
La columna derecha es la misma petición en cURL, Node.js, PHP y Python.

Pulsa Copy y en Postman usa Import → Raw text, pega y Continue. Te llega la petición con su URL, su query y la cabecera veetal-api-key ya puesta.
Dos cosas que conviene saber de ese snippet:
- Lleva tu API key real. La pantalla la tapa y el icono del ojo la revela, pero Copy copia la de verdad. Trátala como una contraseña: no la pegues en un ticket, en una captura ni en una colección compartida.
- Incluye
no_cache=true. El playground siempre fuerza llamada fresca para que veas dato vivo. Quita ese parámetro en tu integración y podrá reaprovecharse una respuesta reciente — más rápido, y no vuelve a cobrar.
5. Los endpoints que no necesitan ninguna entidad
No toda llamada real-time necesita algo dado de alta antes:
- Tarifas de vuelo —
GET /v2/real-time/flight/rate/airport/{origin}/{destination}/{departure_date}se pide con dos códigos IATA y una fecha. No hay que crear nada. - Search — los endpoints de catálogo resuelven regiones, países, ciudades, aeropuertos y monedas, y son gratis.
- Booking search —
GET /v2/real-time/booking/search/{type}/{name}encuentra un hotel por su nombre y te da los identificadores que piden los demás endpoints.
Y los que sí piden un alojamiento siguen la misma forma que esta receta: /reputation/booking, /reviews/booking, /availability/booking/{from}/{to}/{adults}, /parity/{checkin}/{checkout}/{adults}.
Qué pasa después
Cada llamada que haces se guarda. Abre la API desde el menú lateral y su pestaña Requests te enseña la gráfica diaria y horaria más la tabla de peticiones: parámetros, respuesta, duración, créditos y si vino de caché. Desde ahí puedes repetir cualquiera en el playground — lo que vuelve a cobrar salvo que responda la caché.
Preguntas
¿Por qué una llamada real-time tarda segundos y no milisegundos?
Porque no hay copia guardada que leer. Al lanzarla, Veetal abre la OTA, salva sus defensas, renderiza la página y la parsea, todo dentro de tu petición. Los 6,7 segundos de esta receta son ese trabajo. Si necesitas respuesta instantánea para pintar una página, usa un dataset Feed — el dato equivalente, escrito por un import programado y servido desde tu cuenta.
¿Repetir una petición me cobra dos veces?
Solo si vuelve a salir de verdad. Las respuestas real-time se cachean durante una ventana corta, y una respuesta cacheada no factura. El playground añade `no_cache=true` a propósito para que siempre veas dato vivo, así que cada ejecución desde el playground es una llamada real y un crédito real. Quita el parámetro en tu integración.
¿Dónde está mi API key y por qué el playground no me la pide?
El playground ejecuta con la key de la cuenta con la que has entrado, por eso no hay campo de key. La encuentras, junto al botón para regenerarla, en Developers, Authentication. Si ves "Current account does not have a valid API key", la cuenta a la que has cambiado no tiene ninguna — vuelve a la tuya o genérale una.
¿Puedo llamar a un endpoint real-time sin dar de alta nada?
A algunos sí. Las tarifas de vuelo se piden con dos códigos de aeropuerto, los endpoints de catálogo resuelven geografía y monedas gratis, y Booking search encuentra un hotel por su nombre. Los que trabajan sobre un hotel tuyo — tarifas, disponibilidad, reputación, reseñas, paridad — necesitan que ese hotel exista como alojamiento en tu cuenta.
La respuesta ha vuelto con un error. ¿Dónde miro?
El chip se pone rojo y el cuerpo trae el código y el mensaje del error. Abre la pestaña Requests de esa API para ver la llamada con sus parámetros; allí salen los mismos códigos. Los códigos de las series 600 y 700 suelen ser un identificador que no se ha podido resolver; un 270 significa que la ficha de la OTA no se pudo leer en ese momento, y conviene reintentarlo antes de darlo por bug.
Construye el tuyo
Empieza gratis con 100 créditos de API. Sin tarjeta ni llamada comercial.