Voedselbank/Backend API

From Frack - Hackerspace Friesland
Jump to navigationJump to search

Alle hieronder beschreven acties zijn url paden die volgen op /api/. Dat wil zeggen, de actie klant.list bestaat op de url /api/klant/list. Eventuele argumenten worden standaard bijgevoegd in de query string (/api/klant/info?id=1). Waar aangegeven (POST) zullen deze als form-waarde moeten worden meegegeven.

Contents

Login

Het API pad voor inloggen is login

  • Argumenten (POST):
    • medewerker – Naam van de medewerker
    • wachtwoord – Wachtwoord van de medewerker (plaintext)
  • Resultaat bij success
{
  "ID": 10,
  "geldigTot": "2012-09-13 18:17:10",
  "medewerker": {
    "ID": 1,
    "emailAdres": "elmer@underdark.nl",
    "login": "admin",
    "naam": "Systeem"
  },
  "sessieSleutel": "ca18fb8c9c57b96a9a24c7014547fc889277da272c2c6f8ed9eaf2563bdac877"
}

De gegeven tijd hier is de lokale tijd voor de database. De sessieSleutel wordt hier hex-encoded ten behoeve van JSON dat geen support heeft voor arbitraire bytes.

De gegeven sessieSleutel wordt als cookie ingesteld en dient bij elk volgende API verzoek aanwezig te zijn (als cookie).

Klanten API

klant.list

Geeft de volledige lijst van klanten van de Voedselbank terug.

Argumenten:

  • postcode – (optioneel) Geeft alleen de klanten die een adres hebben met de gegeven postcode.

Voorbeeldresultaat:

[
  {
    "ID": 3,
    "achternaam": "Jansen",
    "adresPlaats": "Leeuwarden",
    "adresPostcode": "8911AG",
    "adresStraat": "Stationsweg 6",
    "emailAdres": null,
    "geboorteDatum": "1959-6-28",
    "geslacht": "man",
    "klantcode": "QrZVUNwh",
    "tussenvoegsel": "",
    "voorletters": "J."
  },
  {
    "ID": 4,
    "achternaam": "Hacker",
    "adresPlaats": "Leeuwarden",
    "adresPostcode": "8911AN",
    "adresStraat": "Zuiderplein 33",
    "emailAdres": null,
    "geboorteDatum": "1970-1-1",
    "geslacht": "man",
    "klantcode": "qjtwque7",
    "tussenvoegsel": "",
    "voorletters": "J.R."
  },
]

klant.info

Geeft informatie over een enkele klant. Deze kan opgehaald worden aan de hand van het database ID, de klantcode of het volgnummer uit het oude systeem. Slechts een van deze argumenten mag worden opgegeven.

Argumenten:

  • ID – (optioneel) Database ID van de klant (het argument volgnummer vervult dezelfde werking, nu de oude en nieuwe volgnummers samengevoegd zijn).
  • code – (optioneel) Klantcode van de klant, hoofdletterongevoelig

Voorbeeldresultaat:

{
  "ID": 4,
  "achternaam": "Hacker",
  "adresPlaats": "Leeuwarden",
  "adresPostcode": "8911AN",
  "adresStraat": "Zuiderplein 33",
  "emailAdres": null,
  "geboorteDatum": "1970-1-1",
  "geslacht": "man",
  "klantcode": "qjtwque7",
  "tussenvoegsel": "",
  "voorletters": "J.R."
}

klant.search

Zoekt naar klanten op basis van (een deel van) de achternaam.

Argumenten:

  • naam – (optioneel) Database ID van de klant (het argument volgnummer vervult dezelfde

Voorbeeldresultaat:

Vergelijkbaar met #klant.list; met alleen klanten waar (een deel van) de achternaam overeenkomt.

klant.create

Maakt een nieuwe klant aan. Er wordt direct een klantstatus aangemaakt, de klant wordt hierin aangemerkt als nieuw.

Argumenten (POST):

  • voorletters – Voorletters van de klant
  • tussenvoegsel – Tussenvoegsel (van / de)
  • achternaam – Achternaam van de klant
  • geslacht – Geslacht (man / vrouw)
  • geboorteDatum – Geboortedatum (yyyy-mm-dd)
  • emailAdres – E-mailadres van de klant
  • adresStraat – Straat + huisnummer
  • adresPostcode – Postcode, letters en cijfers zonder spatie
  • adresPlaats – Woonplaats van de klant

Voorbeeldresultaat:

Gelijk aan #klant.info van nieuwe klant

klant.update

Wijzigt informatie van de klant. De velden zijn gelijk aan die van de nieuw aangemaakte klant, maar staan voo de volledigheid hieronder beschreven.

Een update actie kan 1 of meer eigenschappen aanpassen. Eigenschappen die niet worden opgegeven blijven onveranderd.

Argumenten (POST):

  • ID – Database ID van de klant
  • voorletters – (optioneel)
  • tussenvoegsel – (optioneel)
  • achternaam – (optioneel)
  • emailAdres – (optioneel)
  • geslacht – (optioneel)
  • geboorteDatum – (optioneel) Geboortedatum (yyyy-mm-dd)
  • adresStraat – (optioneel) Straatnaam en huisnummer
  • adresPostcode – (optioneel) Postcode, zonder spatie tussen cijfers en letters
  • adresPlaats – (optioneel)

Voorbeeldresultaat:

Gelijk aan #klant.info van de aangepaste klant.

klant.updateklantcode

Bij het aanroepen van deze API actie wordt er voor de klant een nieuwe klantcode gegenereerd welke gebruikt wordt voor de nieuwe pas met barcode.

Argumenten (POST):

  • ID – Database ID van de klant

Voorbeeldresultaat:

Gelijk aan #klant.info van de aangepaste klant.

klant.barcode

Geeft de klantcode van de klant als Code 128 barcode. Dit kan op basis van zowel het klantnummer als de klantcode. Onjuist klantcodes zullen resulteren in een error, niet een verkeerde barcode.

Alternatief kan er worden gekozen om een volledig arbitraire barcode te genereren door gebruik te maken van het raw argument. Hier kan een eigen tekst worden opgegeven om een barcode van te laten maken.

Argumenten:

  • ID – (optioneel) Database ID van de klant
  • code – (optioneel) Klantcode van de klant, hoofdletterongevoelig
  • raw – (optioneel) Deze optie kan gebruikt worden om willekeurige barcodes te genereren

klant.abonnementen

Geeft een lijst terug van alle abonnementen die een klant (gehad) heeft.

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

[
  {
    "ID": 5,
    "beeindigd": 1,
    "datumStart": "2006-01-23",
    "klant": 4,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 4
  },
  {
    "ID": 6,
    "beeindigd": 0,
    "datumStart": "2012-03-17",
    "klant": 4,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 4
  }
]

Klanttelefoonnummers API

klant.telefoonnummer.list

Geeft een lijst van alle telefoonnummers van de klant, met het 'soort' nummer erbij.

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

[
  {
    "ID": 40,
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    },
    "nummer": "0581234987",
    "soort": "thuis"
  },
  {
    "ID": 41,
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    },
    "nummer": "0681563934",
    "soort": "mobiel"
  }
]

