Este produto ou recurso está no status Legado. Para mais informações sobre o status Legado, consulte Produtos e recursos legados. Para migrar para a API Places (nova), consulte o guia de migração.
O Place Autocomplete (legado) usa tokens de sessão para agrupar as fases de consulta e seleção
de uma pesquisa de preenchimento automático do usuário em uma sessão discreta para fins de faturamento. A sessão começa quando o usuário começa a digitar uma consulta e termina
quando ele seleciona um lugar e uma chamada para o Place Details (legado) é feita. Cada sessão pode
ter várias consultas de preenchimento automático, seguidas por uma seleção de lugar. As chaves de API usadas para cada solicitação em uma sessão precisam pertencer ao mesmo projeto do console do Google Cloud. Após a conclusão de uma sessão, o token perde a validade. O app precisa gerar um novo token para cada sessão. Se o parâmetro sessiontoken for omitido ou você reutilizar um token de sessão, a sessão será cobrada como se nenhum token de sessão tivesse sido fornecido. Cada solicitação será faturada separadamente.
Recomendamos as seguintes diretrizes:
Use tokens de sessão para todas as sessões de preenchimento automático.
Verifique se as chaves de API usadas para todas as solicitações do Place Autocomplete (legado) e do Place Details (legado) em uma sessão pertencem ao mesmo projeto do console do Google Cloud.
Transmita um token de sessão exclusivo para cada sessão nova. Se você usar o mesmo token para mais de uma sessão, cada solicitação vai ser faturada individualmente.
Você pode omitir o token de sessão do Autocomplete de uma solicitação. Se
o token de sessão for omitido, cada solicitação será faturada separadamente, acionando a SKU
Autocomplete – por solicitação. Se você reutilizar um token, a sessão será considerada inválida, e as solicitações serão cobradas como se nenhum token de sessão tivesse sido fornecido.
Exemplo
À medida que o usuário digita uma consulta, uma solicitação de preenchimento automático é chamada a cada poucos
toques de tecla (não por caractere) e uma lista de resultados possíveis é retornada.
Quando o usuário faz uma seleção na lista de resultados, a seleção é contabilizada como
uma solicitação, e todas as solicitações feitas durante a pesquisa são agrupadas e
contabilizadas como uma única solicitação. Se o usuário selecionar um lugar, a consulta de pesquisa vai estar disponível sem custos financeiros, e apenas a solicitação de dados do lugar será cobrada. Se o usuário não fizer uma
seleção em alguns minutos após o início da sessão, apenas a
consulta de pesquisa será cobrada.
Vamos examinar esse fluxo de eventos da perspectiva de um app.
Um usuário começa a digitar uma consulta para pesquisar "Paris, França".
Ao detectar a entrada do usuário, o app cria um novo token de sessão, "Token A".
À medida que o usuário digita, a API faz uma solicitação de preenchimento automático a cada poucos
caracteres, mostrando uma nova lista de resultados possíveis para cada um:
"P"
"Par"
"Paris,"
"Paris, Fr"
Quando o usuário faz uma seleção:
Todas as solicitações resultantes da consulta são agrupadas e adicionadas à
sessão representada por "Token A", como uma única solicitação.
A seleção do usuário é contada como uma solicitação de detalhes do lugar e adicionada à sessão representada por "Token A".
A sessão é concluída, e o app descarta o "Token A".
Para mais informações sobre como as solicitações de Place Autocomplete (legado) são faturadas, consulte
Uso e faturamento.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-05 UTC."],[],[],null,["# Session Tokens\n\nSelect platform: [Android](/maps/documentation/places/android-sdk/session-tokens \"View this page for the Android platform docs.\") [iOS](/maps/documentation/places/ios-sdk/session-tokens \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/places-autocomplete#session_tokens \"View this page for the JavaScript platform docs.\") [Web Service](/maps/documentation/places/web-service/session-tokens \"View this page for the Web Service platform docs.\")\n\nPlace Autocomplete (Legacy) uses session tokens to group the query and selection\nphases of a user autocomplete search into a discrete session for billing\npurposes. The session begins when the user starts typing a query, and concludes\nwhen they select a place and a call to Place Details (Legacy) is made. Each session can\nhave multiple autocomplete queries, followed by one place selection. The API\nkey(s) used for each request within a session must belong to the same\nGoogle Cloud console project. Once a session has concluded, the token is no longer\nvalid; your app must generate a fresh token for each session. If the\n`sessiontoken` parameter is omitted, or if you reuse a session\ntoken, the session is charged as if no session token was provided (each request\nis billed separately).\n\nWe recommend the following guidelines:\n\n- Use session tokens for all autocomplete sessions.\n- [Generate a fresh token](#create-session-tokens) for each session.\n- Ensure that the API key(s) used for all Place Autocomplete (Legacy) and Place Details (Legacy) requests within a session belong to the same Google Cloud console project.\n- Be sure to pass a unique session token for each new session. Using the same token for more than one session will result in each request being billed individually.\n\nYou can optionally omit the autocomplete session token from a request. If\nthe session token is omitted, each request is billed separately, triggering the\n\n[Autocomplete - Per Request](/maps/billing-and-pricing/sku-details#autocomplete-request-new-ess-sku)\n\n\nSKU. If you reuse a session token, the session is considered invalid and the\nrequests are charged as if no session token was provided.\n\nExample\n-------\n\nAs the user types a query, an autocomplete request is called every few\nkeystrokes (not per-character), and a list of possible results is returned.\nWhen the user makes a selection from the result list, the selection counts as\na request, and all of the requests made during the search are bundled and\ncounted as a single request. If the user selects a place, the search query is\navailable at no charge, and only the Place data request is charged. If the user does not make a\nselection within a few minutes of the beginning of the session, only the\nsearch query is charged.\n\nLet's examine this flow of events from the perspective of an app.\n\n1. A user begins typing a query to search for \"Paris, France\".\n2. Upon detecting user input, the app creates a new session token, \"Token A\".\n3. As the user types, the API makes an autocomplete request every few characters, displaying a new list of potential results for each: \n \"P\" \n \"Par\" \n \"Paris,\" \n \"Paris, Fr\" \n4. When the user makes a selection:\n - All requests resulting from the query are grouped and added to the session represented by \"Token A\", as a single request.\n - The user's selection is counted as a Place Detail request, and added to the session represented by \"Token A\".\n5. The session is concluded, and the app discards \"Token A\".\n\nFor more information about how Place Autocomplete (Legacy) requests are billed, see\n\n[Usage and Billing](/maps/documentation/places/android-sdk/usage-and-billing).\n\nCreate session tokens\n---------------------\n\n\nTo create a session token, call\n[`AutocompleteSessionToken.newInstance()`](/maps/documentation/places/android-sdk/reference/com/google/android/libraries/places/api/model/AutocompleteSessionToken#newInstance())."]]