Cum să folosești API-urile Sitata pentru a determina restricțiile de călătorie pentru călători
Mulți dintre voi poate nu știu, dar primele fundații ale Sitata au fost construite pentru detectarea timpurie a bolilor. De fapt, fondatoarea noastră a ținut un discurs TedX încă din 2016 despre de ce trebuie să avertizăm călătorii pentru a preveni răspândirea bolilor. Așadar, nu este surprinzător că am aflat despre COVID-19, care a fost raportat ca un grup neobișnuit de cazuri de pneumonie la începutul lunii decembrie 2019. Pe 2 ianuarie 2020, echipa noastră de sănătate a decis că trebuie să emitem un prim avertisment către călătorii și partenerii noștri de afaceri. Acesta a fost cu câteva zile înaintea Organizației Mondiale a Sănătății!
În urma inevitabilelor consecințe, am avut o revelație. Boala se răspândea atât de repede încât ne era clar că răspunsul global va fi haotic, în cel mai bun caz. Fiecare țară va promulga propriile regulamente și reguli pentru a controla răspândirea. Acest lucru va face inevitabil ravagii la nivel global și va fi o sursă uriașă de confuzie pentru cei care încă doresc să călătorească. Am avut dreptate și am decis să facem ceva în legătură cu asta. Sitata a fost una dintre primele companii din lume care a creat un API dedicat și un serviciu de urmărire a schimbărilor în restricțiile de călătorie și condițiile de intrare ca urmare a COVID-19. Datorită unui sistem software avansat de detectare a evenimentelor și unei echipe de analiști specializați, aveam deja toate instrumentele și procesele necesare pentru a realiza acest lucru.
De la lansarea acestui nou serviciu, mai multe organizații au profitat de date în beneficiul propriilor clienți, inclusiv Eddy Travels, Flight Centre și Etihad Airways; alte anunțuri vor veni în curând! Pentru a ajuta mai multe organizații axate pe călătorii să profite de această ofertă, am detaliat mai jos o serie de exemple pentru a explica cum să folosiți API-ul pentru diverse cazuri de utilizare. Sper că aceste explicații vă vor ajuta să vă demarați propriile inițiative.
Condiții de intrare
Primele întrebări pe care și le pune un călător sunt fără îndoială: “Pot să merg acolo?” și “Voi fi pus în carantină?”, așa că este un bun punct de plecare. Am creat setul de date Condiții de intrare pentru a răspunde la întrebările dificile de tip “da/nu” privind intrarea într-o țară sau regiune.
La momentul redactării, acest set de date includea următoarele zece categorii distincte:
- Poate un rezident să intre în țară?
- Poate un străin să intre în țară?
- Este permis tranzitul prin țară?
- Este necesar un test la sosire (la apariția bolii)?
- Este permis un certificat de testare (la apariția bolii)?
- Este necesară carantină la sosire (la apariția bolii)?
- Este necesară vaccinarea?
- Este necesară asigurare?
- Este necesar un certificat de testare?
- Este necesar un formular de înregistrare? (sanitar sau altul)
Fiecare categorie poate avea una dintre următoarele valori:
- Da
- Da, cu excepții
- Nu
- Nu, cu excepții
Deși marea majoritate a valorilor sunt “da” și “nu”, situația pe teren nu este întotdeauna atât de simplă. Uneori există reguli cu adevărat bizare și nebunești pe care diverse guverne le-au implementat și care necesită tipurile de valori “cu excepții”.
O condiție de intrare este, în esență, un document care înregistrează un set de reguli impuse de un actor împotriva uneia sau mai multor țări sau regiuni. Actorul poate fi o țară, un stat sau chiar o municipalitate în arhitectura noastră de date. În general, Sitata acoperă în prezent date la nivel de țară. Cu toate acestea, avem câteva înregistrări la nivel de stat/provincie pentru anumite regiuni, cum ar fi Statele Unite și altele.
Orice înregistrare care are o intrare în câmpul **origin_country_division_id** sau **origin_country_region_id** este un nivel care se află la nivel de stat, respectiv la nivel municipal. Dacă doriți date mai granulare, vă rugăm să ne contactați și putem discuta despre cazul dvs. de utilizare.
Vă rugăm să vă familiarizați cu structura datelor Condiții de intrare consultând documentația noastră API aici.
O parte a structurii de date este ușor derutantă, și anume utilizarea termenului “origine”. Această confuzie apare deoarece dezvoltatorii consideră adesea originea ca fiind locul de origine sau locul de plecare. Cu toate acestea, ceea ce înțelegem noi prin “origine” este de fapt originea regulii impuse altora, adică țara sau regiunea care a creat restricția.
Un alt punct important de notat este modul în care funcționează lista noastră de țări afectate. Dacă
affected_countrieseste gol, acesta ar trebui interpretat ca o regulă globală, adică toate țările sunt afectate.
Câteva exemple
După cum ați văzut probabil în documentație, există mai multe moduri de a prelua datele din API. Mai jos vom trece în revistă câteva dintre cele mai comune cazuri de utilizare.
Cum să obțineți cerințele între două țări?
Există mai multe moduri de a face acest tip de solicitare. Cea mai simplă versiune este să utilizați parametrii **destination** și **departure**. Acești parametri acceptă coduri ISO 3166-1 alpha-2 ca intrări.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination=IN
Răspunsul va include toate cerințele (la nivel de țară și stat) necesare pentru a fi înțelese de călătorul care pleacă din țara de plecare și călătorește către țara de destinație.
Dar dacă doresc date la nivel de stat?
Sitata are date la nivel de stat pentru anumite regiuni. Veți ști că o anumită intrare este pentru un stat dacă origin_country_division are o valoare. De asemenea, puteți filtra pentru a prelua doar datele la nivel de stat folosind parametrul **destination_country_division**. Acesta așteaptă o valoare ISO_3166-2. De exemplu, US-TX pentru Texas, SUA.
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP
Rețineți că ar putea fi mai simplu să căutați după țară, apoi să filtrați datele după stat pentru a vedea dacă aceste date există și să le folosiți dacă există.
Cum pot obține cerințele între două aeroporturi?
La fel ca pentru țări, API-ul Sitata poate returna rezultatele între două aeroporturi. Parametrii departure_airport și destination_airport folosesc coduri ICAO sau IATA pentru a filtra rezultatele. Răspunsul va include toate restricțiile (la nivel de țară și stat) necesare pentru a fi înțelese de călătorul care pleacă din țara de plecare corespunzătoare și se îndreaptă către țara de destinație.
GET https://www.sitata.com/api/v2/entry_requirements?departure_airport=MUC&destination_airport=BOM
Răspunsul va include toate restricțiile (la nivel de țară și stat) necesare pentru a fi înțelese de călătorul care pleacă din țara de plecare și se îndreaptă către țara de destinație.
Dar dacă am doar informații despre oraș?
Sitata a ales să nu răspundă la solicitări pentru un anumit nume de oraș, deoarece acest lucru ar putea duce la conflicte și confuzii. În schimb, am ales să acceptăm cererile către API-ul nostru prin coordonate de latitudine și longitudine, ceea ce nu produce nicio ambiguitate în setul nostru de rezultate. Parametrii sunt 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
Dacă rezolvați orașele în locații și interogați pe baza coordonatelor, API-ul nostru va răspunde cu toate restricțiile (la nivel de țară și stat) necesare pentru a fi înțelese de călătorul care pleacă din țara de plecare și se îndreaptă către țara de destinație.
Informații suplimentare
Pentru anumite tipuri de condiții de intrare, pot exista date suplimentare asociate într-un câmp de tip metadate numit extras. Acest câmp este o mapare cheie/valoare a diverselor elemente de informații suplimentare pentru o anumită cerință.
Care este numărul de zile de carantină?
Această intrare de date este supusă cerinței de intrare tip 5. În această intrare, maparea **extras** va conține un câmp numit quarantine_days care va conține un număr întreg pentru numărul de zile de carantină impuse.
Care este numărul de ore înainte de intrare pentru un test covid negativ?
Această intrare de date este supusă cerinței de intrare tip 8. În această intrare, maparea **extras** va conține un câmp numit entry_hours care va conține un număr întreg pentru numărul de ore în care un test covid negativ este permis înainte de intrare.
Anunțați-ne
Credem că avem un instrument foarte robust care va răspunde probabil tuturor nevoilor dvs. pentru a vă ajuta călătorii să înțeleagă cu ce sunt probabil să se confrunte pe drum. Dacă aveți un caz de utilizare specific pe care nu îl acoperim, anunțați-ne!
Stai… mai este!
Această postare face parte dintr-o serie în două părți care explică cum să interacționați cu API-ul Sitata pentru informații despre condițiile de intrare și restricțiile de călătorie. Până acum am vorbit despre condițiile de intrare care descriu tipurile de condiții stricte de tip da/nu necesare pentru a intra într-o țară sau regiune, dar nu am vorbit încă despre ce se întâmplă în interiorul țării. Este una să știi cum să intri într-o țară, și alta să înțelegi dacă este posibil să te miști în interiorul țării sau să vizitezi plajele sau dacă există o oră de restricție obligatorie.
Rămâneți pe fază pentru al doilea articol care va aprofunda seria noastră de date despre restricțiile de călătorie. Sfat: este aproape identic, așa că puteți consulta oricum documentația noastră API în timp ce așteptați.