Przejdź do treści głównej
Sitata
Jak korzystać z API Sitata do określania ograniczeń podróży dla podróżnych
wybor-redakcjitechnologia

Jak korzystać z API Sitata do określania ograniczeń podróży dla podróżnych

MS
Madeline Sharpe
|

Wielu z Was może nie wiedzieć, ale pierwsze fundamenty Sitata zostały zbudowane pod kątem wczesnego wykrywania chorób. W rzeczywistości, nasza założycielka wygłosiła prelekcję TedX już w 2016 roku na temat dlaczego musimy ostrzegać podróżnych, aby zapobiec rozprzestrzenianiu się chorób. Nic więc dziwnego, że dowiedzieliśmy się o COVID-19, który został zgłoszony jako nietypowe skupisko przypadków zapalenia płuc na początku grudnia 2019 roku. 2 stycznia 2020 roku nasz zespół ds. zdrowia zdecydował, że musimy wydać pierwsze ostrzeżenie dla naszych podróżnych i partnerów biznesowych. Było to na kilka dni przed Światową Organizacją Zdrowia!

W obliczu nieuniknionych następstw, mieliśmy olśnienie. Choroba rozprzestrzeniała się tak szybko, że było dla nas jasne, że globalna reakcja będzie co najwyżej chaotyczna. Każdy kraj wprowadzi własne przepisy i zasady mające na celu kontrolę rozprzestrzeniania się. To nieuchronnie spowodowałoby chaos na całym świecie i było ogromnym źródłem zamieszania dla tych, którzy nadal chcieli podróżować. Mieliśmy rację i postanowiliśmy coś z tym zrobić. Sitata była jedną z pierwszych firm na świecie, która stworzyła dedykowane API i usługę śledzenia zmian w ograniczeniach podróży i warunkach wjazdu w następstwie COVID-19. Dzięki zaawansowanemu systemowi wykrywania zdarzeń i zespołowi wyspecjalizowanych analityków, mieliśmy już wszystkie narzędzia i procesy, aby to osiągnąć.

Od uruchomienia tej nowej usługi, kilka organizacji skorzystało z danych na rzecz swoich własnych klientów, w tym Eddy Travels, Flight Centre i Etihad Airways; wkrótce ogłosimy kolejne! Aby pomóc większej liczbie organizacji skupionych na podróżach skorzystać z tej oferty, szczegółowo opisaliśmy poniżej szereg przykładów wyjaśniających, jak korzystać z API w różnych przypadkach użycia. Mam nadzieję, że te wyjaśnienia pomogą Ci rozpocząć własne inicjatywy.

Warunki wjazdu

Pierwsze pytania, jakie zadaje sobie podróżny, to bez wątpienia: “Czy mogę tam pojechać?” i “Czy zostanę poddany kwarantannie?”, więc jest to dobry punkt wyjścia. Stworzyliśmy zbiór danych dotyczących warunków wjazdu, aby odpowiedzieć na trudne pytania typu “tak/nie” dotyczące wjazdu do kraju lub regionu.

W momencie pisania tego tekstu, zbiór danych obejmował następujące dziesięć odrębnych kategorii:

  • Czy rezydent może wjechać do kraju?
  • Czy cudzoziemiec może wjechać do kraju?
  • Czy tranzyt przez kraj jest dozwolony?
  • Czy wymagany jest test po przyjeździe (wystąpienie choroby)?
  • Czy certyfikat testu jest dozwolony (wystąpienie choroby)?
  • Czy po przyjeździe wymagana jest kwarantanna (wystąpienie choroby)?
  • Czy szczepienie jest wymagane?
  • Czy wymagane jest ubezpieczenie?
  • Czy wymagany jest certyfikat testu?
  • Czy wymagany jest formularz rejestracyjny? (zdrowotny lub inny)

Każda kategoria może mieć jedną z następujących wartości:

  • Tak
  • Tak, z wyjątkami
  • Nie
  • Nie, z wyjątkami

Chociaż zdecydowana większość wartości to “tak” i “nie”, sytuacja w terenie nie zawsze jest tak prosta. Czasami istnieją naprawdę dziwaczne i szalone zasady, które wprowadziły różne rządy i które wymagają typów wartości “z wyjątkami”.

Warunek wjazdu to w zasadzie dokument opisujący zestaw reguł narzuconych przez podmiot wobec jednego lub wielu innych krajów lub regionów. Podmiotem może być kraj, stan, a nawet gmina w naszej architekturze danych. Ogólnie rzecz biorąc, Sitata obecnie obejmuje dane na poziomie krajów. Mamy jednak kilka rekordów na poziomie stanów/prowincji dla niektórych regionów, takich jak Stany Zjednoczone i inne.

Każdy rekord z wpisem w polu **origin_country_division_id** lub **origin_country_region_id** to odpowiednio poziom stanu lub poziom gminy. Jeśli potrzebujesz bardziej szczegółowych danych, skontaktuj się z nami, a omówimy Twój przypadek użycia.

Zapoznaj się ze strukturą danych warunków wjazdu, przeglądając naszą dokumentację API tutaj.

Część struktury danych może być nieco myląca, a mianowicie nasze użycie terminu “origin” (pochodzenie). Zamieszanie wynika z tego, że programiści często uważają “origin” za miejsce pochodzenia lub miejsce wyjazdu. Jednak to, co mamy na myśli przez “origin”, to w rzeczywistości źródło reguły narzuconej innym, czyli kraj lub region, który stworzył ograniczenie.

