Batch-Einreihung
Senden Sie bis zu 1.000 Produkte, verfolgen Sie einen übergeordneten Batch und lesen Sie jede EU- oder China-Einreihung aus.
Eine Anfrage erstellt einen dauerhaften übergeordneten Batch mit 1 bis 1.000 Zeilen. Der Dienst plant dauerhafte Teil-Batches zu je 100 und führt höchstens 32 Einreihungen gleichzeitig aus.
| Gesendete Zeilen | Interne Teil-Batches | Vom Client verfolgte ID |
|---|---|---|
| 500 | 5 | 1 batch_id |
| 1.000 | 10 | 1 batch_id |
Der Client teilt die Datei nicht auf. Er bewahrt die batch_id und eine stabile id für jede Zeile auf.
Das vollständige Schema steht im OpenAPI-Vertrag.
Routen
| Rechtsraum | Erstellen | Verfolgen | Scope des Schlüssels |
|---|---|---|---|
| Europäische Union | POST /v1/classify/batch | GET /v1/classify/batch/{batch_id} | classify |
| China | POST /v1/classify-china/batch | GET /v1/classify-china/batch/{batch_id} | classify_china |
Batch erstellen
Jede Zeile muss eine Beschreibung, Bilder oder beides enthalten.
| Feld | Erforderlich | Beschreibung |
|---|---|---|
items | Ja | 1 bis 1.000 Zeilen |
items[].id | Empfohlen | Stabile ERP-Referenz. Wird sonst erzeugt |
items[].content | Bedingt | Beschreibung und objektive Merkmale |
items[].image_urls | Bedingt | Bis zu 5 HTTPS-Bilder |
items[].taric_code | Nur China | Optionale Vergleichsreferenz, niemals eine automatische Umrechnung |
analysis_mode | Nein | Standardmäßig operational oder legal_deep |
locale | Nein | fr, en, es oder de |
curl -sS -X POST "https://api.thetradehub.eu/v1/classify/batch" \
-H "X-API-Key: $TTH_API_KEY" \
-H "Idempotency-Key: erp-import-2026-09" \
-H "Content-Type: application/json" \
-d '{
"items": [
{"id": "SKU-001", "content": "Bluetooth-Kopfhörer mit aktiver Geräuschunterdrückung"},
{"id": "SKU-002", "content": "Kreiselpumpe aus Edelstahl für Lebensmittel"}
],
"analysis_mode": "operational",
"locale": "de"
}'Die Erstellung gibt 202 Accepted zurück. Eine Wiederholung desselben Inhalts mit demselben Idempotency-Key gibt den vorhandenen Batch mit 200 OK zurück, ohne doppelte Verarbeitung oder Abrechnung.
Ergebnisse verfolgen und abrufen
Fragen Sie den Batch alle 10 Sekunden ab. Setzen Sie für einen Batch mit 1.000 Zeilen keine globale Frist von 600 Sekunden.
import os
import time
import httpx
batch_id = "f1e2d3c4-b5a6-7890-abcd-ef1234567890"
headers = {"X-API-Key": os.environ["TTH_API_KEY"]}
with httpx.Client(base_url="https://api.thetradehub.eu", headers=headers, timeout=30) as client:
while True:
response = client.get(f"/v1/classify/batch/{batch_id}")
response.raise_for_status()
batch = response.json()
print(batch["status"], batch["completed"], batch["failed"], batch["total"])
if batch["status"] in ("completed", "failed"):
break
time.sleep(10)
for item in batch.get("items", []):
if item["status"] == "completed":
print(item["id"], item["result"]["classification"]["recommended_code"])
else:
print(item["id"], item["status"], item.get("error"))| Ebene | Status |
|---|---|
| Übergeordneter Batch | pending, processing, completed, failed |
| Zeile | completed, failed, timeout |
Ein completed-Batch kann fehlgeschlagene Zeilen enthalten. Prüfen Sie immer die Zähler completed und failed und danach items.
Nur fehlgeschlagene Zeilen wiederholen
Erstellen Sie einen neuen Batch, der nur Zeilen mit dem Status failed oder timeout enthält. Behalten Sie deren ursprüngliche id und Nutzdaten bei und verwenden Sie einen neuen Batch-Idempotency-Key. Gültige Ergebnisse des ersten Batches bleiben verfügbar und werden nicht erneut abgerechnet.
Beachten Sie bei 429 den Header Retry-After. Wiederholen Sie 502, 503 oder 504 mit zunehmender Wartezeit. Verwenden Sie dabei für dieselbe Erstellungsanfrage denselben ursprünglichen Idempotency-Key.
Last updated on