API digitação antecipada para modelo de marca branca
Ofereça sugestões aos viajantes enquanto eles pesquisam
Typehead (GET /suggestions
) é um novo ponto de extremidade de API que permite que você ofereça aos seus viajantes uma experiência de pesquisa 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 sequências de pesquisa parciais e quaisquer parâmetros de solicitação inseridos. 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 linguagem, às vezes chamada de preenchimento automático ou sugestão automática. Ele retorna uma lista de regiões, locais ou propriedades com base na entrada de informações parciais digitadas em uma caixa de pesquisa. Quando o usuário digita 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 nesta lista para iniciar sua pesquisa ou continuar digitando para continuar a refinar os resultados sugeridos automaticamente.
Por exemplo, uma pesquisa que começa com "Memp" verá várias opções geográficas, incluindo bairros, estações de trem, aeroportos, etc. relacionados a Memphis, Tennessee, EUA, seguido 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 de parceiros (PSM) para saber mais sobre a API. Eles solicitarão aprovação de acesso e, se você for aprovado, alterarão seu contrato para incluir digitação antecipada. Depois que digitação antecipada for habilitado para sua organização, seu TAM ou PSM dará suporte a você 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 pelo mesmo ID de circuito ou chave de API que os solicitou.
- Os tokens de acesso só podem existir por 25 minutos.
- As solicitações de novos tokens de acesso devem ser criadas para serem atualizadas consistentemente nesse cronograma e não com muita frequência.
- O idioma e o texto da solicitação são parâmetros obrigatórios. Veja a lista de idiomas suportados pelo Modelo de Marca Branca .
Autorização e acesso
A API digitação antecipada está disponível para solicitação nos endpoints da API por parceiros que estão integrados à versão 3. Após a aprovação, criaremos um novo perfil 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. Usando um cabeçalho de autorização, você fornecerá sua apikey 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 o cabeçalho de autorização.
Exemplo: Codificar chave de 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
Um token de acesso opaco — um que não contém nenhuma informação sobre o usuário ou recurso — é necessário para usar a API digitação antecipada.
Solicitação de amostra
POST – https://api.ean.com/identity/oauth2/v3/token
Header:
Key: ‘Authorization’
Value: ‘Basic {base64}’
Resposta de amostra
{
"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 necessá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 gostaria de receber de volta. Este valor deve serapplication/json
.Accept-Encoding
: especifica a codificação de resposta que o cliente gostaria de receber de volta. Este valor deve sergzip
.User-Agent
: uma sequência de cabeçalho da solicitação do cliente, conforme capturada pela sua integração. Se você estiver criando um aplicativo, o valorUser-Agent
deverá 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ódigos de idioma e país two-digit. Use apenas códigos de idioma ISO639-1 alfa 2 e códigos de país ISO3166-1 alfa 2, conforme descrito por w3.org (por exemplo,language=en-US
). Veja a lista de idiomas suportados .text
: a string de entrada a ser consultada, com um limite de 150 caracteres (por exemplo,text=Springfie
).feature
: altera o cálculo dos resultados da sugestão. Os valores incluemhierarchy
,nearby_airport
epostal_code
.line_of_business
: Este parâmetro fornece heurística de pesquisa, e um valor válido garante que a resposta será mais relevante. Veja a tabela de valores permitidos abaixo para ver as opções disponíveis.
Opcional
type
: descreve o lugar que o usuário está procurando. Este parâmetro pode ser fornecido várias vezes com valores diferentes (por exemplo,type=AIRPORT&type=CITY
). Se não for fornecido, o padrão incluirá todos os tipos. Veja 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 e não um destino. A pesquisa padrão encontrará apenas destinos.package_type
: filtra pelos tipos de pacotes especificados pelo usuário. Veja 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. Este valor deve estar entre 1 e 10 (por exemplo,limit=5
). Se este parâmetro não for fornecido, o valor padrão será 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 |
Qualquer valor não incluído na tabela acima resultará em erro.
Solicitações de dados
Uma vez que você tenha oaccess_token
, você irá configurar oGET
solicitar.
Solicitação de amostra
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}}
Resposta de amostra
[
{
"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.