Authenticatie en toegang
Toegang tot de API krijg je door het aanmaken van een API-key in het control panel. Bij De API-key whitelist je ook de ip-adressen waarvandaan je verbinding gaat maken, geef je via permissies aan welke commando's er met de API-key uitgevoerd mogen worden en geef je aan of je de API-key in de live- of testomgeving gaat gebruiken.
API-keys
Een API-key is een unieke code die wordt gebruikt voor het inloggen via de API. Je kunt meerdere API-keys aan je account koppelen.De API-key geef je via een 'Authorization' header mee bij de connectie samen met het auth-scheme 'Bearer'. in cURL ziet dat er als volgt uit:
curl -H "Authorization: Bearer XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" https://api.mijndomeinreseller.nl/v2/
Via PHP/curl geef je de header als volgt door:
<?php $api_key = "XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; $api_url = "/v2/"; $api_host = "https://api.mijndomeinreseller.nl"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_host . $api_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $api_key")); $output = curl_exec($ch); echo $output;
Je maakt een nieuwe API-key aan via: "Tools" "API" "API-key toevoegen" .
Permissies
Bij elke API-key kun je aparte permissies instellen. Wij raden je aan om API-keys niet meer permissies te geven dan nodig en per doel een aparte API-key aan te maken. Wil je bijvoorbeeld voor je administratie alle facturaties inlezen via de API, maak dan een aparte API-key aan die alleen toegang heeft tot de facturatie.Rate-limit
Elk ipadres kan maximaal 120 requests per minuut maken. Bij het overschrijden van deze limiet geeft de API een "429 Too Many Requests" error. Er kunnen dan tot het begin van de volgende minuut geen requests meer gemaakt worden. Bij elk request geeft de 3 API headers terug:X-RateLimit-Limit-Minute: nDe per minuut limiet voor de API. N staat hierbij voor het aantal toegestaande calls per minuut: 60.
X-RateLimit-Remaining-Minute: nHoeveel calls (n) er binnen de huidige minuut nog beschikbaar zijn.
X-RateLimit-Reset-Minute: nWanneer de rate-limit weer wordt gereset in seconden.
Omgeving: live en test
Naast de normale live-omgeving is er ook een aparte testomgeving beschikbaar om je API-koppeling te testen. De testomgeving is technisch identiek aan de live-omgeving maar werkt uiteraard niet met live-data. Momenteel is de testomgeving enkel via de API beschikbaar, er is dus geen webinterface voor de testomgeving.De testomgeving bereik je via een aparte url:
LIVE: https://api.mijndomeinreseller.nl
TEST: https://api-test.mijndomeinreseller.nl