API digitação antecipada para Plataforma de Viagens de Marca Branca
Ofereça sugestões aos viajantes enquanto eles pesquisam.
Typehead (GET /suggestions) é um novo endpoint de API que permite oferecer aos seus viajantes uma experiência de busca sugestiva com base em regiões geográficas, locais relevantes e propriedades disponíveis. Este endpoint retorna uma lista de sugestões com base em strings de pesquisa parciais e quaisquer parâmetros de solicitação inseridos. Por favor, entre em contato com seu gerente de conta para adicionar digitação antecipada à sua conta.
Como funciona
A API digitação antecipada é uma ferramenta de previsão de idioma — às vezes chamada de autocompletar ou sugestão automática. Retorna uma lista de regiões, locais ou propriedades com base em informações parciais digitadas em uma caixa de pesquisa. Quando o usuário digitar em uma caixa de pesquisa, a API digitação antecipada começará a retornar até 10 resultados usando informações de cidade, região, propriedade ou código postal. O viajante pode então selecionar uma opção dessa lista para iniciar a busca ou continuar digitando para refinar os resultados sugeridos automaticamente.
Por exemplo, uma pesquisa que começa com "Memp" mostraria várias opções geográficas, incluindo bairros, estações de trem, aeroportos, etc., relacionados a Memphis, Tennessee, EUA, seguidos por Memphis, Missouri, EUA.
Guia de lançamento
Você precisará entrar em contato com seu Gerente de Contas, Gerente Técnico de Contas (TAM) ou Gerente de Soluções para Parceiros (PSM) para obter informações sobre a API. Eles solicitarão aprovação de acesso e, se aprovado, alterarão seu contrato para incluir digitação antecipada. Assim que o recurso digitação antecipada for habilitado para sua organização, seu TAM ou PSM lhe dará suporte com qualquer desenvolvimento necessário.
Requisitos de lançamento:
- Você deve adotar e usar o processo de token de acesso opaco para autenticação.
- Os tokens de acesso só podem ser usados pela mesma ID de circuito ou chave de API que os solicitou.
- Os tokens de acesso só podem ser usados por 25 minutos.
- As solicitações de novos tokens de acesso devem ser configuradas para serem atualizadas de forma consistente, seguindo esse cronograma, e não com muita frequência.
- O idioma e o texto da solicitação são parâmetros obrigatórios. Consulte a lista de idiomas suportados pela Plataforma de Viagens White Label .
Autorização e acesso
A API digitação antecipada está disponível para solicitação nos endpoints da API por parceiros que já migraram para a versão 3. Após a aprovação, criaremos um novo perfil para você com as permissões necessárias para usar a API com sucesso.
Estabelecer autorização
A autenticação para a API digitação antecipada requer uma chave de acesso. Utilizando um cabeçalho de autorização, você fornecerá sua chave de API para chamar o gateway EPS e obter uma chave de acesso. Em seguida, você pode chamar o endpoint da API digitação antecipada passando a chave de acesso como cabeçalho de autorização.
Exemplo: Codificar a chave da API no formato base64
var api_key = postman.getEnvironmentVariable("api_key");
var shared_secret= postman.getEnvironmentVariable("shared_secret");
var base64Hash = CryptoJS.enc.Utf8.parse(api_key + ":" + shared_secret);
var base64 = CryptoJS.enc.Base64.stringify(base64Hash);
postman.setEnvironmentVariable("base64",base64);Obtenha um token de acesso opaco.
É necessário um token de acesso opaco — ou seja, um token que não contenha nenhuma informação sobre o usuário ou recurso — para usar a API digitação antecipada.
Exemplo de solicitação
POST – https://api.ean.com/identity/oauth2/v3/token
Header:
Key: ‘Authorization’
Value: ‘Basic {base64}’Exemplo de resposta
{
"access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU",
"token_type": "bearer",
"expires_in": 1800,
"scope": "demand-solutions.demand-api-wrappers-playground.all"
}Faça uma solicitação de preenchimento automático
Você precisará incluir algumas informações obrigatórias nos cabeçalhos da solicitação e nos parâmetros da consulta. Para tornar a resposta mais robusta, você também pode incluir parâmetros de consulta opcionais.
Cabeçalhos de solicitação
Campo obrigatório
Accept: especifica o formato de resposta que o cliente deseja receber. Esse valor deve serapplication/json.Accept-Encoding: especifica a codificação de resposta que o cliente gostaria de receber. Esse valor deve sergzip.User-Agent: uma string de cabeçalho da solicitação do cliente, conforme capturada pela sua integração. Se você estiver criando um aplicativo, o valor deUser-Agentdeve ser{app name}/{app version}. Por exemplo,TravelNow/3.30.112.
Parâmetros de consulta
Campo obrigatório
language: especifica o idioma desejado para a resposta como um subconjunto do formato BCP47 que usa apenas pares hifenizados de código de idioma e país two-digit. Use apenas códigos de idioma ISO639-1 alpha 2 e códigos de país ISO3166-1 alpha 2 conforme descrito por w3.org (por exemplo,language=en-US). Consulte a lista de idiomas suportados .text: a string de entrada para consulta, com um limite de 150 caracteres (por exemplo,text=Springfie).feature: altera o cálculo dos resultados da sugestão. Os valores incluemhierarchy,nearby_airportepostal_code.line_of_businessEste parâmetro fornece heurísticas de pesquisa, e um valor válido garante que a resposta será mais relevante. Consulte a tabela de valores permitidos abaixo para ver as opções disponíveis.
Opcional
type: descreve o local que o usuário está procurando. Este parâmetro pode ser fornecido várias vezes com valores diferentes (por exemplo,type=AIRPORT&type=CITY). Caso não seja fornecido, o padrão incluirá todos os tipos. Consulte a tabela de valores permitidos abaixo para ver as opções disponíveis.region_id: filtra os resultados para propriedades com a região especificada.origin: especifica se o texto da consulta é uma origem em vez de um destino. A pesquisa padrão encontrará apenas destinos.package_type: filtra pelos tipos de pacote especificados pelo usuário. Consulte a tabela de valores permitidos abaixo para ver as opções disponíveis.limit: especifica o número máximo de sugestões retornadas pela resposta. Esse valor deve estar entre 1 e 10 (por exemplo,limit=5). Caso esse parâmetro não seja fornecido, o valor padrão é 10.
Valores permitidos
| type | line_of_business | package_type |
|---|---|---|
airport | properties (padrão) | flight_property |
city | flights | flight_property_car |
multi_city_vicinity | packages | flight_car |
neighborhood | cars | property_car |
point_of_interest | activities | |
airport_metro_code | ||
multi_region | ||
train_station | ||
metro_station | ||
address | ||
property | ||
bus_station |
Quaisquer valores não incluídos na tabela acima resultarão em erro.
Solicitações de dados
Assim que você tiver oaccess_token, você configurará oGET solicitar.
Exemplo de solicitação
GET - https://api.ean.com/v3/suggestions?language=en-US&line_of_business=properties&limit=3&text=chicago&type=city&type=neighborhood
Header :
Authorization: Bearer {{access_token}}Exemplo de resposta
[
{
"related_id": "4477519",
"type": "airport",
"name": "Chicago, IL (ORD-O'Hare Intl.)",
"name_full": "Chicago, IL, United States of America (ORD-O'Hare Intl.)",
"name_display": "<B>Chicago</B>, IL, United States of America (ORD-O'Hare Intl.)",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "ORD",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.976977,
"longitude": -87.90481
}
},
{
"related_id": "829",
"type": "city",
"name": "Chicago",
"name_full": "Chicago, Illinois, United States of America",
"name_display": "<B>Chicago</B>, Illinois, United States of America",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "CHI",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.878113,
"longitude": -87.629799
}
},
{
"related_id": "6350699",
"type": "neighborhood",
"name": "Downtown Chicago",
"name_full": "Downtown Chicago, Chicago, Illinois, United States of America",
"name_display": "Downtown <B>Chicago</B>, <B>Chicago</B>, Illinois, United States of America",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "CHI",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.885969845574834,
"longitude": -87.62933540465228
}
}
]Detalhes da API
Explore as definições dos pontos de extremidade relacionados nesta página e use o API Explorer ou outro software de teste para comparar os exemplos e as definições de esquemas com o resultado real.