Saltar al contenido principal
Sitata
Cómo usar las APIs de Sitata para determinar las restricciones de viaje para viajeros
seleccion-del-editortecnologia

Cómo usar las APIs de Sitata para determinar las restricciones de viaje para viajeros

MS
Madeline Sharpe
|

Muchos de ustedes quizás no lo sepan, pero los primeros cimientos de Sitata se construyeron para la detección temprana de enfermedades. De hecho, nuestro fundador tiene una charla TedX de 2016 sobre por qué necesitamos advertir a los viajeros para ayudar a prevenir la propagación de enfermedades. No debería sorprender entonces que detectamos el COVID-19 cuando se reportó como un grupo inusual de casos de neumonía a principios de diciembre de 2019. Para el 2 de enero de 2020, nuestro equipo de salud determinó que debíamos emitir nuestra primera advertencia a nuestros viajeros y socios comerciales. ¡Esto fue días antes incluso que la Organización Mundial de la Salud!

Durante las inevitables consecuencias tuvimos una epifanía. La enfermedad se estaba propagando tan rápido que para nosotros era claro que la respuesta global sería caótica en el mejor de los casos. Cada país promulgaría su propio conjunto de regulaciones y reglas sobre cómo controlar la propagación. Esto inevitablemente causaría estragos en los viajes globales y sería una gran fuente de confusión para aquellos que aún desean viajar. Teníamos razón y nos propusimos hacer algo al respecto. Sitata fue una de las primeras empresas en el mundo en crear una API y un servicio de monitoreo dedicados para los cambios en las restricciones de viaje y requisitos de entrada como resultado del COVID-19. Con un sistema de software avanzado para la detección de eventos y un equipo dedicado de analistas, ya teníamos todas las herramientas y procesos adecuados para hacerlo.

Desde que lanzamos este nuevo servicio, una variedad de organizaciones han aprovechado los datos para el beneficio de sus propios clientes, incluyendo Eddy Travels, Flight Centre y Etihad Airways; ¡y hay más por anunciar pronto! Para ayudar a que más organizaciones centradas en viajes se beneficien de esta oferta, hemos escrito en detalle a continuación una serie de ejemplos para ayudar a explicar cómo usar la API para diversos casos de uso. Espero que estas explicaciones te ayuden a poner en marcha tus propias iniciativas.

Requisitos de Entrada

Sin duda, las primeras preguntas que hace un viajero son “¿puedo ir allí?” y “¿me pondrán en cuarentena?”, así que este es un buen punto de partida. Creamos el conjunto de datos de Requisitos de Entrada para responder las preguntas duras de “sí/no” sobre ingresar a un país o región.

Al momento de escribir, este conjunto de datos incluía las siguientes 10 categorías distintas:

  • ¿Puede un residente ingresar al país?
  • ¿Puede un extranjero ingresar al país?
  • ¿Se permite el tránsito por el país?
  • ¿Se requiere una prueba a la llegada (brote de enfermedad)?
  • ¿Se permite un certificado de prueba (brote de enfermedad)?
  • ¿Se requiere cuarentena a la llegada (brote de enfermedad)? ¿Se requiere vacunación?
  • ¿Se requiere seguro?
  • ¿Se requiere certificado de prueba?
  • ¿Se requiere formulario de entrada? (sanitario u otro)

Cada categoría puede tener uno de los siguientes valores:

  • Sí, con excepciones
  • No
  • No, con excepciones

Si bien la gran mayoría de los valores son “sí” y “no”, la situación sobre el terreno no siempre es tan sencilla. A veces hay reglas realmente extrañas y locas que varios gobiernos han implementado, lo que hace necesarios los tipos de valor “con excepciones”.

Un Requisito de Entrada es esencialmente un registro que documenta un conjunto de reglas impuestas por un actor contra uno o varios otros países o regiones. El actor podría ser un país, estado o incluso un municipio en nuestra arquitectura de datos. En general, Sitata cubre datos a nivel de país actualmente. Sin embargo, tenemos algunos registros estatales/provinciales para regiones selectas como los Estados Unidos y otros.

Cualquier registro que tenga una entrada en el campo **origin_country_division_id** o **origin_country_region_id** es uno que es a nivel estatal o municipal, respectivamente. Si deseas datos más granulares disponibles, por favor contáctanos y podemos hablar sobre tu caso de uso.

Tómate un tiempo para familiarizarte con la estructura de datos de Requisitos de Entrada echando un vistazo a nuestra documentación de API aquí.

Una parte un poco confusa de la estructura de datos es nuestro uso del término “origin” (origen). Esto es confuso porque a menudo los desarrolladores piensan en el origen como el lugar de origen o lugar de salida. Sin embargo, lo que queremos decir con origen es en realidad el origen de la regla impuesta a otros. Es decir, el país o región que ha creado la restricción.

