Salt la conținutul principal
Sitata
Cum să folosești API-urile Sitata pentru a determina restricțiile de călătorie pentru călători
alegerea-redactoruluitehnologie

Cum să folosești API-urile Sitata pentru a determina restricțiile de călătorie pentru călători

MS
Madeline Sharpe
|

Mulți dintre voi s-ar putea să nu știți acest lucru, dar fundația timpurie a Sitata a fost construită pentru detectarea precoce a bolilor. De fapt, fondatorul nostru are un discurs TedX din 2016 despre de ce trebuie să avertizăm călătorii pentru a preveni răspândirea bolilor. Nu ar trebui să fie o surpriză, așadar, că am luat la cunoștință COVID-19 atunci când a fost raportat ca un grup neobișnuit de cazuri de pneumonie la începutul lunii decembrie 2019. Până pe 2 ianuarie 2020, echipa noastră de sănătate a decis că trebuie să emitem prima noastră avertizare către călătorii și partenerii noștri de afaceri. Acest lucru s-a întâmplat cu zile înaintea Organizației Mondiale a Sănătății!

În timpul inevitabilei 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ă își va impune propriul set de reguli și reglementări pentru controlul răspândirii. Acest lucru va provoca inevitabil haos în călătoriile globale și va fi o sursă mare de confuzie pentru cei care încă doresc să călătorească. Am avut dreptate și ne-am propus 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 monitorizare pentru modificările în restricțiile de călătorie și cerințele de intrare ca urmare a COVID-19. Cu un sistem software avansat pentru detectarea evenimentelor și o echipă dedicată de analiști, aveam deja toate instrumentele și procesele potrivite pentru a face acest lucru.

De la lansarea acestui nou serviciu, am avut o varietate de organizații care au profitat de date în beneficiul propriilor clienți, inclusiv Eddy Travels, Flight Centre și Etihad Airways; și sunt și altele care vor fi anunțate în curând! Pentru a ajuta mai multe organizații din domeniul călătoriilor să beneficieze de această ofertă, am scris mai jos în detaliu 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ă lansați propriile inițiative.

Cerințe de intrare

Fără îndoială, primele întrebări pe care le pune un călător sunt “pot să merg acolo?” și “voi fi pus în carantină?”, așa că acesta este un bun punct de plecare. Am creat setul de date Cerințe de intrare pentru a răspunde la întrebările clare de tip “da/nu” privind intrarea într-o țară sau regiune.

La momentul scrierii, acest set de date includea următoarele 10 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 (în caz de epidemie)?
  • Este permis un certificat de testare (în caz de epidemie)?
  • Este necesară carantina la sosire (în caz de epidemie)? Este necesară vaccinarea?
  • Este necesară asigurarea?
  • Este necesar certificatul de testare?
  • Este necesar formularul de intrare? (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 foarte ciudate și nebunești pe care diferite guverne le-au impus, ceea ce necesită tipurile de valori “cu excepții”.

O Cerință de intrare este în esență o înregistrare care documentează 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 și unele î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 una la nivel de stat sau municipal, respectiv. Dacă doriți date mai granulare disponibile, vă rugăm să ne contactați și putem discuta despre cazul dvs. de utilizare.

Vă rugăm să vă familiarizați cu structura de date a Cerințelor de intrare uitându-vă la documentația noastră API aici.

O parte ușor confuză a structurii de date este utilizarea termenului “origin” (origine). Acest lucru este confuz pentru că deseori dezvoltatorii se gândesc la origine 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_countries este gol, ar trebui interpretat ca o regulă globală, adică toate țările sunt afectate.

Câteva exemple

După cum ați văzut probabil din documentație, există mai multe modalități de a prelua date din API. Mai jos vom parcurge câteva dintre cele mai comune cazuri de utilizare.

Cum preiau cerințele dintre două țări?

Există câteva modalități de a face acest tip de solicitare. Cea mai simplă versiune este să folosiț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ă câmpul origin_country_division are o valoare. De asemenea, puteți filtra pentru a prelua doar date la nivel de stat folosind parametrul **destination_country_division**. Acesta așteaptă o valoare ISO_3166-2. De exemplu, US-TX pentru Texas, Statele Unite.

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ă interogați după țară și apoi să filtrați după datele de stat pentru a vedea dacă există astfel de date și să le folosiți dacă există.

Cum preiau cerințele dintre două aeroporturi?

La fel ca și cu țările, API-ul Sitata poate returna rezultate între două aeroporturi. Parametrii departure_airport și destination_airport folosesc fie coduri ICAO fie 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 călătorește 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 călătorește către țara de destinație.

Dar dacă am doar informații despre oraș?

Sitata a ales să nu acomodeze interogările după un anumit nume de oraș, deoarece acest lucru ar putea duce la conflicte și confuzie. În schimb, am ales să permitem interogarea API-ului nostru prin coordonatele de latitudine și longitudine, care nu produc 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 călătorește către țara de destinație.

Date suplimentare

Pentru unele tipuri de Cerințe 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 diferitelor informații suplimentare pentru o anumită cerință.

Care este numărul de zile de carantină?

Această intrare de date se încadrează sub cerința 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 se încadrează sub cerința 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.

Spuneți-ne

Credem că avem o soluție foarte robustă care va aborda probabil toate nevoile dvs. pentru a vă ajuta călătorii să înțeleagă ce este probabil să întâlnească pe drum. Dacă aveți un caz de utilizare specific pe care nu îl abordăm, vă rugăm să ne spuneți!

Stai… mai este!

Această intrare 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 Cerințe de intrare și Restricții de călătorie. Până acum am vorbit despre Cerințele de intrare, care conturează tipurile clare de cerințe da/nu necesare pentru a intra într-o țară sau regiune, dar nu am vorbit despre ce se întâmplă în interiorul țării. Este una să știi despre intrarea într-o țară, este alta să înțelegi dacă este posibil să te miști în țară sau să vizitezi plajele sau dacă există o interdicție de circulație obligatorie.

Rămâneți pe fază pentru al doilea post care va aprofunda setul nostru de date Restricții de călătorie. Sugestie - este aproape identic, așa că puteți oricând să vă uitați la documentația noastră API între timp.

Etichete
alegerea-redactoruluitehnologie