klant.telefoonnummer.toevoegen

Voegt een telefoonnummer toe aan een bestaande klant

Argumenten:

  • klant – Database ID van de klant
  • nummer – Telefoonnummer van de klant, 10 cijfers zonder
  • soort – Omschrijving van het soort nummer ('mobiel', 'thuis' of 'werk')

Voorbeeldresultaat:

Gelijk aan #klant.telefoonnummer.list van de klant, met het nieuwe nummer erbij

klant.telefoonnummer.verwijderen

Verwijdert een bestaand telefoonnummer van een klant.

Argumenten:

Voorbeeldresultaat:

Gelijk aan #klant.telefoonnummer.list van de klant, met het nieuwe nummer erbij

Klantcontactpersonen API

klant.contact.list

Geeft een lijst van de contactpersonen die bij een klant horen. Dit is er in de praktijk vaak maar een (voor de klanten waar dit van toepassing is), maar het kunnen er meer zijn.

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "adresPlaats": "Amsterdam",
    "adresPostcode": "1017BR",
    "adresStraat": "Herengracht 24",
    "emailAdres": "jacob@noorderwind.cc",
    "klant": 4,
    "naam": "Jacob Wind",
    "rol": "bewindvoerder",
    "telefoonnummer": "0612345678"
  }
]

klant.contact.toevoegen

Voegt een contactpersoon toe bij een klant.

Argumenten (POST):

  • klant – Database ID van de klant waar de contactpersoon bij hoort
  • naam – Volledige naam van de contactpersoon
  • rol – De rol van de contactpersoon (een van: particulier,GKB,bewindvoerder,budgetbeheer,WSNP)
  • telefoonnummer – Telefoonnummer van de contactpersoon
  • emailAdres – E-mailadres van de contactpersoon
  • adresStraat – Straat + huisnummer
  • adresPostcode – Postcode, letters en cijfers zonder spatie
  • adresPlaats – Woonplaats van de klant

Voorbeeldresultaat:

Gelijk aan #klant.contact.list met de nieuwe contactpersoon toegevoegd

klant.contact.verwijderen

Verwijdert een contactpersoon van een klant

Argumenten (POST):

  • klant – Database ID van de klant
  • contactpersoon – Database ID van de te verwijderen contactpersoon

Voorbeeldresultaat:

Gelijk aan #klant.contact.list zonder de verwijderde contactpersoon

Klantgezin API

klant.gezin.list

Geeft een lijst gezinsleden van de klant terug.

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

[
  {
    "ID": 19,
    "geboorteDatum": "1970-01-01",
    "geslacht": "man",
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    }
    "naam": "J.R. Hacker"
  },
  {
    "ID": 20,
    "geboorteDatum": "1999-12-21",
    "geslacht": "man",
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    }
    "naam": "Bobby Tables"
  }
]

klant.gezin.toevoegen

Voegt een gezinslid toe aan de familie van een klant.

Argumenten (POST):

  • klant – Database ID van de klant
  • naam – Naam van het nieuwe gezinslid
  • geboorteDatum Geboortedatum van het nieuwe gezinslid
  • geslacht – Geslacht van het nieuwe gezinslid

Voorbeeldresultaat:

Gelijk aan #klant.gezin.list met het nieuwe gezinslid als laatste item

klant.gezin.verwijderen

Verwijdert een gezinslid van een klant

Argumenten (POST):

  • klant – Database ID van de klant
  • gezinslid – Database ID van het te verwijderen gezinslid

Voorbeeldresultaat:

Gelijk aan #klant.gezin.list zonder het verwijderde gezinslid

klant.gezin.zoeken

Zoekt naar gezinsleden met de gegeven naam, geslacht en geboortedatum. Dit om het dubbel voorkomen van gezinsleden bij verschillende klanten te voorkomen. Controleer dit bij het invoeren van een nieuw gezinslid. Het resultaat van deze zoekactie zou in dat geval geen resultaat moeten oplveren.

Argumenten:

  • naam – Naam van het gezinslid
  • geboorteDatum Geboortedatum van het gezinslid
  • geslacht – Geslacht van het gezinslid

Voorbeeldresultaat:

[
  {
    "ID": 1234,
    "geboorteDatum": "2000-01-01",
    "geslacht": "vrouw",
    "klant": 4,
    "naam": "Janneke Achternaam"
  }
]

Klantstatus API

klant.status

Geeft de huidige klantstatus terug

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

{
  "ID": 4,
  "klant": {
    "ID": 4,
    "achternaam": "Hacker",
    "adresPlaats": "Leeuwarden",
    "adresPostcode": "8911AN",
    "adresStraat": "Zuiderplein 33",
    "emailAdres": null,
    "geboorteDatum": "1970-1-1",
    "geslacht": "man",
    "klantcode": "qjtwque7",
    "tussenvoegsel": "",
    "voorletters": "J.R."
  },
  "medewerker": {
    "ID": 1,
    "actief": 1,
    "emailAdres": "mede@werker.nl",
    "login": "admin",
    "naam": "Systeem",
    "rol": 1
  },
  "opmerking": "Geimporteerd op 2013-02-03",
  "status": "klant",
  "updateTijd": "2013-02-03 17:05:32",
  "wijzigingsdatum": "2006-03-09"
}

klant.status.geschiedenis

Geeft de volledige statusgeschiedenis van de klant. Dit is een lijst van statusobjecten in chronologische volgorde (de meest recente status is het laatste item in de lijst).

Argumenten:

  • klant – Database ID van de klant

Voorbeeldresultaat:

[
  {
    "ID": 4048,
    "klant": 2200,
    "medewerker": 1,
    "opmerking": "Geimporteerd op 2013-02-03",
    "status": "klant",
    "updateTijd": "2013-02-03 17:06:54",
    "wijzigingsdatum": "2011-11-18"
  },
  {
    "ID": 4049,
    "klant": 2200,
    "medewerker": 1,
    "opmerking": "Geimporteerd op 2013-02-03",
    "status": "regulier beeindigd",
    "updateTijd": "2013-02-03 17:06:54",
    "wijzigingsdatum": "2012-01-06"
  }
]

klant.status.opmerking

Plaatst een opmerking in de statusgeschieden van de klant. Deze actie behoudt de huidige status en wijzigingsdatum daarvan, maar voegt een commentaar toe. Op deze manier wordt bijvoorbeeld bijgehouden of een klant op de hoogte is gesteld van het niet ophalen van een klaargezet pakket.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – De opmerking zoals hierboven beschreven.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.afgewezen

De klant is na het intakegesprek niet geschikt geacht als klant van de Voedselbank.

Alleen klanten met de status nieuw kunnen worden afgewezen.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.doorverwezen

Uit het intakegesprek blijkt dat de klant niet terechtkan bij de Voedselbank, maar wellicht bij een andere partij. De klant wordt hiernaar doorverwezen.

Alleen klanten met de status nieuw kunnen worden doorverwezen.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.klant

De klant is na het intakegesprek geaccepteerd als klant van de voedselbank. De klant krijgt een abonnement toegewezen (dit kan alleen voor klanten met de status klant).

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.verhuisd

Wanneer een klant verhuist naar een andere woonplaats te ver van de Voedselbank Leeuwarden om door deze bediendt te worden. Als het huidige abonnement nog loopt wordt dit stopgezet.

Alleen klanten met de status klant kunnen verhuizen.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.beeindigd

Na onderling overleg is gebleken dat de klant de steun van de Voedselbank niet meer nodigheeft. Als het huidige abonnement nog loopt wordt dit stopgezet.

Alleen klanten met de status klant kunnen regulier worden beeindigd.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

klant.status.update.weggestuurd

Een klant die de aangeboden pakketten niet ophaalt of zich op andere wijze misdraagt (volgens de geldende regels bij de Voedselbank) kan hierdoor worden weggestuurd. Net als bij reguliere beeindiging worden eventueel lopende abonnementen stopgezet.

Alleen klanten met de status klant kunnen worden weggestuurd.

POST Argumenten:

  • klant – Database ID van de klant
  • opmerking – (optioneel) Een eventuele opmerking bij de statuswijziging.

Voorbeeldresultaat:

Gelijk aan #klant.status

Abonnement API

abonnement.list

Geeft een lijst terug van alle lopende abonnementen bij de Voedselbank.

Argumenten:

  • inactief – (optioneel) Wanneer dit wordt meegegeven (met willekeurige waarde), worden ook alle inactieve abonnementen in de resultaten meegenomen.

Voorbeeldresultaat:

[
  {
    "ID": 22,
    "beeindigd": 0,
    "datumStart": "2012-02-01",
    "klant": 12,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 1
  },
  {
    "ID": 24,
    "beeindigd": 0,
    "datumStart": "2012-03-03",
    "klant": 13,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 2
  },
]

abonnement.info

Geeft informatie terug van een specifiek abonnement.

Argumenten:

  • ID – Database ID van het abonnement

Voorbeeldresultaat:

{
  "ID": 5,
  "beeindigd": 1,
  "datumStart": "2006-03-20",
  "klant": {
    "ID": 4,
    "achternaam": "Hacker",
    "adresPlaats": "Leeuwarden",
    "adresPostcode": "8911AN",
    "adresStraat": "Zuiderplein 33",
    "emailAdres": null,
    "geboorteDatum": "1970-1-1",
    "geslacht": "man",
    "klantcode": "qjtwque7",
    "tussenvoegsel": "",
    "voorletters": "J.R."
  },
  "opmerking": "",
  "pakketAantal": 14,
  "pakketDieet": {
    "ID": 1,
    "naam": "Normaal"
  },
  "uitgifteCyclus": {
    "ID": 2,
    "actief": 1,
    "locatie": {
      "ID": 1,
      "naam": "Leeuwarden"
    },
    "omschrijving": "Leeuwarden dinsdag (geel)",
    "ophaaldag": 8
  }
}

abonnement.create

Maakt een nieuw abonnement aan.

Argumenten (POST):

  • klant – Database ID van de klant
  • uitgifteCyclus – Database ID van de uitgiftecyclus
  • startdatum – De startdatum van het abonnement (yyyy-mm-dd)
  • pakketAantal – De looptijd van het abonnement in pakketten
  • opmerking – Eventuele extra opmerkingen
  • dieet – JSON array van database ID's van diëten die moet worden toegepast.

Voorbeeldresultaat:

Gelijk aan #abonnement.info van het nieuw toegevoegde abonnement

abonnement.nieuwste

Geeft het laatst aangemaakte pakket voor het abonnement.

Argumenten:

  • abonnement – Database ID van het abonnement

Voorbeeldresultaat:

{
  "ID": 38,
  "abonnement": {
    "ID": 5,
    "beeindigd": 1,
    "datumStart": "2006-01-23",
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    },
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": {
      "ID": 1,
      "naam": "Normaal"
    },
    "uitgifteMoment": {
      "ID": 4,
      "actief": 1,
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden vrijdag (groen)",
      "ophaaldag": 11
    }
  },
  "pakketGrootte": {
    "ID": 2,
    "code": "B",
    "min_gezinsgrootte": 2,
    "omschrijving": "Vanaf 2 personen"
  },
  "volgnummer": 14
}

