Bulk API Documentatie
De IB BULK JSON REST API stelt u in staat om uw eigen software op de IB database aan te sluiten. Met deze aansluiting zorgt u ervoor dat u en/of uw klanten altijd up-to-date zijn met de meest acurate en volledige database met bouwgerelateerde artikelinformatie. Het handmatig importeren van artikelbestanden behoort hiermee tot het verleden.
De IB API geeft u toegang tot een breed scala aan assortimentsgegevens. De door u gebruikte assortimenten kunnen door IB ook worden voorzien van bedrijfsspecifieke informatie zoals uw eigen artikelnummers of netto inkoopcondities. Benieuwd naar de mogelijkheden voor uw bedrijf? Neem contact op!
Data formaat
Het ontwikkelen en testen van applicaties die van de API gebruik maken is erg eenvoudig. U kunt uw eigen browser gebruiken om de adressen te benaderen en vrijwel iedere HTTP client in welke programmeertaal dan ook kan met de API communiceren. De webservice betreft een JSON API wat inhoud dat zowel de door de webservice verzonden gegevens als de naar de webservice te versturen gegevens (in de request body) aan het JSON-formaat moeten voldoen. Zie http://json.org/ voor meer informatie over dit formaat. Een JSON-string is zowel voor mens als machine makkelijk leesbaar en met een tool als JsonLint op validiteit te controleren.
IB ontwikkelt continu aan zijn diensten en kan daarom niet uitsluiten dat we in de toekomst meerdere formaten gaan aanbieden. Het is daarom aan te raden om al uw requests van een Content-Type header te voorzien zodat wij ook in de toekomst weten in welk data formaat we met uw software dienen te communiceren:
Content-Type: application/json
Basis URL
URLs die in deze documentatie genoemd worden zijn relatief ten opzichte van de volgende basis-URL:
https://www.ib.nl/api/bulk/v1
https://www.ib.nl/api/v1
raden wij u aan dit in uw applicatie te wijzigen, dit pad komt per 1-1-2018 te vervallen.
Authenticatie
Onze API is enkel over HTTPS te benaderen. IB zet zich in om uw data en privacy zo optimaal mogelijk te beschermen en biedt daarom geen diensten over het onversleutelde HTTP-protocol aan.
Meer informatie? De volledige documentatie betreffende authenticatie tegen de IB API verschijnt als u ingelogd bent.
Rate limiting
Om de snelheid van onze webservice voor al onze klanten zo optimaal mogelijk te houden geldt er een limiet aan het aantal requests dat verstuurd mag worden. Tenzij anders overeengekomen betreft dit 100000 requests per 24 uur per bedrijf. Met "per bedrijf" bedoelen we dat u deze limiet deelt met eventuele collega's die van de API gebruik maken. Het resterende aantal requests dat u kunt maken is ook zichtbaar in de response headers. U kijkt hiervoor naar de header X-RateLimit-Remaining
.
Endpoints
De IB API beschikt over de volgende functionaliteiten:
-
GET /companies
Toon een lijst van alle beschikbare leveranciers. -
GET /companies/:machineName
Toon gegevens voor een specifieke leverancier. -
GET /companies/:machineName/articles
Toon alle artikelen voor een leverancier. -
GET /companies/:machineName/articles/:key
Toon artikelinformatie voor een specifiek artikel. -
GET /articles/:key
Toon artikelinformatie voor een specifiek artikel. -
GET /articles/:key/trade
Toon artikelen beschikbaar in de handel voor een specifiek fabrikantsartikel. -
GET /properties/
Toon een lijst van alle beschikbare producteigenschappen. -
GET /classifications/
Toon een lijst van alle beschikbare classificatie systemen. -
GET /classifications/:rootid
Toon een complete boomstructuur van een specifiek classififcatie systeem. -
GET /classifications/:rootid/:nodeid
Toon details van één element van een specifiek classificatie systeem.
Foutmeldingen
Bij eventuele foutmeldingen wordt er door de API ook een JSON response gegenereerd. Deze bevat 2 velden code en message. Hierdoor kunt u deze meldingen ook in uw programmatuur afvangen. Daarnaast geven we middels een HTTP response code aan wat de status van een response is. Hier ziet u een overzicht van alle mogelijke response codes die u kunt tegenkomen bij gebruik van de API.
Code | Omschrijving |
---|---|
200 | De aanvraag is succesvol behandeld. De response body bevat het resultaat. |
301 | U wordt omgeleid naar een andere URL. Dit kan voorkomen indien u een placeholder leeg laat. |
400 | U heeft een ongeldige aanroep verstuurd. Controleer het formaat van eventuele parameters. |
401 | U heeft zich niet juist geauthenticeerd of u gebruikt een invalide API key. |
403 | U heeft geen toegang tot de opgevraagde gegevens. |
404 | De specifieke resource of een onderliggende resource kon niet worden gevonden. |
429 | U heeft uw dagelijkse limiet van API calls bereikt. |
Datatypes
In de documentatie kan naar de onderstaande datatypen gerefereerd worden. Indien er aanvullende restricties van toepassing zijn worden deze middels een reguliere expressie (of in geval van getallen een range) aangegeven.
Type | Omschrijving |
---|---|
int | 32-bits positief geheel getal |
long | 64-bits positief geheel getal |
decimal | Decimaal getal. Afhankelijk van het veld kan de plek van afronding verschillen. |
string | UTF-8 gecodeerde tekst die in JSON tussen dubbele quotes wordt weergegeven. |
datum | Datums worden door de API volgens het ISO 8601 formaat opgemaakt, inclusief uren, minuten, seconden en tijdzone aanduiding. Bijvoorbeeld 2024-11-21T10:03:31+01:00. |
array | Een JSON-array van (in de meeste gevallen) JSON objecten. De structuur van het JSON object wordt altijd apart omschreven. |
bool | Een boolean JSON waarde. true of false . In geval van invoer worden ook de waarden 0 en 1 geaccepteerd. |
url | Een string welke een absolute URL bevat. Tenzij anders aangegeven zal dit een URL voor het http- of https-protocol betreffen. |
Tips & trucjes
- Webservice uitproberen? Met de REST Console Chrome extensie is dat heel eenvoudig.