Säsongsmat
Fullständig, automatiskt uppdaterad dokumentation för api.php

Säsongsmats API består av en utökad version av MediaWikis API (hädanefter MW) med tillägget Semantic MediaWiki (hädanefter SMW), samt av ett antal rss- och atomflöden (t.ex senast redigerade artiklar). Data från enskilda artiklar kan också exporteras i RDF- eller XML-format.

Här beskrivs de funktioner som är unika för Säsongsmat, läs i övrigt manualerna för MW respektive SMW.

All data från MW (/w/api.php) kan returneras som JSON, serialized PHP, WDDX, XML, YAML, rawfm, PHP print_r, PHP var_export eller PHP var_dump. Även semantisk data från SMW kan nås via MW:s API, med funktionen action=ask. Semantiska sökningar kan också göras på Special:Ask, och därifrån dessutom exporteras som CSV eller RSS.

Artikeltexter

Du kan hämta artikelinnehåll i html-format via index.php, med action=render, så här:

http://xn--ssongsmat-v2a.nu/w/index.php?title=Gurka&action=render

Faktarutor

All data i faktarutorna i olika artiklarna är tillgänglig som semantisk data via SMW. Om du vill ha färdigskapade faktarutor utan att behöva parsa ut dem ur html-koden själv, kan du för recept och råvaror hämta dem via två särskilda sidor som är uppsatta bara för det ändamålet:

För råvaror
http://xn--ssongsmat-v2a.nu/w/index.php?title=S%C3%A4songsmat:R%C3%A5varufaktarutor&action=render&rv=Gurka
För recept
http://xn--ssongsmat-v2a.nu/w/index.php?title=S%C3%A4songsmat:Receptfaktarutor&action=render&rc=Gr%C3%B6nk%C3%A5lssoppa

Fruktträd

Fruktträd på Säsongsmat.nu och fruktkartan.se representeras av artiklar i namnrymden Fruktträd, t.ex. Fruktträd:Äpple-59.8141014° N, 17.6452949° Ö 1.

Lägga till träd

Du lägger till träd genom att skapa nya artiklar i fruktträdsnamnrymden, t.ex. så här:

http://xn--ssongsmat-v2a.nu/w/api.php?action=edit&title=Fruktträd:Mitt_plommonträd_1234567890&summary=Från%20trädkartan.se&text={{Fruktträd2|koordinater=59.8141014° N, 17.6452949° E|typ=äpple}}

Namnen på artiklarna är egentligen betydelselösa, men två artiklar kan inte ha samma namn. Träd som skapas från Säsongsmat.nu får namn enligt formen Fruktträd:<frukttyp>-<koordinater> <nr>. Eftersom användarna kan mata in gatuadresser så räcker inte geografiska koordinater som särskiljare – det är tänkbart att två äppelträd matas in med samma koordinater. Koordinater och ett flersiffrigt slumptal är en bättre idé, om du vill slippa göra ett extra API-anropa för att ta reda på vilka artikelnamn som är upptagna.

En fruktträdsartikel ska se ut ungefär så här:

{{Fruktträd2 |koordinater=59.8141014° N, 17.6452949° Ö |typ=äpple |beskrivning=Ett träd precis i cykelvägskorsningen. |bild=trädet.jpg }}

Se även fullständig syntax för {{Fruktträd2}}.

Koordinater är obligatoriska. Mallen är generös med hur koordinaterna är formaterade, de flesta vanligt förekommande format fungerar. Du kan använda mallen {{Adress}} för att konvertera en gatuadress till geografiska koordinater. Gatuadressen ska se ut ungefär så här: Drottninggatan 1, Stockholm.

Hämta fruktträd

För att lista alla fruktträd med all tillgänglig information:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ask&query=[[Frukttr%C3%A4d:%2B]]|?Artikel|?Ikon|?Beskrivning|?Bild|?Koordinater

Alla äppelträd inom 12 mil från Stockholm:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ask&query=[[Fruktträd:+]] [[Artikel::Äpple]] [[Koordinater::59°19′46″N, 18°4′7″E (120 km)]]