abonnement.pakketten

Geeft een lijst van de pakketten die bestaan voor het abonnement

Argumenten:

  • abonnement – Database ID van het abonnement

Voorbeeldresultaat:

[
  {
    "ID": 25,
    "abonnement": 5,
    "pakketGrootte": 2,
    "volgnummer": 1
  },
  {
    "ID": 26,
    "abonnement": 5,
    "pakketGrootte": 2,
    "volgnummer": 2
  },
  {
    "ID": 27,
    "abonnement": 5,
    "pakketGrootte": 2,
    "volgnummer": 3
  },
]

abonnement.resterend

Geeft het aantal resterende pakketten dat voor dit abonnement nog wordt uitgegeven. Wanneer het laatste pakket nog moet worden uitgegeven is het resultaat van deze functie 1 (wanneer dit pakket is uitgegeven wordt het resultaat 0).

Argumenten:

  • abonnement – Database ID van het abonnement

Voorbeeldresultaat:

9

abonnement.stop

Stopt het lopende abonnement. Het nog niet opgehaalde pakket dat bij dit abonnement hoort zal ook geannuleerd worden.

N.B.: Dit kan niet ongedaan gemaakt worden. Wanneer een abonnement per ongeluk gestopt wordt zal een nieuw abonnement aangemaakt moeten worden.

Argumenten (POST):

  • abonnement – Database ID van het abonnement

Voorbeeldresultaat:

Gelijk aan #abonnement.info

abonnement.update

Wijzigt eigenschappen van het abonnement. De opmerking bevat extra informatie ten behoeve van de inpakkers, bv een melding dat er extra luiers bij het pakket moet worden toegevoegd. Het pakketaantal wordt gebruikt om het aantal uit te geven pakket te sturen. De uitgiftecyclus bepaalt de data en locatie waarop de pakketten beschikbaar worden gemaakt.

Een update actie kan 1 of meer eigenschappen aanpassen. Eigenschappen die niet aangepast moeten worden worden niet opgegeven.

Argumenten (POST):

  • abonnement – Database ID van het abonnement
  • pakketAantal – (optioneel) Het nieuwe aantal pakketten dat gedurende dit abonnement moet worden uitgegeven
  • opmerking – (optioneel) De nieuwe opmerking. de oude opmerking wordt overschreven.
  • uitgifteCyclus – (optioneel) Database ID van de uitgiftecyclus.

Voorbeeldresultaat:

Gelijk aan #abonnement.info

Abonnementdieet API

abonnement.dieet.list

Geeft een lijst van de dieetaspecten die bij het abonnement horen.

Argumenten:

  • abonnement – Database ID van het abonnement

Voorbeeldresultaat:

[
  {
    "ID": 2,
    "naam": "Halal",
    "stickerKleur": "groen"
  },
  {
    "ID": 3,
    "naam": "Diabetisch",
    "stickerKleur": "rood"
  }
]

abonnement.dieet.toevoegen

Voegt een dieetaspect toe aan een abonnement.

Argumenten (POST):

  • abonnement – Database ID van het abonnement
  • dieet – Database ID van het toe te voegen dieet

Voorbeeldresultaat:

Gelijk aan #abonnement.dieet.list, inclusief het nieuwe dieetaspect

abonnement.dieet.verwijderen

Verwijdert een dieetaspect van een abonnement.

Argumenten (POST):

  • abonnement – Database ID van het abonnement
  • dieet – Database ID van het toe te verwijderen dieet

Voorbeeldresultaat:

Gelijk aan #abonnement.dieet.list, nu zonder het nieuwe dieetaspect

Dieet API

dieet.list

Geeft een lijst van de verschillende dieetaspecten.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "naam": "Normaal"
  },
  {
    "ID": 2,
    "naam": "Vegetarisch"
  },
  {
    "ID": 3,
    "naam": "Halal"
  },
  {
    "ID": 4,
    "naam": "Diabetisch"
  }
]

dieet.info

Geeft informatie over een specifiek dieet.

Argumenten:

  • ID – Database ID van het dieet

Voorbeeldresultaat:

{
  "ID": 1,
  "naam": "Normaal"
}

dieet.create

Maakt een nieuw dieetaspect aan

Argumenten (POST):

  • naam – Naam van het dieet
  • stickerKleur – Naam van de stickerkleur van het dieet

Voorbeeldresultaat:

Gelijk aan #dieet.info van het nieuwgemaakte dieet

dieet.update

Past de naam aan van een bestaand dieet.

Argumenten (POST):

  • dieet – Database ID van het dieet
  • naam – Nieuwe naam van het dieet
  • stickerKleur – Nieuwe stickerkleur van het dieet

Voorbeeldresultaat:

Gelijk aan #dieet.info van het gewijzigde dieet

dieet.abonnementen

Geeft een lijst van abonnementen van het gegeven dieet.

Argumenten:

  • dieet – Database ID van het dieet
  • inactief – (optioneel) Wanneer dit wordt meegegeven (met willekeurige waarde), worden ook alle inactieve abonnementen in de resultaten meegenomen.

Voorbeeldresultaat:

[
  {
    "ID": 6,
    "beeindigd": 0,
    "datumStart": "2012-03-17",
    "klant": 4,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 4
  },
  {
    "ID": 22,
    "beeindigd": 0,
    "datumStart": "2012-02-01",
    "klant": 12,
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": 1,
    "uitgifteMoment": 1
  },
]

Pakket API

pakket.info

Geeft de informatie van een specifiek pakket. Bij welk abonnement (en klant, dieet) hoort het, hoe groot is het, welk volgnummer heeft het.

Argumenten:

  • ID – Database ID van het pakket

Voorbeeldresultaat:

{
  "ID": 81,
  "abonnement": {
    "ID": 5,
    "beeindigd": 1,
    "datumStart": "2006-01-23",
    "klant": {
      "ID": 4,
      "achternaam": "Hacker",
      "adresPlaats": "Leeuwarden",
      "adresPostcode": "8911AN",
      "adresStraat": "Zuiderplein 33",
      "emailAdres": null,
      "geboorteDatum": "1970-1-1",
      "geslacht": "man",
      "klantcode": "qjtwque7",
      "tussenvoegsel": "",
      "voorletters": "J.R."
    },
    "opmerking": "",
    "pakketAantal": 14,
    "pakketDieet": {
      "ID": 1,
      "naam": "Normaal"
    },
    "uitgifteCyclus": {
      "ID": 2,
      "actief": 1,
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden dinsdag (geel)",
      "ophaaldag": 8
    }
  },
  "pakketGrootte": {
    "ID": 2,
    "code": "B",
    "min_gezinsgrootte": 2,
    "omschrijving": "Vanaf 2 personen"
  },
  "volgnummer": 1
}

pakket.status

Geeft de huidige status van het pakket. Deze status beschrijft of het pakket wel/niet is verwerkt, opgehaald, en bij niet-ophalen, of dit met of zonder goede reden is gedaan (malus). Ook wordt beschreven door welke medewerker deze status is gegeven en wanneer dit gebeurd is.

Ook meegegeven wordt alle pakketinformatie zoals hierboven beschreven is.

Argumenten:

  • pakket – Database ID van het pakket

Voorbeeldresultaat:

{
  "ID": 161,
  "malus": 0,
  "medewerker": {
    "ID": 1,
    "actief": 1,
    "emailAdres": "elmer@underdark.nl",
    "login": "admin",
    "naam": "Systeem",
    "rol": 1
  },
  "opgehaald": 1,
  "ophaaldatum": "2006-03-20",
  "pakket": {
    "ID": 81,
    "abonnement": {
      "ID": 5,
      "beeindigd": 1,
      "datumStart": "2006-01-23",
      "klant": {
        "ID": 4,
        "achternaam": "Hacker",
        "adresPlaats": "Leeuwarden",
        "adresPostcode": "8911AN",
        "adresStraat": "Zuiderplein 33",
        "emailAdres": null,
        "geboorteDatum": "1970-1-1",
        "geslacht": "man",
        "klantcode": "qjtwque7",
        "tussenvoegsel": "",
        "voorletters": "J.R."
      },
      "opmerking": "",
      "pakketAantal": 14,
      "pakketDieet": {
        "ID": 1,
        "naam": "Normaal"
      },
      "uitgifteCyclus": {
        "ID": 2,
        "actief": 1,
        "locatie": {
          "ID": 1,
          "naam": "Leeuwarden"
        },
        "omschrijving": "Leeuwarden dinsdag (geel)",
        "ophaaldag": 8
      }
    },
    "pakketGrootte": {
      "ID": 2,
      "code": "B",
      "min_gezinsgrootte": 2,
      "omschrijving": "Vanaf 2 personen"
    },
    "volgnummer": 1
  },
  "updateTijd": "2012-09-23 10:55:33",
  "verwerkt": 1
}

pakket.status.geschiedenis

Geeft de volledige statusgeschiedenis van het pakket. Dit is een lijst van statusobjecten in chronologische volgorde (de meest recente status is het laatste item in de lijst).

Argumenten:

  • pakket – Database ID van het pakket

Voorbeeldresultaat:

[
  {
    "ID": 160,
    "malus": 0,
    "medewerker": 1,
    "opgehaald": 0,
    "ophaaldatum": "2006-03-20",
    "pakket": 81,
    "updateTijd": "2012-09-23 10:55:33",
    "verwerkt": 0
  },
  {
    "ID": 161,
    "malus": 0,
    "medewerker": 1,
    "opgehaald": 1,
    "ophaaldatum": "2006-03-20",
    "pakket": 81,
    "updateTijd": "2012-09-23 10:55:33",
    "verwerkt": 1
  }
]

pakket.status.opgehaald

Markeert een pakket als verwerkt en opgehaald. Het antwoord van deze actie is de nieuw toegevoegde status van het pakket.

Argumenten:

  • pakket – Database ID van het pakket

Voorbeeldresultaat:

Gelijk aan #pakket.status

pakket.status.malus

Markeert een pakket als niet opgehaald. Het pakket wordt gemarkeerd als verwerkt en niet opgehaald (zonder goede reden). Dit pakket telt wel tegen het totaal aantal pakketten dat een klant mag ophalen binnen een abonnement. Het antwoord van deze actie is de nieuw toegevoegde status van het pakket.

Argumenten:

  • pakket – Database ID van het pakket

Voorbeeldresultaat:

Gelijk aan #pakket.status

pakket.status.vervallen

Markeert een pakket als niet opgehaald. Het pakket wordt gemarkeerd als verwerkt en niet opgehaald (met goede reden). Dit pakket telt ook tegen het totaal aantal pakketten dat een klant mag ophalen binnen een abonnement. Het antwoord van deze actie is de nieuw toegevoegde status van het pakket.

Argumenten:

  • pakket – Database ID van het pakket

Voorbeeldresultaat:

Gelijk aan #pakket.status

pakket.status.datum

Wijzigt de ophaaldatum van een nog-niet verwerkt pakket. Wanneer het pakket reeds verwerkt is resulteert het veranderen van de datum in een fout. Het antwoord van deze actie is de nieuw toegevoegde status van het pakket.

Argumenten:

  • pakket – Database ID van het pakket
  • datum – De nieuwe ophaaldatum van het pakket (yyyy-mm-dd)

Voorbeeldresultaat:

Gelijk aan #pakket.status

PakketGrootte API

pakketgrootte.list

Geeft een lijst van alle bestaande pakketgrootten.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "code": "A",
    "min_gezinsgrootte": 1,
    "omschrijving": "1-persoonspakket"
  },
  {
    "ID": 2,
    "code": "B",
    "min_gezinsgrootte": 2,
    "omschrijving": "Vanaf 2 personen"
  },
  {
    "ID": 3,
    "code": "C",
    "min_gezinsgrootte": 5,
    "omschrijving": "Vanaf 5 personen"
  },
  {
    "ID": 4,
    "code": "D",
    "min_gezinsgrootte": 8,
    "omschrijving": "Vanaf 8 personen"
  }
]

pakketgrootte.info

Geeft info over een enkele pakketgrootte

Argumenten:

  • ID – Database ID van de pakketgrootte

Voorbeeldresultaat:

{
  "ID": 1,
  "code": "A",
  "min_gezinsgrootte": 1,
  "omschrijving": "1-persoonspakket"
}

pakketgrootte.create

Maakt een nieuwe pakketgrootte aan. Let op: wijzigingen in de pakketgrootte worden pas gebruikt bij de volgende planning van een pakket. Pakketten in de komende twee weken worden hierdoor niet aangepast.

Argumenten (POST):

  • code – De code voor deze pakketgrootte (A, B, C, D etc)
  • min_gezinsgrootte – De minimale gezinsgrootte die bij dit formaat hoort
  • omschrijving – Omschrijving voor de pakketgrootte

Voorbeeldresultaat:

Gelijk aan #pakketgrootte.info van de nieuwe pakketgrootte.

pakketgrootte.update

Past de waarden van een pakketgrootte aan. Let op: wijzigingen in de pakketgrootte worden pas gebruikt bij de volgende planning van een pakket. Pakketten in de komende twee weken worden hierdoor niet aangepast.

Argumenten (POST):

  • pakketgrootte' – Database ID van de te wijzigen pakketgrootte
  • code – De nieuwe code voor deze pakketgrootte (A, B, C, D etc)
  • min_gezinsgrootte – De aangepaste minimale gezinsgrootte die bij dit formaat hoort
  • omschrijving – Nieuwe omschrijving voor de pakketgrootte

Voorbeeldresultaat:

Gelijk aan #pakketgrootte.info van de nieuwe pakketgrootte.

Locatie API

locatie.list

Geeft een volledige lijst van alle Voedselbank afhaallocaties.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "naam": "Leeuwarden"
  },
  {
    "ID": 2,
    "naam": "Boarnsterhim"
  },
  {
    "ID": 3,
    "naam": "Stiens"
  },
  {
    "ID": 4,
    "naam": "onbekend"
  }
]

locatie.info

Geeft informatie over een enkele afhaallocatie.

Argumenten:

  • ID – Database ID van de locatie

Voorbeeldresultaat:

{
  "ID": 1,
  "naam": "Leeuwarden"
}

locatie.create

Maakt een nieuwe afhaallocatie aan.

Argumenten (POST):

  • naam – Naam van de nieuw te maken locatie

Nog te realiseren

locatie.update

Update de informatie van een locatie

Nog te realiseren

locatie.kalender

Geeft een lijst van objecten met datums en pakketten / ophaalcycli die op die datum van toepassing zijn. Datums waar geen cyclus voor bestaat, of waar geen pakketten opgehaald worden, komen niet voor in de lijst. Waar aanwezig bevat ophaalCyclus de informatie over de ophaalcyclus die die dag plaatsvindt, pakketten bevat een lijst van database ID's voor van pakketten die voor die dag gepland staan.

Argumenten:

  • locatie – Database ID van de locatie
  • jaar – Jaar waarvoor de kalender gemaakt moet worden
  • maand – Maand waarvoor de kalender gemaakt moet worden (numeriek)

Voorbeeldresultaat:

[
  {
    "datum": "2012-12-04",
    "uitgifteCyclus": {
      "ID": 1,
      "actief": 1,
      "kleur": "DC1919",
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden dinsdag (rood)",
      "ophaaldag": 1
    },
    "verwerktePakketten": [
      69, 143, 209, 431, 508, 630, 754, 773, 795, 815, 833, 967, 1015, 1033,
      1294, 1354, 1976, 1997, 2060, 2249, 2267, 2397, 2446, 2580, 2820, 3013,
      3050, 3135, 3151, 3213, 3358, 3502, 3631, 3660, 3670, 3718, 3727, 3888
    ]
  },
  {
    "datum": "2012-12-07",
    "uitgifteCyclus": {
      "ID": 3,
      "actief": 1,
      "kleur": "3B4EDC",
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden vrijdag (blauw)",
      "ophaaldag": 4
    },
    "verwerktePakketten": [
      106, 124, 162, 256, 295, 410, 560, 670, 908, 951, 987, 1140, 1199, 1314,
      1498, 1597, 1617, 1713, 1733, 1793, 1831, 1849, 1883, 2013, 2029, 2346,
      2372, 2486, 2603, 2626, 2650, 2839, 2851, 2892, 2913, 2974, 2994, 3183,
    ]
  },
  {
    "datum": "2012-12-11",
    "uitgifteCyclus": {
      "ID": 2,
      "actief": 1,
      "kleur": "E9E142",
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden dinsdag (geel)",
      "ophaaldag": 8
    },
    "verwerktePakketten": [
      90, 185, 229, 276, 318, 335, 360, 462, 613, 648, 695, 734, 853, 870, 1085,
      1113, 1169, 1390, 1435, 1452, 1524, 1694, 1929, 2103, 2123, 2166, 2194,
      2222, 2462, 2717, 2934, 2954, 3032, 3102, 3119, 3227, 3476, 3761, 3777,
      3785, 3820, 3899, 3936, 3946, 3970, 3982, 3987, 3997, 4008, 4032, 4049,
    ]
  },
  {
    "datum": "2012-12-14",
    "openPakketten": [
      49, 386, 447, 488, 537, 585, 715, 886, 935, 1059, 1192, 1250, 1275, 1332,
      1408, 1468, 1644, 1757, 1774, 1814, 1868, 1946, 2045, 2139, 2295, 2739,
      2759, 2779, 2800, 2872, 3345, 3386, 3399, 3412, 3425, 3438, 3451, 3578,
    ],
    "uitgifteCyclus": {
      "ID": 4,
      "actief": 1,
      "kleur": "42E94A",
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden vrijdag (groen)",
      "ophaaldag": 11
    }
  },
  {
    "datum": "2012-12-18",
    "openPakketten": [
      70, 144, 210, 432, 509, 631, 755, 774, 796, 816, 834, 968, 1016, 1034,
      1295, 1355, 1961, 1977, 1998, 2061, 2250, 2268, 2398, 2447, 2581, 2821,
      3014, 3051, 3136, 3152, 3359, 3503, 3632, 3661, 3671, 3728, 3942, 3975,
    ],
    "uitgifteCyclus": {
      "ID": 1,
      "actief": 1,
      "kleur": "DC1919",
      "locatie": {
        "ID": 1,
        "naam": "Leeuwarden"
      },
      "omschrijving": "Leeuwarden dinsdag (rood)",
      "ophaaldag": 1
    }
  }
]

