Los tokens de sesión son cadenas (u objetos) generados por el usuario que hacen un seguimiento de las llamadas a Autocomplete (nuevo) como sesiones. Autocomplete (nuevo) usa tokens de sesión para agrupar las etapas de consulta y selección de la búsqueda con autocompletado de un usuario en una sesión discreta para realizar la facturación correspondiente.
Los usuarios son responsables de crear tokens de sesión para cada sesión. Los tokens de sesión deben ser cadenas base64 seguras para URLs y nombres de archivos. Los usuarios pueden generar tokens de sesión de cualquier manera, aunque Google recomienda usar identificadores únicos universales (UUID) de la versión 4 para los tokens de sesión.
La sesión comienza con una llamada a Autocomplete (nuevo) y finaliza con una llamada a Place Details (nuevo) o Address Validation. Cada sesión puede tener varias búsquedas de Autocomplete (nuevo), seguidas de una solicitud a Place Details (nuevo) o Address Validation. 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.
Los tokens de sesión finalizan de las siguientes maneras:
Se llama a Place Details (nuevo).
Se llama a Address Validation.
Se abandonó la sesión.
Una vez que finaliza la sesión, el token deja de ser válido. Tu app debe generar un token nuevo para cada sesión nueva. Si se omite el parámetro sessionToken, o si reutilizas un token de sesión, la nueva sesión se cobrará como si no se hubiera proporcionado un token de sesión (cada solicitud se factura por separado).
[null,null,["Última actualización: 2025-08-31 (UTC)"],[[["\u003cp\u003eSession tokens track Autocomplete (New) calls as sessions for billing purposes, grouping query and selection phases.\u003c/p\u003e\n"],["\u003cp\u003eUsers must create URL- and filename-safe base64 strings as session tokens for each session, ideally using version 4 UUIDs.\u003c/p\u003e\n"],["\u003cp\u003eA session starts with an Autocomplete (New) call and ends with a Place Details (New) or Address Validation call, allowing multiple Autocomplete queries within the session.\u003c/p\u003e\n"],["\u003cp\u003eSession tokens expire after a Place Details (New) or Address Validation call, if abandoned, or if reused; a new token is needed for each session.\u003c/p\u003e\n"],["\u003cp\u003eOmitting or reusing session tokens results in each request being billed separately, instead of as a session.\u003c/p\u003e\n"]]],["To use this feature, enable Places API (New). Session tokens, which are URL-safe base64 strings (ideally UUIDs), group autocomplete queries and selections into sessions for billing. A session begins with an Autocomplete (New) call and ends with a Place Details (New) or Address Validation call. Each session can contain several autocomplete queries. Tokens are single-use per session; reusing them or omitting them results in per-request billing.\n"],null,["\u003cbr /\u003e\n\n| This feature requires that you enable Places API (New), the next generation of the Places API. For more information, see [Enable APIs](/maps/documentation/places/ios-sdk/cloud-setup#enabling-apis).\n\n\u003cbr /\u003e\n\n\nSelect platform: [Android](/maps/documentation/places/android-sdk/place-session-tokens \"View this page for the Android platform docs.\") [iOS](/maps/documentation/places/ios-sdk/place-session-tokens \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/session-pricing \"View this page for the JavaScript platform docs.\") [Web Service](/maps/documentation/places/web-service/place-session-tokens \"View this page for the Web Service platform docs.\")\n\n\u003cbr /\u003e\n\nSession tokens\n==============\n\nSession tokens are user-generated strings (or objects) that track [Autocomplete (New)](/maps/documentation/places/ios-sdk/place-autocomplete)\ncalls as *sessions*. Autocomplete (New) uses session tokens to group the query\nand selection phases of a user autocomplete search into a discrete session for\nbilling purposes.\n\nUsers are responsible for creating session tokens for each session. Session\ntokens must be URL- and filename-safe base64 strings. Users can generate session\ntokens in any manner, although Google recommends using [version 4 universally\nunique identifiers (UUIDs)](https://tools.ietf.org/html/rfc4122) for session tokens.\n\nThe session begins with a call to Autocomplete (New), and concludes with a call\nto [Place Details (New)](/maps/documentation/places/ios-sdk/details-place) or [Address Validation](/maps/documentation/address-validation/overview). Each session can have\nmultiple Autocomplete (New) queries, followed by one request to Place Details\n(New) or Address Validation. The API key(s) used for each request within a\nsession must belong to the same Google Cloud Console project.\n| **Note:** Session tokens cannot be exchanged between Places API (Legacy) endpoints and Places API (New) or Address Validation endpoints. For example, a [Place Autocomplete (Legacy)](/maps/documentation/places/ios-sdk/autocomplete) request can be followed by a Place Details (Legacy) request in the same session, but it cannot be followed by a Place Details (New) request or an Address Validation request in the same session.\n\nSession tokens terminate in the following ways:\n\n- Place Details (New) is called.\n- Address Validation is called.\n- The session is abandoned.\n\n| **Note:** You can optionally omit the Autocomplete (New) session token from a request. If the session token is omitted, each request is billed separately and charges the [SKU: Autocomplete Requests](/maps/billing-and-pricing/sku-details#places_autocomplete-request-new-ess-sku).\n\nOnce a session has concluded, the token is no longer valid; your app must\ngenerate a fresh token for each new session. If the `sessionToken` parameter is\nomitted, or if you reuse a session token, the new session is charged as if no\nsession token was provided (each request is billed separately).\n\nFor more information about how Autocomplete (New) requests are billed, see\n[Autocomplete (New) and session pricing](/maps/documentation/places/ios-sdk/session-pricing)."]]