Authorisatie

Om de API te kunnen gebruiken is een API-key verplicht. Deze kan worden aangevraagd via https://waarzitwatin.nl/api/api-key-aanvragen op basis van een emailadres. De aangemaakte API-key dient vervolgens als `X-Authorization` header te worden meegestuurd met elk request.

Opbouw van een request

Iedere request is als volgt opgebouwd:

https://waarzitwatin.nl/api/v1/{lijst}/{detail?}/{koppellijst?}

In voorbeelden hierna zullen URLs relatief worden getoond ten behoeve van de leesbaarheid. De eerste `lijst` parameter is verplicht. Optioneel zijn de `detail` en de `koppellijst`. Hieronder twee voorbeeld requests:

/api/v1/products

Hiermee worden alle producten opgehaald en getoond in een lijst.

/api/v1/substances/2

Hiermee wordt een enkele stof opgehaald met alle details.


Methodes

Lijst /api/v1/{lijst}

Via deze methode kunnen lijsten worden opgehaald. De mogelijk waarden voor `{lijst}` zijn: `categories`: Een lijst met alle productcategorieën. `products`:Een lijst met alle producten. `substances`: Een lijst met alle chemische stoffen. Voorbeeld:

/api/v1/products

Detail /api/v1/{lijst}/{detail}

Via deze methode kunnen de details van een enkele categorie, product of stof worden opgehaald. Hierbij moet als `detail` parameter dan een `id` worden meegegeven die beschikbaar is in een van de lijst methodes. Voorbeeld:

/api/v1/products/1

Koppellijst /api/v1/{lijst}/{detail}/{lijst}

Via deze methode kunnen gekoppelde lijsten van een enkele categorie, product of stof worden opgevraagd. De mogelijke combinaties zijn als volgt: `categories/{lijst}/products`: Een lijst met gerelateerde producten van een categorie. `products/{lijst}/substances`: Een lijst met gerelateerde stoffen van een product. `substances/{lijst}/products`: Een lijst met gerelateerde producten van een stof. Voorbeeld:

/api/v1/products/1/substances

Respons lijst

Een respons van een lijst wordt weergegeven als `JSON` en zie er als volgt uit:

[
{
"id": 2,
"name": "2-Fenoxyethanol",
"slug": "2-fenoxyethanol",
"updated_at": "2017-03-23 13:28:44"
},
{
"id": 4,
"name": "Citroenzuur",
"slug": "citroenzuur",
"updated_at": "2017-04-13 16:24:22"
},
{
"id": 6,
"name": "Glycerol",
"slug": "glycerol",
"updated_at": "2017-05-12 08:47:52"
}
]

Respons detail

Een respons van een detailoverzicht wordt weergegeven als `JSON` en zie er als volgt uit:

{
"id": 2,
"name": "2-Fenoxyethanol",
"slug": "2-fenoxyethanol",
"content": [
{
"title": "Toepassing",
"text": "

2-Fenoxyethanol is een vloeistof die bacteriedodend werkt. Het zit in verzorgingsproducten zoals billendoekjes en shampoo, reinigings- en ontsmettingsmiddelen. De stof wordt als conserveermiddel toegevoegd aan vaccins, cosmetica en huidproducten zoals huidcrèmes, zonnebrandcrèmes en mascara. De stof zorgt ervoor dat de producten niet vroegtijdig bederven. In haarkleurmiddelen wordt 2-fenoxyethanol gebruikt als oplosmiddel. Het zorgt ervoor dat het haarkleurproduct vloeibaar blijft. Om diezelfde reden gebruikt bijvoorbeeld de verfindustrie het ingrediënt ook in allerlei verven en beitsen. Soms wordt 2-fenoxyethanol ook gebruikt om geurstoffen vast te houden, zodat die niet vervliegt.

\r\n" } ], "updated_at": "2017-03-23 13:28:44" }

Foutmeldingen

De volgende foutmeldingen kunnen worden teruggegeven bij een incorrect request: 

  • 401 Unauthorized: De API-key is niet correct of verlopen en kan niet gebruikt worden om data op te halen uit de API. 
  • 404 Not Found: Het record is niet gevonden. Dit kan voorkomen als er een niet bestaande `id` wordt opgevraagd voor een detailoverzicht.