locatie.pakketten

Geeft een lijst van alle of alleen de onverwerkte pakketten op een locatie. Pakketten worden als verwerkt beschouwd wanneer ze zijn opgehaald door de klant, of wanneer er is aangegeven dat een pakket niet is opgehaald.

Argumenten:

  • locatie – Database ID van de locatie
  • datum – (optioneel) geeft alleen pakketten aan die gepland zijn op opgehaald te worden op de gegeven datum
  • alleen_onverwerkt – (optioneel) Wanneer dit '1' is, bevat het resultaat alleen onverwerkte pakketten. Bij '0', of wanneer dit argument wordt weggelaten bevat het resultaat alle voor die dag geplande pakketten.

Voorbeeldresultaat:

[
  {
    "ID": 223,
    "dieten": [
      {
        "ID": 2,
        "naam": "Halal",
        "stickerKleur": "groen"
      },
      {
        "ID": 3,
        "naam": "Diabetisch",
        "stickerKleur": "rood"
      }
    ],
    "malus": 0,
    "medewerker": 1,
    "opgehaald": 0,
    "ophaaldatum": "2013-02-15",
    "pakket": {
      "ID": 114,
      "abonnement": 10,
      "pakketGrootte": {
        "ID": 1,
        "code": "A",
        "min_gezinsgrootte": 1,
        "omschrijving": "1-persoonspakket"
      },
      "volgnummer": 6
    },
    "updateTijd": "2013-02-03 13:46:07",
    "verwerkt": 0
  },
  {
    "ID": 266,
    "dieten": [],
    "malus": 0,
    "medewerker": 1,
    "opgehaald": 0,
    "ophaaldatum": "2013-02-15",
    "pakket": {
      "ID": 136,
      "abonnement": 12,
      "pakketGrootte": {
        "ID": 1,
        "code": "A",
        "min_gezinsgrootte": 1,
        "omschrijving": "1-persoonspakket"
      },
      "volgnummer": 8
    },
    "updateTijd": "2013-02-03 13:46:07",
    "verwerkt": 0
  }
]

locatie.pakketten.vandaag

Vereenvoudiging van het API commando #locatie.pakketten.onverwerkt, waarbij de datum die van vandaag is. Alle argumenten en resultaten zijn hetzelfde, met uitzonder van de afwezigheid van het argument datum.

Uitgiftecyclus API

uitgifte.list

Geeft een lijst van uitgiftecycli die op de gegeven locatie plaatsvinden.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "actief": 1,
    "locatie": 1,
    "omschrijving": "Leeuwarden dinsdag (rood)",
    "ophaaldag": 1
  },
  {
    "ID": 2,
    "actief": 1,
    "locatie": 1,
    "omschrijving": "Leeuwarden dinsdag (geel)",
    "ophaaldag": 8
  },
  {
    "ID": 5,
    "actief": 1,
    "locatie": 3,
    "omschrijving": "Stiens - Ferwerderadeel donderdag (blauw)",
    "ophaaldag": 3
  },
  {
    "ID": 6,
    "actief": 1,
    "locatie": 3,
    "omschrijving": "Stiens - Leeuwarderadeel donderdag (groen)",
    "ophaaldag": 10
  },
]

uitgifte.info

Geeft informatie over een specifieke uitgiftecyclus

Argumenten:

  • ID – Database ID van de uitgiftecyclus

Voorbeeldresultaat:

{
  "ID": 1,
  "actief": 1,
  "kleur": "DC1919",
  "locatie": {
    "ID": 1,
    "naam": "Leeuwarden"
  },
  "omschrijving": "Leeuwarden dinsdag (rood)",
  "ophaaldag": 1
}

uitgifte.create

Maakt een nieuwe uitgiftecyclus aan. Deze wordt per direct beschikbaar in het systeem.

Argumenten (POST):

  • locatie – Database ID van de locatie waar de uitgifte plaatsvindt
  • datum – Voorbeelddatum van de uitgifte, de ophaaldag wordt hierop gebaseerd. Deze moet van het formaat yyyy-mm-dd zijn (zie ISO 8601)
  • omschrijving – De naam/omschrijving van de cyclus
  • kleur – De kleur welke gebruikt moet worden in de kalender om deze uitgiftedag te kleuren. Deze moet worden opgegeven als html/css kleurcode bestaande uit zes hexadecimale waarden. Het hekje is hierin optioneel.

Voorbeeldresultaat:

Gelijk aan #uitgifte.info van nieuwe uitgiftecyclus

uitgifte.update

Update een specifieke uitgiftecyclus.

Argumenten (POST):

  • locatie – Database ID van de locatie waar de uitgifte plaatsvindt
  • datum – Voorbeelddatum van de uitgifte, de ophaaldag wordt hierop gebaseerd. Deze moet van het formaat yyyy-mm-dd zijn (zie ISO 8601)
  • omschrijving – De naam/omschrijving van de cyclus
  • kleur – De kleur welke gebruikt moet worden in de kalender om deze uitgiftedag te kleuren. Deze moet worden opgegeven als html/css kleurcode bestaande uit zes hexadecimale waarden. Het hekje is hierin optioneel.
  • actief – Hiermee kan de uitgiftecyclus als inactief gemarkeerd worden. Deze is dan niet meer te kiezen als uitgiftecyclus voor nieuw aan te maken abonnementen. Bestaande abonnementen worden niet gewijzigd.

Voorbeeldresultaat:

Gelijk aan #uitgifte.info van nieuwe uitgiftecyclus

uitgifte.datums

Geeft een lijst van de volgende 20 uitgiftedatums van de gegeven cyclus

Argumenten:

  • uitgifte – Database ID van de uitgiftecyclus

Voorbeeldresultaat:

[
  "2012-09-25",
  "2012-10-09",
  "2012-10-23",
  "2012-11-06",
  "2012-11-20",
  "2012-12-04",
  "2012-12-18",
  "2013-01-01",
  "2013-01-15",
  "2013-01-29",
  "2013-02-12",
  "2013-02-26",
  "2013-03-12",
  "2013-03-26",
  "2013-04-09",
  "2013-04-23",
  "2013-05-07",
  "2013-05-21",
  "2013-06-04",
  "2013-06-18"
]

uitgifte.abonnementen

Eenzelfde overzicht als #uitgifte.list maar met een overzicht van abonnementen dat op dit moment actief is per uitgiftecyclus.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "abonnementen": 57,
    "actief": 1,
    "kleur": "DC1919",
    "locatie": {
      "ID": 1,
      "naam": "Leeuwarden"
    },
    "omschrijving": "Leeuwarden dinsdag (rood)",
    "ophaaldag": 1
  },
  {
    "ID": 2,
    "abonnementen": 52,
    "actief": 1,
    "kleur": "E9E142",
    "locatie": {
      "ID": 1,
      "naam": "Leeuwarden"
    },
    "omschrijving": "Leeuwarden dinsdag (geel)",
    "ophaaldag": 8
  }
]

Medewerkers API

medewerker.list

Geeft de volledige lijst van medewerkers van de Voedselbank terug.

Voorbeeldresultaat:

[
  {
    "ID": 1,
    "actief": 1,
    "emailAdres": "beheer@voedselbankleeuwarden.nl",
    "login": "admin",
    "naam": "Systeem",
    "rol": 1
  },
  {
    "ID": 2,
    "actief": 1,
    "emailAdres": "vbl@voedselbankleeuwarden.nl",
    "login": "vbl",
    "naam": "Voedselbank observant",
    "rol": 2
  }
]

medewerker.info

Geeft informatie over een enkele medewerker. Deze wordt opgehaald aan de hand van het database ID.

Argumenten:

  • ID – Database ID van de werknemer.

Voorbeeldresultaat:

{
  "ID": 1,
  "actief": 1,
  "emailAdres": "beheer@voedselbankleeuwarden.nl",
  "login": "admin",
  "naam": "Systeem",
  "rol": 1
}

medewerker.create

Maakt een nieuwe medewerker aan in het systeem.

Argumenten (POST):

  • naam – Volledige naam van de gebruiker
  • login – Loginnaam van de gebruiker
  • emailAdres – Emailadres van de gebruiker
  • rol – Database ID van de rol van de gebruiker
  • wachtwoord – Wachtwoord voor de gebruiker

Voorbeeldresultaat:

Gelijk aan #medewerker.info van nieuwe medewerker

medewerker.update

Past informatie van een bestaande medewerker aan.

Argumenten (POST):

  • werknemer – Database ID van de werknemer.
  • naam – (optioneel) Aangepaste naam voor de gebruiker
  • login – (optioneel) Aangepaste login voor de gebruiker
  • emailAdres – (optioneel) Aangepast emailadres voor de gebruiker
  • rol – (optioneel) Nieuwe gebruikersrol voor de gebruiker
  • wachtwoord – (optioneel) Nieuw wachtwoord voor de gebruiker
  • actief – (optioneel) Actief-status van werknemers, 1 voor actief, 0 voor inactief.

Voorbeeldresultaat:

Gelijk aan #medewerker.info van de aangepaste medewerker

medewerker.verwijderen

Verwijdert een medewerker uit het systeem. Deze functie kent als resultaat het database ID van de verwijderde medewerker.

Argumenten (POST):

  • werknemer – Database ID van de werknemer.

Gebruikersrollen API

rol.list

Geeft de volledige lijst van rollen in het systeem.

Voorbeeldresultaat:

[
    {
        "ID": 1,
        "naam": "Beheerder",
        "omschrijving": "Heeft alle rechten in het systeem"
    },
    {
        "ID": 2,
        "naam": "Observant",
        "omschrijving": "Mag alleen kijken in het systeem (en notities invoeren)."
    }
]

rol.info

Geeft informatie over een enkele rol

Argumenten:

  • ID – Database ID van de werknemer.

Voorbeeldresultaat:

{
    "ID": 1,
    "naam": "Beheerder",
    "omschrijving": "Heeft alle rechten in het systeem"
}

Statistiek API

stats.abonnementsverdeling

Geeft een beeld van de verdeling van lopende abonnementen over locaties en daarbinnen de verdeling in pakketgrootte.

Voorbeeldresultaat:

[
    {
        "locationName": "Stiens",
        "packageSizes": [
            {
                "amount": 7,
                "name": "A"
            },
            {
                "amount": 12,
                "name": "B"
            }
        ]
    },
    {
        "locationName": "Boarnsterhim",
        "packageSizes": [
            {
                "amount": 1,
                "name": "D"
            }
        ]
    }
]

stats.aflopendeAbonnementen

Een overzicht van abonnementen die in de komende 3 maanden aflopen, gegroepeerd per week.

Voorbeeldresultaat:

{
    "7": [
        {
            "ID": 1,
            "datumEinde": "2014-02-20",
            "datumStart": "2006-01-03",
            "dieetAspect": [],
            "klant": 9,
            "opmerking": "",
            "pakketAantal": 14,
            "uitgifteCyclus": 7,
            }
        }
    ],
    "10": [
        {
            "ID": 2,
            "datumEinde": "2014-03-14",
            "datumStart": "2012-11-27",
            "dieetAspect": [],
            "klant": 38,
            "opmerking": "",
            "pakketAantal": 14,
            "uitgifteCyclus": 7,
        }
    ]
}

stats.abonnementenPerMaand

Een overzicht van het aantal actieve abonnementen (~=klanten) in de afgelopen 12 maanden. De uitvoer begint bij deze maand en gaat daarna 11 maanden het verleden in.

Voorbeeldresultaat:

[
    {
        "abonnementen": {
            "Boarnsterhim": 21,
            "Leeuwarden": 266,
            "Stiens": 27,
            "onbekend": 2
        },
        "periode": [
            2014,
            2
        ]
    },
    {
        "abonnementen": {
            "Boarnsterhim": 21,
            "Leeuwarden": 266,
            "Stiens": 27,
            "onbekend": 2
        },
        "periode": [
            2014,
            1
        ]
    }
]