Postin lähetyksen seurannan tapahtumien haku on 8th:lla helppoa, koska json muotoista dataa on helppo käsitellä suoraan.
Ohjelma ottaa lähetystunnuksen komentoriviparametrina ja tulostaa yksinkertaisen listan lähetyksen tapahtumista.
needs net/http "https://www.posti.fi/henkiloasiakkaat/seuranta/api/shipments/" 0 args "Anna lähetystunnus parametriksi" thrownull s:+ constant URL { url: @URL } constant REQUEST : event? "locationName" m:@ "" ?: swap "timestamp" m:@ d:parse "%Z" d:new d:format 3 s:lsub >n 60 n:* d:tzadjust "%Y-%M-%D %H:%T:%S" swap d:format swap "description" m:@ nip "fi" m:@ nip "- %s %s %s\n" s:strfmt . ; : app:main REQUEST net:get if nip json> "shipments" m:@ nip a:len 0 n:> if 0 a:@ nip "events" m:@ nip ' event? a:each! drop else drop "Virheellinen seurantakoodi.\n" . then else 2drop "Ei saanut haettua json dataa.\n" . then bye ;
Alla esimerkki ohjelman tulostuksesta:
- Lähetys on kuljetuksessa. 2020-09-29 13:07:14 HÄMEENLINNA - Lähetys on kuljetuksessa. 2020-09-28 19:57:21 Posti Logistiikkakeskus - Lähetys on lajiteltu. 2020-09-28 18:41:51 VANTAA - Lähetys ei ole vielä saapunut Postille, odotathan 2020-09-28 02:20:03
Aihe on jo aika vanha, joten et voi enää vastata siihen.