Dokumentation

Från plats och event-apiet kan man hämta ner följande data via olika endpoints.

  • Fysiska platser (adress, öppettider och bilder)
  • Händelser / Evenemang (Grundläggande data så som namn och tidpunkt)
    • Relaterade händelser
    • Tidpunkt(er)
    • Plats(er) (fysisk plats enligt ovan)
    • Arrangör(er) (arrangör och sponsor enligt nedan)
    • Bokningsinformation och priser
    • Evenemangsmedia (bilder, video, ljud, sociala mediekanaler)
  • Kontaktpersoner (Ansvariga och relaterade personer till ett evenemang)
  • Sponsor(er)
  • Paket bestående av flera evenemang med kampanjpris
  • Medlemskort (som ger rabatt på evenemang och inträden)
  • Guidade turer (ljud och video) bestående av flera platser

Det finns också ett kronologiskt ordnat flöde av evenemang som inkluderar all data för ett evenemang inom en angiven period. Detta flöde lämpar sig bra för att skapa kalenderfunktioner.

Automatisk dokumentation

Api:et sammanfattar sig själv per automatik. Denna information kan du hitta i läsbart format på: http://jsonviewer.stack.hu/#http://api.helsingborg.se/json/wp/v2/

Anropsbegränsningar

Det öppna api:et har sedan 2018-10-10 en begränsning i hur många förfrågningar som man får göra per ip-adress.

Antal tillåtna förfrågningar: 500
Tidsperiod: 60 minuter

Antalet tillåtna förfrågningar kan komma att justeras utan förvarning. Ha alltid ambitionen att inte tillfråga API:et mer än nödvändigt. Om det går att cacha ditt anrop, räknas inte följande anrop mot samma url som en ny förfrågan.

Avvikelser – WP-API

Det finns några grundläggande modifieringar av WordPress API som kan vara bra att veta om:

  • Slugen för att anropa apiet är inte wp-json som en standard wp-api installation. Denna slug är ändrad till json.
  • Plattformen har inget ”front-end” det vill säga att du inte kan titta på hur datan ser ut på en befintlig webbplats. Vill man ha en referensplats att kontrollera utmatningen, kan man använda sig av helsingborg.se. Notera dock att olika api-konsumenter kan hantera datan olika.

Gemensamma riktlinjer

Samtliga objekt oavsett typ har ett unikt id som alltid matas ut med nyckeln ”id”. Värdet är i samtliga fall av typen int.

  • Numerära värden är alltid av typen int. Om en sträng skickas, konverteras denna i största möjliga mån till int. Om detta inte är möjligt, retuneras värdet NULL.
  •  Fält som saknar data (matchar empty() ), retunerar alltid NULL oavsett typ av värde. Betrakta samtliga fält som ”nullable”.
  • Följande fält är obigatoriska för att ett svar ska kunna skickas. Om dessa inte finns, skickas ett resultat för 404.
    • id
    • date
    • date_gmt
    • modified
    • modified_gmt
    • slug

Begränsa grupptillhörighet

Systemet har en avgränsning på publicist-grupp, om du inte anger denna kommer samtliga evenemang att hämtas. En publicist grupp är en grupp användare som länkas samman. Syftet är att kunna hämta ut evenemang från en betrodd grupp användare, som har full mandat till att publicera evenemang på ett specifikt ställe.

Du hittar samtliga tillgängliga grupper via http://api.helsingborg.se/json/wp/v2/user_groups/

Flerspråkstöd

Systemet har stöd för översättning av innehåll. För att hämta ut språkvarianter måste du göra ett nytt anrop för varje språk du vill hämta. Om information saknas i översättningen kommer systemet automatiskt falla tillbaka på grundspråkets (svenska) information.

Du hämtar ut ett alternativt språk via: ?lang=en_GB. Variablen sätter också ett kaka. Detta gör att systemet ”kommer ihåg” vilket språk som används. Om beteendet inte önskas, kan du som api-konsument ignorera kakorna (standardbeteende för CURL etc.).

Fullständiga objekt

Du kan begära vilken posttyp du vill som ett fullständigt objekt. Här samlas alla länkar in och renderas ut enligt HAL specifikationen. För att begära ut ett resulat med embed-länkar anger du ?embed i din förfrågan. T.ex: http://api.helsingborg.se/json/wp/v2/event/14141/?_embed