Kolejnym ważnym punktem do zauważenia jest sposób działania naszej listy krajów objętych ograniczeniami. Jeśli affected_countries jest puste, należy to interpretować jako regułę globalną, tzn. wszystkie kraje są objęte ograniczeniami.

Kilka przykładów

Jak mogłeś zauważyć w dokumentacji, istnieje kilka sposobów na pobranie danych z API. Poniżej omówimy kilka najczęstszych przypadków użycia.

Jak uzyskać wymagania między dwoma krajami?

Istnieje kilka sposobów na wykonanie takiego zapytania. Najprostsza wersja polega na użyciu parametrów **destination** i **departure**. Parametry te akceptują kody ISO 3166-1 alpha-2 jako dane wejściowe.

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

Odpowiedź będzie zawierać wszystkie wymagania (na poziomie kraju i stanu) niezbędne do zrozumienia dla podróżnego wyjeżdżającego z kraju wyjazdu i podróżującego do kraju docelowego.

A co jeśli chcę danych na poziomie stanu?

Sitata posiada dane na poziomie stanu dla niektórych regionów. Dowiesz się, że dany wpis dotyczy stanu, jeśli pole origin_country_division ma wartość. Możesz również filtrować, aby pobrać tylko dane na poziomie stanu, używając parametru **destination_country_division**. Oczekuje on wartości ISO_3166-2. Na przykład US-TX dla Teksasu w USA.

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

Zauważ, że może być prostsze wyszukać dane dla kraju, a następnie przefiltrować dane według stanu, aby sprawdzić, czy takie dane istnieją, i użyć ich, jeśli istnieją.

Jak mogę uzyskać wymagania między dwoma lotniskami?

Podobnie jak w przypadku krajów, API Sitata może zwracać wyniki między dwoma lotniskami. Parametry departure_airport i destination_airport używają kodów ICAO lub IATA do filtrowania wyników. Odpowiedź będzie zawierać wszystkie ograniczenia (na poziomie kraju i stanu) niezbędne do zrozumienia dla podróżnego wyjeżdżającego z odpowiadającego kraju wyjazdu i podróżującego do kraju docelowego.

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

Odpowiedź będzie zawierać wszystkie ograniczenia (na poziomie kraju i stanu) niezbędne do zrozumienia dla podróżnego wyjeżdżającego z kraju wyjazdu i podróżującego do kraju docelowego.

A co jeśli mam tylko informacje o mieście?

Sitata postanowiła nie odpowiadać na zapytania dotyczące konkretnej nazwy miasta, ponieważ mogłoby to prowadzić do konfliktów i nieporozumień. Zamiast tego zdecydowaliśmy się akceptować zapytania do naszego API za pomocą współrzędnych szerokości i długości geograficznej, co nie powoduje żadnej niejednoznaczności w naszym zbiorze wyników. Parametry to departure_lat, departure_lng, destination_lat i 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

Jeśli rozwiążesz swoje miasta na podstawie lokalizacji i zapytań na podstawie współrzędnych, nasze API odpowie wszystkimi ograniczeniami (na poziomie kraju i stanu) niezbędnymi do zrozumienia dla podróżnego wyjeżdżającego z kraju wyjazdu i podróżującego do kraju docelowego.

Dodatkowe informacje

Dla niektórych typów warunków wjazdu mogą istnieć dodatkowe powiązane dane w polu typu metadanych o nazwie extras. To pole jest mapowaniem klucz/wartość różnych dodatkowych elementów informacji dla danego wymagania.

Jaka jest liczba dni kwarantanny?

Ten wpis danych podlega wymaganiu wjazdowemu typu 5. W tym wpisie mapowanie **extras** będzie zawierać pole o nazwie quarantine_days, które będzie zawierać liczbę całkowitą określającą liczbę dni narzuconej kwarantanny.

Jaka jest liczba godzin przed wjazdem na negatywny test covid?

Ten wpis danych podlega wymaganiu wjazdowemu typu 8. W tym wpisie mapowanie **extras** będzie zawierać pole o nazwie entry_hours, które będzie zawierać liczbę całkowitą określającą liczbę godzin, przez które negatywny test covid jest ważny przed wjazdem.

Daj nam znać

Wierzymy, że mamy bardzo solidne narzędzie, które prawdopodobnie spełni wszystkie Twoje potrzeby związane z pomocą Twoim podróżnym w zrozumieniu, czego mogą się spodziewać po drodze. Jeśli masz konkretny przypadek użycia, którego nie obejmujemy, daj nam znać!

Czekaj… to nie wszystko!

Ten wpis jest częścią dwuczęściowej serii wyjaśniającej, jak korzystać z API Sitata w celu uzyskania informacji o warunkach wjazdu i ograniczeniach podróży. Do tej pory mówiliśmy o warunkach wjazdu, które opisują ścisłe warunki typu tak/nie niezbędne do wjazdu do kraju lub regionu, ale nie mówiliśmy jeszcze o tym, co dzieje się wewnątrz kraju. Jedna rzecz to wiedzieć, jak wjechać do kraju, a inna to zrozumieć, czy można podróżować po kraju, czy odwiedzać plaże, czy też obowiązuje obowiązkowa godzina policyjna.

Wyczekuj drugiego artykułu, który zagłębi się w nasz zbiór danych dotyczących ograniczeń podróży. Podpowiedź: jest prawie identyczny, więc w międzyczasie zawsze możesz sprawdzić naszą dokumentację API.

Tagi
wybor-redakcjitechnologia