Centro de ayuda · Configuración

Conectar analítica, llaves de API y webhook

Conecta Google Analytics, Tag Manager y Meta Pixel, agrega tus llaves de Google Maps y Amadeus, y envía avisos de tus reservas a otro sistema con el webhook.

Actualizado el 30 de septiembre de 2026

En Configuración, grupo «Integraciones», conectas tu sitio con servicios externos: herramientas de medición, mapas, vuelos y otros sistemas.

Analítica

Mide cuántas personas visitan tu sitio y qué hacen, y alimenta tus campañas de anuncios.

  1. Abre Analítica.
  2. Activa el interruptor de lo que uses y pega tu identificador:
    • Google Analytics G4: el Measurement ID (G-XXXXXXXXXX). Está en Google Analytics → Admin → Data Streams.
    • Google Tag Manager: el Container ID (GTM-XXXXXXX).
    • Meta Pixel (Facebook): el Meta Pixel ID (15 o 16 dígitos). El Access Token y el Dataset ID son opcionales, para la API de conversiones de Meta.
  3. En Configuración de Eventos marca qué registrar: Vistas de página, Reservas, Búsquedas y Clics importantes.
  4. En Configuración Avanzada puedes pegar código propio para el <head>, el inicio del <body> o el final de la página (por ejemplo, un chat de terceros). Se inserta en todas las páginas de tu sitio.
  5. Pulsa «Guardar cambios» en la barra de abajo.

Si usas medición, menciónalo en tu Política de Privacidad (Configuración → Textos legales).

Llaves de API

Google Maps API: sirve para el autocompletado de direcciones, los mapas y el cálculo de rutas (por ejemplo, en Traslados).

  1. Crea la llave en Google Cloud Console y pégala en Clave API de Google Maps.
  2. Marca las Funcionalidades habilitadas (Autocompletado, Mapas, Cálculo de rutas, Geocodificación) y dónde usarla (Traslados, Campos de Servicio).
  3. Pulsa «Validar API Key» para comprobar que funciona y luego «Guardar Configuración».

La llave de Google Maps es una llave de navegador: tu sitio la usa para el autocompletado de direcciones y los mapas, así que cualquier visitante puede verla en su navegador. travo solo la entrega a tu sitio cuando esas funciones están encendidas (el Cálculo de rutas lo pide travo desde su servidor), pero para que nadie la use fuera de tu sitio, restríngela en Google Cloud Console:

  1. En Google Cloud Console → APIs y servicios → Credenciales, abre tu llave.
  2. En Restricciones de aplicaciones elige Sitios web (HTTP referrers) y agrega tu dominio, por ejemplo https://tuagencia.com/* y https://*.tuagencia.com/* (y tu subdominio de travo si lo usas).
  3. En Restricciones de API deja solo las APIs que marcaste (Maps JavaScript, Places, Directions, Geocoding).

Si también usas el Cálculo de rutas, esa parte la pide el servidor de travo y una llave restringida por referrer puede rechazarla: en ese caso crea una segunda llave restringida solo a Directions API o deja esa función apagada. Si «Validar API Key» marca errores después de restringirla, es por lo mismo: la validación se hace desde el servidor.

Amadeus API: sirve para buscar vuelos y hoteles.

  1. Crea tu cuenta en Amadeus for Developers y copia tu API Key y tu API Secret.
  2. Elige el Ambiente de API: Test para pruebas o Producción. Las credenciales de prueba no funcionan en producción.
  3. Marca Búsqueda de vuelos y/o Búsqueda de hoteles.
  4. Pulsa «Validar API Key» y luego «Guardar Configuración».

Tus llaves se muestran ocultas (solo los últimos 4 caracteres). Las de Google Maps y Amadeus (y el secreto de Amadeus) se guardan cifradas y travo no las vuelve a mostrar completas: para cambiarlas, borra el campo, pega el nuevo valor y guarda. Cada agencia usa sus propias llaves, y los cargos de Google o Amadeus te llegan a ti.

