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.