Wielu z was może tego nie wiedzieć, ale wczesne fundamenty Sitaty zostały zbudowane w celu wczesnego wykrywania chorób. W rzeczywistości, nasz założyciel ma wykład TedX z 2016 roku wszystko o dlaczego musimy ostrzegać podróżnych, aby zapobiec rozprzestrzenianiu się chorób. Nie powinno więc dziwić, że podnieśliśmy się na COVID-19, gdy został zgłoszony jako nietypowe skupisko przypadków zapalenia płuc na początku grudnia 2019 r. Do 2 stycznia 2020 r. nasz zespół ds. zdrowia ustalił, że powinniśmy wydać nasze pierwsze ostrzeżenie dla naszych podróżnych i partnerów biznesowych. To było na wiele dni przed nawet Światową Organizacją Zdrowia!
Podczas nieuchronnego opadania wirusa mieliśmy objawienie. Choroba rozprzestrzeniała się tak szybko, że było dla nas jasne, że globalna reakcja będzie w najlepszym wypadku chaotyczna. Każdy kraj wprowadziłby swój własny zestaw przepisów i zasad dotyczących kontroli rozprzestrzeniania się choroby. To nieuchronnie spowodowałoby spustoszenie w światowych podróżach i byłoby ogromnym źródłem zamieszania dla tych, którzy nadal chcieliby 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ę monitorowania zmian w ograniczeniach podróży i wymaganiach dotyczących wjazdu w wyniku COVID-19. Dzięki zaawansowanemu systemowi oprogramowania do wykrywania zdarzeń i dedykowanemu zespołowi analityków, mieliśmy już wszystkie odpowiednie narzędzia i procesy, aby to zrobić.
Od momentu uruchomienia tej nowej usługi wiele organizacji skorzystało z danych na rzecz swoich klientów, w tym Eddy Travels, Flight Centre i Etihad Airways; a kolejne zostaną ogłoszone wkrótce! Aby pomóc większej liczbie organizacji skupionych na podróżach skorzystać z tej oferty, poniżej opisaliśmy szczegółowo kilka przykładów, aby pomóc wyjaśnić, jak korzystać z API w różnych przypadkach użycia. Mam nadzieję, że te wyjaśnienia pomogą Ci uruchomić Twoje własne inicjatywy.
Wymagania wstępne
Bez wątpienia pierwsze pytania zadawane przez podróżnych to "czy mogę tam pojechać?" i "czy zostanę poddany kwarantannie", więc jest to dobre miejsce na rozpoczęcie. Stworzyliśmy zestaw danych Entry Requirements, aby odpowiedzieć na trudne pytania typu "tak/nie" dotyczące wjazdu do kraju lub regionu.
W momencie pisania tego tekstu, ten zestaw danych obejmował następujące 10 odrębnych kategorii:
- Czy mieszkaniec może wjechać do kraju?
- Czy cudzoziemiec może wjechać do kraju?
- Czy dozwolony jest tranzyt przez kraj?
- Czy wymagane jest badanie po przyjeździe (ognisko choroby)?
- Czy dopuszcza się świadectwo badania (ognisko choroby)?
- Czy po przyjeździe wymagana jest kwarantanna (ognisko choroby)? Czy wymagane jest szczepienie?
- Wymagane ubezpieczenie?
- Czy wymagane jest świadectwo badania?
- Czy wymagany jest formularz zgłoszeniowy (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
Podczas gdy zdecydowana większość wartości to "tak" i "nie", sytuacja na ziemi nie zawsze jest tak prosta. Czasami istnieją naprawdę dziwne i szalone zasady, które różne rządy wprowadziły w życie, co powoduje konieczność stosowania typów wartości "z wyjątkami".
Wymóg wejścia jest zasadniczo zapisem dokumentującym zestaw zasad nałożonych przez podmiot na jeden lub wiele innych krajów lub regionów. W naszej architekturze danych podmiotem może być kraj, państwo, a nawet gmina. Obecnie Sitata obejmuje dane na poziomie kraju. Mamy jednak kilka rekordów stanowych/prowincjonalnych dla wybranych regionów, takich jak Stany Zjednoczone i inne.
Każdy rekord, który posiada wpis w polu origin_country_division_id
lub origin_country_region_id
to taki, który jest odpowiednio na poziomie państwa lub gminy. Jeśli chcieliby Państwo uzyskać bardziej szczegółowe dane, prosimy o kontakt i możemy porozmawiać o twoim przypadku użycia.
Proszę poświęcić trochę czasu na zapoznanie się ze strukturą danych Entry Requirement poprzez Zapoznaj się z naszymi dokumentami API tutaj.
Jednym z nieco mylących elementów struktury danych jest nasze użycie terminu "pochodzenie." Jest to mylące, ponieważ często programiści myślą o pochodzeniu jako o miejscu pochodzenia lub miejscu wyjścia. Jednak to, co mamy na myśli przez pochodzenie, jest w rzeczywistości pochodzeniem reguły nałożonej na innych. tj. kraj lub region, który stworzył ograniczenie.
Innym ważnym punktem, na który należy zwrócić uwagę jest to, jak działa nasza lista dotkniętych krajów. Jeśli affected_countries jest pusta, należy ją interpretować jako regułę globalną, tzn. wszystkie kraje są dotknięte.
Kilka przykładów
Jak można zauważyć w dokumentacji, istnieje wiele sposobów na pobieranie danych z API. Poniżej prześledzimy kilka najczęstszych przypadków użycia.
Jak pobrać wymagania między dwoma krajami?
Istnieje kilka sposobów na wykonanie tego typu żądania. Najprostszą wersją jest użycie miejsce przeznaczenia
oraz wyjazd
parametry. Parametry te przyjmują ISO 3166-1 alfa-2 kody 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 państwa) niezbędne do zrozumienia dla podróżnego wyjeżdżającego z kraju wyjazdu i podróżującego do kraju docelowego.
Co zrobić, jeśli chcę uzyskać dane na poziomie państwa?
Sitata posiada dane na poziomie państwa dla niektórych regionów. Dowiesz się, że dany wpis jest dla danego stanu, jeśli origin_country_division
pole ma wartość. Możesz również filtrować, aby pobrać tylko dane na poziomie stanu używając miejsce przeznaczenia_kraju_dział
parametr. Oczekuje on ISO_3166-2 wartość. Na przykład US-TX dla Teksasu, Stanów Zjednoczonych.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP
Zauważ, że prostsze może być zapytanie według kraju, a następnie filtrowanie według danych państwowych, aby sprawdzić, czy takie dane istnieją, i użyć ich, jeśli istnieją.
Jak pobrać wymagania pomiędzy dwoma lotniskami?
Podobnie jak w przypadku krajów, Sitata API może zwrócić wyniki pomiędzy dwoma lotniskami. Parametry odlot_lotnisko
oraz port lotniczy przeznaczenia
stosować albo ICAO lub IATA kody do filtrowania wyników. Odpowiedź będzie zawierała wszystkie ograniczenia (na poziomie kraju i państwa) niezbędne do zrozumienia dla podróżnego wyjeżdżającego z odpowiedniego 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 państwa) 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 nie zdecydowała się na zapytanie o nazwę miasta, ponieważ mogłoby to spowodować konflikty i zamieszanie. Zamiast tego, zdecydowaliśmy się na zapytanie do naszego API o współrzędne szerokości i długości geograficznej, co nie powoduje żadnych niejasności w naszym zestawie wyników. Parametry są następujące odlot_lat
, odlot_lng
, miejsce przeznaczenia_lat
oraz cel_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 lokalizacje i zapytanie oparte na współrzędnych, nasz interfejs API odpowie ze wszystkimi ograniczeniami (poziom kraju i stanu) niezbędnymi do zrozumienia dla podróżnego wyruszającego z kraju wyjazdu i podróżującego do kraju docelowego.
Dane dodatkowe
Dla niektórych typów wymagań wstępnych mogą istnieć dodatkowe powiązane dane w polu typu metadanych o nazwie dodatki
. To pole jest kluczem/wartością mapującą różne dodatkowe bity informacji dla danego wymagania.
Jaka jest liczba dni kwarantanny?
To wprowadzanie danych wchodzi w zakres wymogu dotyczącego wprowadzania danych typ 5. W tym wpisie. dodatki
mapowanie będzie zawierało pole o nazwie dni kwarantanny
który będzie zawierał liczbę całkowitą oznaczającą ilość dni nałożonej kwarantanny.
Jaka jest liczba godzin przed wejściem dla ujemnego testu kowadłowego?
To wprowadzanie danych wchodzi w zakres wymogu dotyczącego wprowadzania danych typ 8. W tym wpisie. dodatki
mapowanie będzie zawierało pole o nazwie wejście_godzin
który będzie zawierał liczbę całkowitą oznaczającą liczbę godzin, w których negatywny test kowida jest dozwolony przed wejściem.
Daj nam znać
Uważamy, że mamy bardzo solidny, który prawdopodobnie zajmie się wszystkimi Twoimi potrzebami, aby pomóc podróżnym zrozumieć, co prawdopodobnie napotkają po drodze. Jeśli masz konkretny przypadek użycia, którego nie adresujemy, proszę dać nam znać!
Czekaj... jest tego więcej!
Ten wpis jest częścią dwuczęściowej serii, która wyjaśnia jak współdziałać z Sitata API w celu uzyskania informacji o wymaganiach wjazdowych i ograniczeniach w podróżowaniu. Do tej pory mówiliśmy o wymogach wjazdowych, które określają twarde tak/nie, niezbędne do wjazdu do danego kraju lub regionu, ale nie mówiliśmy też o tym, co dzieje się wewnątrz kraju. Jedną rzeczą jest wiedzieć o wjeździe do kraju, inną jest zrozumienie, czy można się po nim poruszać, odwiedzać plaże lub czy obowiązuje tam obowiązkowa godzina policyjna.
Bądźcie na bieżąco z drugim postem, w którym zgłębimy nasz zestaw danych o ograniczeniach w podróżowaniu. Podpowiedź - jest prawie identyczna, więc zawsze możesz zajrzeć do naszego Dokumentacja API w międzyczasie.