Los tipos de cambio de Moneda y tipo de cambio no necesitan llave: se actualizan solos cada día.

Webhook

Con el webhook, travo avisa al momento a otro sistema tuyo (tu CRM, Zapier, Make, una hoja de cálculo…) cada vez que pasa algo con tus reservas. travo manda un aviso (un POST con los datos en JSON) a la URL que indiques.

  1. Abre Webhook y pega la URL del webhook. Debe empezar con https://.
  2. Marca los Eventos que se envían:
    • Reserva creada (booking.created): toda reserva nueva, del sitio, del panel o de la API. Incluye las que esperan su pago en línea.
    • Reserva confirmada, cancelada y completada (booking.confirmed, booking.cancelled, booking.completed): cuando cambia su estado.
    • Pago recibido (payment.received): un pago que queda cobrado (pasarela, transferencia aprobada o pago manual).
    • Reseña nueva (review.created).
  3. Pulsa «Guardar webhook». La primera vez aparece tu Secreto de firma: cópialo en ese momento, porque después solo se muestran sus últimos caracteres.
  4. Pulsa «Enviar prueba» para mandar un aviso de prueba (webhook.test) y ver si tu sistema responde.

Con el interruptor puedes pausar el webhook sin borrar la URL; mientras está pausado no se envía nada y lo que estaba en cola se descarta. Para quitarlo, vacía la URL y guarda.

Qué recibe tu sistema. Cada aviso es un JSON con id (único del aviso), type (el evento), version (hoy 1), createdAt y data, que trae la reserva (booking: código, estado, servicio, fecha, personas, total, datos del cliente), el pago (payment) o la reseña (review) como están al momento del envío (por ejemplo, un booking.created puede llegar con la reserva ya confirmada). Llega con las cabeceras X-Travo-Event, X-Travo-Delivery (igual al id) y X-Travo-Signature.

Cómo comprobar que viene de travo. X-Travo-Signature tiene la forma t=<hora>,v1=<firma>. Tu sistema calcula un HMAC-SHA256 con tu secreto sobre el texto <hora>.<cuerpo tal cual llegó> y lo compara con v1; descarta avisos con una hora de hace más de 5 minutos. Si alguien ve tu secreto, pulsa «Generar secreto nuevo»: el anterior deja de valer en ese momento.

Si tu sistema no responde. Tu sistema debe responder con un código 2xx en menos de 10 segundos. Si no, travo lo reintenta a los 1, 5 y 30 minutos, y a las 2, 6 y 12 horas. En el Historial de envíos ves cada aviso (En cola, Entregado, Fallido o Descartado), lo que se mandó y lo que respondió tu sistema; con «Reintentar» vuelves a mandar uno fallido. Un reintento lleva el mismo id: úsalo para no procesar el mismo aviso dos veces.

Los avisos salen en menos de un minuto. Por seguridad, travo solo envía a direcciones públicas de internet con https:// y no sigue redirecciones.

Preguntas frecuentes

Google Analytics no muestra visitas. Revisa que el interruptor esté activo, que el ID empiece con G- y que guardaste. Los datos pueden tardar unas horas en aparecer en Google.

«Validar API Key» marca errores. Revisa que copiaste la llave completa y, en Google Cloud, que habilitaste las APIs de Maps que marcaste (Places, Maps JavaScript, Directions, Geocoding). En Amadeus, que el ambiente coincida con tus credenciales.

¿Puedo borrar el código personalizado que pegué? Sí: vacía el cuadro y guarda.

El webhook dice «Descartado». El aviso no se mandó porque el webhook estaba pausado, ya no escuchaba ese evento o la reserva se borró antes de enviarlo (pasa con pagos en línea abandonados).

«Enviar prueba» falla con «dirección privada o local». La URL apunta a una red interna o a tu propia computadora. Usa una dirección pública (por ejemplo la que te da Zapier o Make).

¿Te quedó alguna duda? Escríbenos por WhatsApp.