Crea un viaje y obtén un token de viaje

Para iniciar una sesión de navegación paso a paso de forma segura para un conductor, tu backend debe crear un viaje y obtener un token de viaje autenticado de la API de Navigation Connect.

En Navigation Connect, un viaje representa una sesión de navegación a un solo destino. Para crear un viaje y obtener el token de viaje autenticado (authToken) necesario para autorizar la sesión, envía un CreateTripRequest mensaje al CreateTrip método. Pasa el token de viaje a tu app para dispositivos móviles para incluirlo en la URL de inicio de Google Maps o Waze.

En esta guía, se describe cómo completar este proceso generando un ID de viaje único y enviando tu solicitud a la API.

Cómo construir un mensaje CreateTripRequest

Para crear un viaje y obtener un token de viaje, sigue estos pasos para construir y enviar un mensaje CreateTripRequest:

  1. Autentica: Usa las credenciales predeterminadas de la aplicación (ADC) para obtener un token de acceso que autorice tu solicitud. Para obtener más información, consulta Cómo crear un token de OAuth.
  2. Genera un ID de viaje: Crea un ID de viaje único (tripId) en UUIDv4 UUIDv4 para identificar el viaje en tu servidor.
  3. Construye la carga útil: Crea una carga útil de JSON que incluya los IDs de tu app y la configuración.
  4. Llama al método CreateTrip: Envía una solicitud POST a la API con el token de acceso en el encabezado y la carga útil en el cuerpo.

En el siguiente ejemplo, se muestra cómo crear un viaje enviando un mensaje CreateTripRequest:

#!/bin/bash

# Authenticate with ADC
access_token="$(gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL)"

# Generate a unique Trip ID
trip_id="$(uuidgen)"

# Construct the payload
payload=$(cat <<EOF
{
  "androidAppId": "ANDROID_APP_ID",
  "iosAppId": "IOS_APP_ID",
  "config": {
    "enablePubsub": true
  }
}
EOF
)

# Call the CreateTrip method to request a trip token
curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json" \
-d "${payload}"

Configuración opcional

Puedes personalizar los datos del viaje ajustando la siguiente configuración en el mensaje CreateTripRequest:

Función Tipo Descripción
Informes de la ruta restante (solo en Waze) boolean

Para recibir la polilínea de la ruta activa y las condiciones de tráfico en tiempo real, establece config.enableRemainingRouteReporting en true.

Frecuencia de actualización del viaje boolean

De forma predeterminada, Navigation Connect actualiza los datos del viaje cada 60 segundos. Para habilitar las actualizaciones de alta frecuencia (cada 5 segundos), establece config.enableHighFrequencyUpdates en true.

Generación de eventos de Google Cloud Pub/Sub boolean

Para habilitar la generación de eventos de viaje con Google Cloud Pub/Sub, establece config.enablePubsub en true. Esta función está inhabilitada de forma predeterminada.

Máscara de campo de Google Cloud Pub/Sub FieldMask

Para administrar los tamaños de carga útil y reducir la carga de procesamiento del backend o los costos de uso de Google Cloud Pub/Sub, usa config.pubsubFieldMask para excluir campos pesados (como execution.remainingRoute) de tu flujo de eventos. Para obtener más información sobre el tamaño de la carga útil de los datos de la ruta restante, consulta Cómo controlar los datos de la ruta restante.

Cómo obtener el token de viaje de la respuesta

El método CreateTrip muestra una respuesta que contiene el token de viaje autenticado. Para autorizar la sesión de navegación, extrae este token de la respuesta y pásalo a tu app para dispositivos móviles para incluirlo en la URL de inicio.

En la siguiente muestra de código, se muestra una respuesta de ejemplo:

{
    "name": "projects/PROJECT_NUMBER/trips/TRIP_ID",
  "authToken": {
    "token": "BASE64_ENCODED_TRIP_TOKEN",
    "expireTime": "2026-03-06T11:09:47.476942Z"
  },
  "state": "NEW",
  "execution": {
    "traveledDistanceMeters": 0,
    "stopAddedInRoute": false
  },
  "createTime": "2026-03-05T23:09:50.768959Z",
  "updateTime": "2026-03-05T23:09:50.768959Z"
}

Esta respuesta incluye los siguientes valores:

  • PROJECT_NUMBER: Es un identificador numérico único para tu proyecto. Es distinto de tu ID del proyecto alfanumérico, pero representa el mismo proyecto de Google Cloud.
  • TRIP_ID: Es el ID de viaje que genera tu backend en formato UUIDv4.
  • BASE64_ENCODED_TRIP_TOKEN: Es el token de viaje autenticado (authToken.token) que muestra el método CreateTrip. Pasa este token a tu app para dispositivos móviles para iniciar la navegación paso a paso con seguimiento en Google Maps o Waze.

¿Qué sigue?

Usa el token de viaje para iniciar Google Maps o Waze.

Cómo iniciar Google Maps o Waze