Ir para o conteúdo principal
Sitata
Como usar as APIs da Sitata para determinar Restrições de Viagem para viajantes
escolha-do-editortecnologia

Como usar as APIs da Sitata para determinar Restrições de Viagem para viajantes

MS
Madeline Sharpe
|

Muitos de vocês podem não saber disso, mas os primeiros fundamentos da Sitata foram construídos para a detecção precoce de doenças. Na verdade, nosso fundador tem uma palestra TedX de 2016 sobre por que precisamos alertar os viajantes para ajudar a prevenir a propagação de doenças. Portanto, não deve ser surpresa que tenhamos detectado a COVID-19 quando ela foi relatada como um aglomerado incomum de casos de pneumonia no início de dezembro de 2019. Em 2 de janeiro de 2020, nossa equipe de saúde determinou que deveríamos emitir nosso primeiro alerta para nossos viajantes e parceiros comerciais. Isso foi dias antes mesmo da Organização Mundial da Saúde!

Durante as inevitáveis consequências, tivemos um insight. A doença estava se espalhando tão rápido que ficou claro para nós que a resposta global seria, na melhor das hipóteses, caótica. Cada país promulgou seu próprio conjunto de regulamentos e regras sobre como controlar a propagação. Isso inevitavelmente causaria estragos nas viagens globais e seria uma grande fonte de confusão para aqueles que ainda desejam 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 de monitoramento para as mudanças nas restrições de viagem e requisitos de entrada como resultado da COVID-19. Com um sistema de software avançado para detecção de eventos e uma equipe dedicada de analistas, já tínhamos todas as ferramentas e processos certos para fazê-lo.

Desde o lançamento deste novo serviço, várias organizações aproveitaram os dados para beneficiar seus próprios clientes, incluindo Eddy Travels, Flight Centre e Etihad Airways; e há mais para serem anunciados em breve! Para ajudar mais organizações focadas em viagens a se beneficiarem desta oferta, detalhamos abaixo vários exemplos para ajudar a explicar como usar a API para diversos casos de uso. Espero que essas explicações ajudem você a colocar suas próprias iniciativas em prática.

Requisitos de Entrada

Sem dúvida, as primeiras perguntas que um viajante faz são “posso ir para lá?” e “vou ficar em quarentena?” e, portanto, este é um bom ponto de partida. Criamos o conjunto de dados de Requisitos 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 seguintes 10 categorias distintas:

  • Um residente pode entrar no país?
  • Um estrangeiro pode entrar no país?
  • É permitido trânsito pelo país?
  • É necessário teste na chegada (surtos de doença)?
  • É permitido certificado de teste (surtos de doença)?
  • É necessária quarentena na chegada (surtos de doença)? É necessária vacinação?
  • Seguro obrigatório?
  • Certificado de teste obrigatório?
  • Formulário de entrada obrigatório? (saúde ou outro)

Cada categoria pode ter um dos seguintes valores:

  • Sim
  • Sim, com exceções
  • Não
  • Não, com exceções

Embora a grande maioria dos valores seja “sim” e “não”, a situação no terreno nem sempre é tão direta. Às vezes, existem regras realmente estranhas e malucas que vários governos implementaram, o que torna necessário os tipos de valor “com exceções”.

Um Requisito de Entrada é essencialmente um registro que documenta um conjunto de regras impostas por um ator contra um ou vários outros países ou regiões. O ator pode ser um país, estado ou até mesmo um município em nossa arquitetura de dados. Em geral, a Sitata cobre dados em nível de país atualmente. No entanto, temos alguns registros estaduais/provinciais para regiões selecionadas, como os Estados Unidos e outras.

Qualquer registro que tenha uma entrada no campo **origin_country_division_id** ou **origin_country_region_id** é de nível estadual ou municipal, respectivamente. Se você deseja dados mais granulares disponíveis, entre em contato conosco e podemos conversar sobre seu caso de uso.

Reserve um tempo para se familiarizar com a estrutura de dados de Requisitos de Entrada dando uma olhada em nossa documentação da API aqui.

Uma parte um pouco confusa da estrutura de dados é nosso uso do termo “origin” (origem). Isso é confuso porque muitas vezes os desenvolvedores pensam em origem como sendo o local de origem ou local de partida. No entanto, o que queremos dizer com origem é, na verdade, a origem da regra imposta aos outros, ou seja, o país ou região que criou a restrição.

Outro ponto importante a ser observado é como funciona nossa lista de países afetados. Se affected_countries estiver vazia, deve ser interpretada como uma regra global, ou seja, todos os países são afetados.

Alguns Exemplos

Como você pode ter visto na documentação, existem várias maneiras de recuperar dados da API. Abaixo, percorreremos alguns dos casos de uso mais comuns.

Como busco os requisitos entre dois países?

Existem algumas 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 tem dados em nível estadual para certas 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 Texas, Estados Unidos.

GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP

Observe que pode ser mais simples consultar por país e depois filtrar por dados estaduais para ver se tais dados existem e usá-los se existirem.

Como busco os requisitos entre dois aeroportos?

Assim como com os 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 acomodar consultas por um nome de cidade específico porque isso poderia resultar em conflitos e confusão. Em vez disso, optamos por acomodar a consulta à nossa API por coordenadas de latitude e longitude, o que não produz nenhuma 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 para locais e consultar com base em 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.

Dados Extras

Para alguns tipos de Requisitos de Entrada, pode haver dados extras associados em um campo do tipo metadados chamado extras. Este campo é um mapeamento de chave/valor de várias informações extras para um requisito específico.

Qual é o número de dias de quarentena?

Esta entrada de dados está sob o requisito de entrada tipo 5. Nesta entrada, o mapeamento **extras** conterá um campo chamado quarantine_days que conterá um inteiro para o número de dias de quarentena impostos.

Qual é o número de horas antes da entrada para um teste de covid negativo?

Esta entrada de dados está sob o requisito de entrada tipo 8. Nesta entrada, o mapeamento **extras** conterá um campo chamado entry_hours que conterá um inteiro para o número de horas que um teste de covid negativo é permitido antes da entrada.

Conte-nos

Acreditamos que temos uma solução 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 estamos abordando, por favor, nos avise!

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 de Requisitos de Entrada e Restrições de Viagem. Até agora falamos sobre Requisitos de Entrada, que descrevem os tipos de requisitos rígidos sim/não necessários para entrar em um país ou região, mas ainda não falamos sobre o que está acontecendo dentro do país. Uma coisa é saber sobre a entrada em um país, outra é entender se é possível se locomover no país, visitar as praias ou se há um toque de recolher obrigatório.

Fique atento para o segundo post que se aprofundará em nosso conjunto de dados de Restrições de Viagem. Dica - é quase idêntico, então você sempre pode dar uma olhada em nossa documentação da API enquanto isso.

Tags
escolha-do-editortecnologia
MS
Escrito por Madeline Sharpe