Como usar as APIs da Sitata para determinar restrições de viagem para viajantes
Muitos de vocês podem não saber, mas os primeiros fundamentos da Sitata foram construídos para a detecção precoce de doenças. Na verdade, nossa fundadora fez uma palestra TedX em 2016 sobre por que precisamos alertar os viajantes para prevenir a propagação de doenças. Portanto, não é surpresa que tenhamos aprendido sobre a COVID-19, que foi relatada como um grupo incomum de casos de pneumonia no início de dezembro de 2019. Em 2 de janeiro de 2020, nossa equipe de saúde decidiu que precisávamos emitir um alerta inicial para nossos viajantes e parceiros comerciais. Isso foi alguns dias antes até da Organização Mundial da Saúde!
Durante as inevitáveis consequências, tivemos um insight. A doença estava se espalhando tão rapidamente que ficou claro para nós que a resposta global seria, na melhor das hipóteses, caótica. Cada país iria promulgar seus próprios regulamentos e regras para controlar a propagação. Isso inevitavelmente causaria estragos em todo o mundo e seria uma enorme fonte de confusão para aqueles que ainda desejassem viajar. Estávamos certos e decidimos fazer algo a respeito. A Sitata foi uma das primeiras empresas do mundo a criar uma API dedicada e um serviço para rastrear mudanças nas restrições de viagem e condições de entrada decorrentes da COVID-19. Graças a um sistema de software avançado de detecção de eventos e uma equipe de analistas especializados, já tínhamos todas as ferramentas e processos necessários para fazer isso acontecer.
Desde o lançamento deste novo serviço, várias organizações aproveitaram os dados em benefício de seus próprios clientes, incluindo Eddy Travels, Flight Centre e Etihad Airways; mais anúncios em breve! Para ajudar mais organizações focadas em viagens a aproveitar esta oferta, detalhamos abaixo uma série de exemplos para explicar como usar a API para vários casos de uso. Esperamos que essas explicações ajudem a iniciar suas próprias iniciativas.
Condições de Entrada
As primeiras perguntas que um viajante faz são, sem dúvida: “Posso ir?” e “Serei colocado em quarentena?”, então este é um bom ponto de partida. Criamos o conjunto de dados de Condições de Entrada para responder às difíceis perguntas do tipo “sim/não” sobre a entrada em um país ou região.
No momento da redação, este conjunto de dados incluía as dez categorias distintas a seguir:
- Um residente pode entrar no país?
- Um estrangeiro pode entrar no país?
- O trânsito é permitido pelo país?
- Um teste é exigido na chegada (aparecimento de doença)?
- Um certificado de teste é permitido (aparecimento de doença)?
- A quarentena é necessária na chegada (aparecimento de doença)?
- A vacinação é necessária?
- Seguro é obrigatório?
- Certificado de teste é obrigatório?
- Formulário de registro é obrigatório? (saúde ou outro)
Cada categoria pode ter um dos seguintes valores:
- Sim
- Sim, com exceções
- Não
- Não, exceto exceções
Embora a grande maioria dos valores sejam “sim” e “não”, a situação no terreno nem sempre é tão simples. Às vezes, existem regras verdadeiramente estranhas e malucas que vários governos implementaram e que exigem os tipos de valores “com exceções”.
Uma Condição de Entrada é basicamente um documento que registra um conjunto de regras impostas por um ator contra um ou mais outros países ou regiões. O ator pode ser um país, um estado ou até um município em nossa arquitetura de dados. No geral, a Sitata atualmente cobre dados em nível de país. No entanto, temos alguns registros de estado/província para certas regiões, como os EUA e outros.
Qualquer registro que tenha uma entrada nos campos **origin_country_division_id** ou **origin_country_region_id** é um nível que está, respectivamente, no nível estadual ou municipal. Se você deseja dados mais granulares, por favor entre em contato e podemos discutir seu caso de uso.
Reserve um tempo para se familiarizar com a estrutura de dados das Condições de Entrada consultando nossa documentação da API aqui.
Parte da estrutura de dados é um pouco confusa, especificamente nosso uso do termo “origem”. Essa confusão surge porque os desenvolvedores frequentemente consideram a origem como o local de origem ou partida. No entanto, o que queremos dizer com “origem” é, na verdade, a origem da regra imposta a outros, ou seja, o país ou região que criou a restrição.
Outro ponto importante a notar é como nossa lista de países afetados funciona. Se
affected_countriesestiver vazia, deve ser interpretada como uma regra global. Ou seja, todos os países são afetados.
Alguns Exemplos
Como você deve ter visto na documentação, existem várias maneiras de recuperar dados da API. Abaixo, revisaremos alguns dos casos de uso mais comuns.
Como obter os requisitos entre dois países?
Existem várias maneiras de fazer esse tipo de solicitação. A versão mais simples é usar os parâmetros **destination** e **departure**. Esses parâmetros aceitam códigos ISO 3166-1 alpha-2 como entradas.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination=IN
A resposta incluirá todos os requisitos (nível de país e estado) necessários para o viajante que parte do país de partida e viaja para o país de destino.
E se eu quiser dados em nível estadual?
A Sitata possui dados em nível estadual para algumas regiões. Você saberá que uma entrada específica é para um estado se o campo **origin_country_division** tiver um valor. Você também pode filtrar para recuperar apenas dados em nível estadual usando o parâmetro **destination_country_division**. Ele espera um valor ISO_3166-2. Por exemplo, US-TX para o Texas, EUA.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP
Observe que pode ser mais simples pesquisar por país e, em seguida, filtrar os dados por estado para ver se esses dados existem e usá-los se existirem.
Como posso obter os requisitos entre dois aeroportos?
Assim como para países, a API da Sitata pode retornar resultados entre dois aeroportos. Os parâmetros departure_airport e destination_airport usam códigos ICAO ou IATA para filtrar os resultados. A resposta incluirá todas as restrições (nível de país e estado) necessárias para o viajante que parte do país de partida correspondente e viaja para o país de destino.
GET https://www.sitata.com/api/v2/entry_requirements?departure_airport=MUC&destination_airport=BOM
A resposta incluirá todas as restrições (nível de país e estado) necessárias para o viajante que parte do país de partida e viaja para o país de destino.
E se eu tiver apenas informações da cidade?
A Sitata optou por não atender a solicitações com um nome de cidade específico, pois isso poderia causar conflitos e confusão. Em vez disso, optamos por aceitar consultas em nossa API por coordenadas de latitude e longitude, o que não produz ambiguidade em nosso conjunto de resultados. Os parâmetros são departure_lat, departure_lng, destination_lat e destination_lng.
GET https://www.sitata.com/api/v2/entry_requirements?departure_lat=48.13743&departure_lng=11.57549&destination_lat=19.0760&destination_lng=72.8777
Se você resolver suas cidades por localização e fizer consultas por coordenadas, nossa API responderá com todas as restrições (nível de país e estado) necessárias para o viajante que parte do país de partida e viaja para o país de destino.
Informações Adicionais
Para alguns tipos de Condições de Entrada, pode haver dados adicionais associados em um campo de tipo de metadados chamado extras. Este campo é um mapeamento chave/valor de vários itens de informação adicional para um requisito específico.
Qual é o número de dias de quarentena?
Esta entrada de dados está sujeita ao requisito de entrada tipo 5. Nesta entrada, o mapeamento **extras** conterá um campo chamado quarantine_days que conterá um número inteiro para a quantidade de dias de quarentena impostos.
Qual é o número de horas antes da entrada para um teste covid negativo?
Esta entrada de dados está sujeita ao requisito de entrada tipo 8. Nesta entrada, o mapeamento **extras** conterá um campo chamado entry_hours que conterá um número inteiro para a quantidade de horas que um teste covid negativo é permitido antes da entrada.
Conte-nos
Acreditamos que temos uma ferramenta muito robusta que provavelmente atenderá a todas as suas necessidades para ajudar seus viajantes a entender o que provavelmente encontrarão pelo caminho. Se você tem um caso de uso específico que não abordamos, conte-nos!
Espere… tem mais!
Esta entrada é parte de uma série de duas partes que explica como interagir com a API da Sitata para informações sobre condições de entrada e restrições de viagem. Até agora, falamos sobre Condições de Entrada que descrevem os tipos de condições estritas do tipo sim/não necessárias para entrar em um país ou região, mas também não falamos sobre o que acontece dentro do país. Uma coisa é saber como entrar em um país, outra é entender se é possível se locomover dentro do país ou visitar praias ou se há um toque de recolher obrigatório.
Fique atento para o segundo artigo que se aprofundará em nossa série de dados de Restrições de Viagem. Dica: é quase idêntico, então você sempre pode consultar nossa documentação da API enquanto isso.