Radera fruktträd

Hitta och radera artikeln som motsvarar fruktträdet för att ta bort det från alla kartor. Du behöver ett administratörskonto för att kunna göra det. Kontakta oss på mejl@sasongsmat.nu @ om du har en sajt eller app som ska kunna radera träd från fruktkartorna.

Streckkoder

Varukoder som kan tänkas dyka upp i streckkodsform representeras, precis som fruktträd, av artiklar i en särskild namnrymd. Här ligger framför allt GTIN-koder, men också PLU-koder.

Hämta streckkoder

Vi rekommenderar att streckkoder hämtas med det särskilda API-anropet ssmstreckkod, snarare än genom att bara lista artiklar Dels hämtas då data även från externa datakällor, och dels kommer sannolikt den semantiska strukturen att förändras något.

Funktionen kräver en parameter, kod, och försöker gissa vilken typ av matrelaterad kod den har matats med. Exempel:

Okänd EAN 13-kod:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmstreckkod&kod=7340011309804

Känd EAN 13-kod:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmstreckkod&kod=7340007904530

PLU-kod:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmstreckkod&kod=3044

ISBN:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmstreckkod&kod=9780307593313

Värdena på egenskapen odling förklaras här: Property:Odling.

Recept och Råvaror

Råvaror ligger just nu i namnrymden NS_MAIN (0), och recept i NS_RECEPT (550). På sikt är de dock tänkta att slås ihop, samtidigt som recept börjar använda samma säsongsfunktioner som råvaror. Använd därför kategorier eller koncept (sparade, hårt cachade semantiska sökningar) hellre än namnrymd som urvalskriterium för recept respektive råvaror.

Säsong

Säsonger ligger lagrade som en serie datum när något är i säsong, med separata serier för varje zon. Ett godtyckligt valt år, {{#ssmbasartal:}}, används. Det kommer sannolikt aldrig behöva ändras.

Kolla vilka råvaror i en lista som är i säsong. (följer omdirigeringar, så att ”vitlöksklyftor” ger säsongsdata från artikeln ”vitlök”):

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmksasong&client=Min_app

Lista alla råvaror i säsong den 20 maj i zon 3, med toppbild från varje artikel:

http://xn--ssongsmat-v2a.nu/w/api.php?action=ssmlista&client=minapp

Via Special:Ask:

http://säsongsmat.nu/ssm/Special:Ask?q=[[I+säsong+Z3::1912-05-20]]

Det finns färdiga koncept för alla månader, med de råvaror som är i säsong någon gång under den månaden. Koncepten är hårdare cachade och går snabbare att hämta. Fråga efter Concept:November, etc.

Lista alla

Lista alla råvaror (hämtar tio i taget, använd apfrom för att bläddra vidare):

http://xn--ssongsmat-v2a.nu/w/api.php?action=query&list=allpages&apnamespace=0&apfilterredir=nonredirects

Namn på andra språk

Vad heter fiskar på norska?

http://xn--ssongsmat-v2a.nu/w/api.php?action=ask&query=[[Concept:Fisk+och+skaldjur]]|?Norska

Näringsvärde

Näringsdata hämtas från Livsmedelsdatabasen (Svenska livsmedelsverket), och lagras som andel av RDI per 100 g (där sådan data finns), samt mängd per 100 g (alltid). Med den informationen kan du lista exempelvis alla råvaror i säsong i november som innehåller minst tio procent av RDI av vitamin D per 100 gram. Mer än- och mindre än-frågor skrivs så här: [[Vitamin C::>7 mg]] Notera att > betyder ”mer än eller lika med”, en liten egenhet hos SMW.

Handel och produktion

Språk

... Skicka gärna ett mejl till mejl@sasongsmat.nu @ om du tänker göra många API-anrop (tusentals om dagen). Behöver du hjälp? Använd kommentarsfunktionen nedan för att fråga!


Från http://säsongsmat.nu
Tillbaka till toppen