Place Autocomplete usa tokens de sesión para agrupar las fases de consulta y selección de la búsqueda de autocompletado de un usuario en una sesión discreta con fines de facturación. La sesión comienza cuando el usuario comienza a escribir una consulta y termina cuando selecciona un lugar y se llama a Place Details. Cada sesión puede tener varias consultas de autocompletado, seguidas de una selección de lugar. Las claves de API que se usan para cada solicitud dentro de una sesión deben pertenecer al mismo proyecto de la consola de Google Cloud. Una vez que finaliza una sesión, el token deja de ser válido, por lo que tu app debe generar un token nuevo para cada sesión. Si se omite el parámetro sessiontoken
, o si reutilizas un token de sesión, la sesión se cobra como si no se hubiera proporcionado un token de sesión (cada solicitud se factura por separado).
Recomendamos los siguientes lineamientos:
- Usa tokens de sesión para todas las sesiones de autocompletado.
- Genera un token nuevo para cada sesión.
- Asegúrate de que las claves de API usadas para todas las solicitudes de Place Autocomplete y Place Details dentro de una sesión pertenezcan al mismo proyecto de la consola de Google Cloud.
- Asegúrate de pasar un token de sesión único para cada sesión nueva. Usar el mismo token en más de una sesión hará que cada solicitud se facture de forma individual.
De manera opcional, puedes omitir el token de sesión de autocompletado de una solicitud. Si se omite el token de sesión, cada solicitud se factura por separado, lo que activa el SKU de Autocomplete, por solicitud. Si vuelves a usar un token de sesión, la sesión se considera no válida y las solicitudes se cobran como si no se hubiera proporcionado un token de sesión.
Ejemplo
A medida que el usuario escribe una consulta, se llama a una solicitud de autocompletado cada pocas teclas (no por carácter) y se muestra una lista de resultados posibles. Cuando el usuario hace una selección en la lista de resultados, la selección cuenta como una solicitud, y todas las solicitudes realizadas durante la búsqueda se agrupan y se cuentan como una sola solicitud. Si el usuario selecciona un lugar, la búsqueda estará disponible sin cargo y solo se cobrará la solicitud de datos de Places. Si el usuario no hace una selección unos minutos después del inicio de la sesión, solo se cobra la búsqueda.
Examinemos este flujo de eventos desde la perspectiva de una app.
- Un usuario comienza a escribir una consulta para buscar "París, Francia".
- Cuando se detecta la entrada del usuario, la app crea un nuevo token de sesión, "Token A".
- A medida que el usuario escribe, la API realiza una solicitud de autocompletado cada pocos caracteres y muestra una nueva lista de resultados posibles para cada uno:
"P"
"Par"
"París",
"París, vie"
- Cuando el usuario realiza una selección:
- Todas las solicitudes resultantes de la consulta se agrupan y se agregan a la sesión representada por el “Token A”, como una sola solicitud.
- La selección del usuario se cuenta como una solicitud de Place Details y se agrega a la sesión representada por el "Token A".
- La sesión finaliza y la app descarta el "Token A".
Para obtener más información sobre cómo se facturan las solicitudes de Autocomplete, consulta Uso y facturación.
Crea tokens de sesión
Puedes crear tokens de sesión con el mecanismo programático que prefieras. Recomendamos usar un UUID de versión 4 para los tokens de sesión.