API
Authenticatie
Authenticeer je API-verzoeken met API-sleutels
# Authenticatie > Authenticeer je API-verzoeken met API-sleutels - Pagina: https://tbit.app/nl/docs/api/authentication - Basis-URL: `https://rest-api.tbit.app/v1` - Authenticatie: header `X-API-Key` met je sleutel bij elk verzoek (de voorbeelden lezen hem uit de omgevingsvariabele `TBIT_API_KEY`) ## Overzicht De TBit API gebruikt API-sleutels voor authenticatie. Zet je API-sleutel bij elk verzoek in de header X-API-Key. ## Je API-sleutel ophalen Ga in het TBit-dashboard naar Instellingen > API om je API-sleutel te zien. Elke agent heeft een eigen, unieke API-sleutel. ## Gebruik Zet de header X-API-Key in elk verzoek: `GET /v1/activities` ```bash curl "https://rest-api.tbit.app/v1/activities" \ -H "X-API-Key: $TBIT_API_KEY" ``` ## Best practices voor beveiliging - Zet je API-sleutel nooit in client-side code of in openbare repositories - Bewaar je API-sleutel in omgevingsvariabelen - Roteer je API-sleutel als je vermoedt dat hij gelekt is - Gebruik alleen HTTPS voor API-verzoeken ## Publiceerbaar gebruik voor catalogus-endpoints Uitzondering: voor de lees-endpoints van de catalogus (producten, categorieën, winkelwagens) werkt de API-sleutel als een publiceerbare sleutel: hij identificeert je account en meet het gebruik, en de catalogusgegevens zijn openbaar. Je kunt hem voor die endpoints veilig in browsercode gebruiken, net als een publiceerbare sleutel van Stripe. ## Authenticatiefouten | Status | Code | Beschrijving | | --- | --- | --- | | `401` | `UNAUTHORIZED` | API-sleutel ontbreekt of is ongeldig | | `429` | `RATE_LIMITED` | Rate limit overschreden (100 req/min) |De TBit API gebruikt API-sleutels voor authenticatie. Zet je API-sleutel bij elk verzoek in de header X-API-Key.
Ga in het TBit-dashboard naar Instellingen > API om je API-sleutel te zien. Elke agent heeft een eigen, unieke API-sleutel.
Zet de header X-API-Key in elk verzoek:
/v1/activitiescurl "https://rest-api.tbit.app/v1/activities" \
-H "X-API-Key: $TBIT_API_KEY"const response = await fetch('https://rest-api.tbit.app/v1/activities', {
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
});
const data = await response.json();import axios from 'axios';
const { data } = await axios.get(
'https://rest-api.tbit.app/v1/activities',
{
headers: {
'X-API-Key': process.env.TBIT_API_KEY,
},
},
);import os
import requests
response = requests.get(
'https://rest-api.tbit.app/v1/activities',
headers={'X-API-Key': os.environ['TBIT_API_KEY']},
)
data = response.json()<?php
$ch = curl_init('https://rest-api.tbit.app/v1/activities');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: ' . getenv('TBIT_API_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);- Zet je API-sleutel nooit in client-side code of in openbare repositories
- Bewaar je API-sleutel in omgevingsvariabelen
- Roteer je API-sleutel als je vermoedt dat hij gelekt is
- Gebruik alleen HTTPS voor API-verzoeken
Uitzondering: voor de lees-endpoints van de catalogus (producten, categorieën, winkelwagens) werkt de API-sleutel als een publiceerbare sleutel: hij identificeert je account en meet het gebruik, en de catalogusgegevens zijn openbaar. Je kunt hem voor die endpoints veilig in browsercode gebruiken, net als een publiceerbare sleutel van Stripe.
| Status | Code | Beschrijving |
|---|---|---|
401 | UNAUTHORIZED | API-sleutel ontbreekt of is ongeldig |
429 | RATE_LIMITED | Rate limit overschreden (100 req/min) |