Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: 8th: Posti, lähetyksen seurannan tapahtumien haku seurantakoodilla

jalski [27.10.2020 20:16:50]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta