Démarrage rapide
Classez votre premier produit en 5 minutes avec l'API The Trade Hub.
Ce guide vous accompagne de la creation de votre compte jusqu'a votre première classement douanier via l'API. En 5 minutes, vous serez opérationnel.
Prerequis
- Un navigateur web moderne
- Un outil pour effectuer des requetes HTTP (
curl, Postman, ou votre langage de programmation favori)
Créer un compte et une organisation
Rendez-vous sur The Trade Hub et créez votre compte. Vous pouvez vous inscrire avec votre adresse email ou via Google/Microsoft.
Une fois connecte, créez une organisation. L'organisation est l'entite qui regroupe vos clés API, votre consommation et vos membres.
- Cliquez sur "Créer une organisation" dans le tableau de bord
- Renseignez le nom de votre entreprise
- Choisissez un slug unique (ex :
mon-entreprise)
Générer une clé API
Depuis votre organisation, accédez a la page Developpeur :
- Allez dans Organisation > Developpeur
- Cliquez sur "Créer une clé API"
- Donnez un nom descriptif a votre clé (ex :
dev-local,production) - Sélectionnez les scopes nécessaires (
classifypour le classement,export_controlpour le contrôle export) - Copiez la clé affichee - elle ne sera plus visible par la suite
Le format de la clé :
th_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxPremier classement
Créez un job de classement avec votre clé API :
curl -X POST https://api.thetradehub.eu/v1/classify/jobs \
-H "X-API-Key: th_live_votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"content": "Cable USB-C vers Lightning pour iPhone, longueur 1m, couleur blanc"
}'La requete est asynchrone. Vous recevez immédiatement un identifiant de job :
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "pending",
"created_at": "2026-02-25T10:30:00Z",
"updated_at": "2026-02-25T10:30:00Z"
}Récupérer les résultats
Interrogez le statut du job jusqu'a obtention des résultats :
curl https://api.thetradehub.eu/v1/classify/jobs/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "X-API-Key: th_live_votre_cle_api"Une fois le traitement terminé (3 a 8 secondes), vous obtenez le résultat complet :
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "completed",
"result": {
"classification": {
"rankings": [
{
"rank": 1,
"hs_code": "8544.42.90",
"description": "Cables electriques pour tension <= 1000V, munis de pieces de connexion",
"confidence": 0.94,
"gri_justification": "GRI 1 - Position 8544 couvre les cables electriques...",
"validated": true
}
]
},
"text": "D'apres les decisions BTI de l'UE et la nomenclature TARIC...",
"session_id": "sess_abc123"
},
"created_at": "2026-02-25T10:30:00Z",
"updated_at": "2026-02-25T10:30:05Z"
}Les champs clés de la réponse :
| Champ | Description |
|---|---|
rankings[].hs_code | Code du Système Harmonisé (6, 8 ou 10 chiffres) |
rankings[].description | Description officielle de la position tarifaire |
rankings[].confidence | Score de confiance (0 a 1) |
rankings[].gri_justification | Justification basee sur les Règles Generales Interpretatives |
rankings[].validated | true si le code a ete verifie dans la nomenclature TARIC |
Intégrer dans votre application
const API_KEY = process.env.TRADEHUB_API_KEY!;
const BASE_URL = "https://api.thetradehub.eu/v1";
// 1. Créer le job
const createRes = await fetch(`${BASE_URL}/classify/jobs`, {
method: "POST",
headers: {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
content: "Cable USB-C vers Lightning pour iPhone",
}),
});
const { id } = await createRes.json();
// 2. Polling pour le résultat
const pollResult = async (jobId: string) => {
let delay = 1000;
while (true) {
const res = await fetch(`${BASE_URL}/classify/jobs/${jobId}`, {
headers: { "X-API-Key": API_KEY },
});
const data = await res.json();
if (data.status === "completed") return data.result;
if (data.status === "failed") throw new Error(data.error);
await new Promise((r) => setTimeout(r, delay));
delay = Math.min(delay * 2, 5000);
}
};
const result = await pollResult(id);
const topRanking = result.classification.rankings[0];
console.log(`Code HS: ${topRanking.hs_code} (confiance: ${topRanking.confidence})`);import httpx
import time
import os
API_KEY = os.environ["TRADEHUB_API_KEY"]
BASE_URL = "https://api.thetradehub.eu/v1"
client = httpx.Client(headers={"X-API-Key": API_KEY})
# 1. Créer le job
response = client.post(f"{BASE_URL}/classify/jobs", json={
"content": "Cable USB-C vers Lightning pour iPhone",
})
job_id = response.json()["id"]
# 2. Polling pour le résultat
delay = 1
while True:
result = client.get(f"{BASE_URL}/classify/jobs/{job_id}").json()
if result["status"] == "completed":
top = result["result"]["classification"]["rankings"][0]
print(f"Code HS: {top['hs_code']} (confiance: {top['confidence']})")
break
elif result["status"] == "failed":
raise Exception(result.get("error"))
time.sleep(delay)
delay = min(delay * 2, 5)Prochaines étapes
- Consultez la référence API Classement pour le detail complet des paramètres et réponses
- Explorez la classement par lot pour traiter plusieurs produits
- Découvrez les patterns d'intégration pour les bonnes pratiques en production
- Parcourez les référentiels pour les données de référence douanieres
Dernière mise à jour