Otro punto importante a tener en cuenta es cómo funciona nuestra lista de países afectados. Si affected_countries está vacía, debe interpretarse como una regla global. Es decir, todos los países están afectados.

Algunos Ejemplos

Como habrás visto en la documentación, hay varias formas de recuperar datos de la API. A continuación, repasaremos algunos de los casos de uso más comunes.

¿Cómo obtengo los requisitos entre dos países?

Hay un par de formas de hacer este tipo de solicitud. La versión más simple es usar los parámetros **destination** y **departure**. Estos parámetros aceptan códigos ISO 3166-1 alpha-2 como entradas.

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

La respuesta incluirá todos los requisitos (a nivel de país y estado) necesarios para entender para el viajero que parte desde el país de salida y viaja al país de destino.

¿Qué pasa si quiero datos a nivel estatal?

Sitata sí tiene datos a nivel estatal para ciertas regiones. Sabrás que una entrada en particular es para un estado si el campo origin_country_division tiene un valor. También puedes filtrar para recuperar solo datos a nivel estatal usando el parámetro **destination_country_division**. Espera un valor ISO_3166-2. Por ejemplo, US-TX para Texas, Estados Unidos.

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

Ten en cuenta que podría ser más simple consultar por país y luego filtrar por datos estatales para ver si existen tales datos, y usarlos si existen.

¿Cómo obtengo los requisitos entre dos aeropuertos?

Al igual que con los países, la API de Sitata puede devolver resultados entre dos aeropuertos. Los parámetros departure_airport y destination_airport usan códigos ICAO o IATA para filtrar los resultados. La respuesta incluirá todas las restricciones (a nivel de país y estado) necesarias para entender para el viajero que parte desde el país de salida correspondiente y viaja al país de destino.

GET https://www.sitata.com/api/v2/entry_requirements?departure_airport=MUC&destination_airport=BOM

La respuesta incluirá todas las restricciones (a nivel de país y estado) necesarias para entender para el viajero que parte desde el país de salida y viaja al país de destino.

¿Qué pasa si solo tengo información de la ciudad?

Sitata optó por no acomodar consultas por un nombre de ciudad en particular porque eso podría resultar en conflictos y confusión. En cambio, optamos por permitir consultar nuestra API por coordenadas de latitud y longitud, lo que no produce ambigüedad en nuestro conjunto de resultados. Los parámetros son departure_lat, departure_lng, destination_lat, y 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

Si resuelves tus ciudades a ubicaciones y consultas en base a coordenadas, nuestra API responderá con todas las restricciones (a nivel de país y estado) necesarias para entender para el viajero que parte desde el país de salida y viaja al país de destino.

Datos Extra

Para algunos tipos de Requisitos de Entrada, puede haber datos extra asociados en un campo de tipo metadatos llamado extras. Este campo es un mapeo clave/valor de varios bits extra de información para un requisito particular.

¿Cuál es el número de días de cuarentena?

Esta entrada de datos cae bajo el requisito de entrada tipo 5. En esta entrada, el mapeo **extras** contendrá un campo llamado quarantine_days que contendrá un entero para el número de días de cuarentena impuestos.

¿Cuál es el número de horas antes de la entrada para una prueba de covid negativa?

Esta entrada de datos cae bajo el requisito de entrada tipo 8. En esta entrada, el mapeo **extras** contendrá un campo llamado entry_hours que contendrá un entero para el número de horas que se permite una prueba de covid negativa antes de la entrada.

Háznoslo saber

Creemos que tenemos un sistema muy robusto que probablemente abordará todas tus necesidades para ayudar a tus viajeros a entender lo que probablemente encontrarán en el camino. Si tienes un caso de uso particular que no estamos abordando, ¡por favor háznoslo saber!

Espera… ¡hay más!

Esta entrada es parte de una serie de dos partes que explica cómo interactuar con la API de Sitata para información de Requisitos de Entrada y Restricciones de Viaje. Hasta ahora hemos hablado sobre los Requisitos de Entrada que describen los tipos de requisitos duros de sí/no necesarios para ingresar a un país o región, pero no hemos hablado sobre lo que está sucediendo dentro del país tampoco. Una cosa es saber sobre ingresar a un país, otra es entender si es posible moverse dentro del país o visitar las playas o si hay un toque de queda obligatorio.

Mantente atento a la segunda publicación que profundizará en nuestro conjunto de datos de Restricciones de Viaje. Pista: es casi idéntico, así que siempre puedes echar un vistazo a nuestra documentación de API mientras tanto.

Etiquetas
seleccion-del-editortecnologia
MS
Escrito por Madeline Sharpe