Request ID
Conservez les identifiants de suivi des Headers ou erreurs et préparez un diagnostic permettant de retrouver la requête.
Pourquoi conserver le Request ID
Le Request ID relie un appel API aux traces de traitement de la plateforme. En cas d’échec, de résultat inhabituel, de délai dépassé ou de question de facturation, il facilite l’identification sans transmettre tout le corps de requête.
Les noms de Headers peuvent varier selon le protocole, l’API ou la passerelle. Recherchez dans cet ordre :
x-request-id: REQUEST_ID
request-id: REQUEST_ID
x-oneapi-request-id: REQUEST_IDSe référer à la réponse réelle
Toutes les API et réponses ne fournissent pas tous ces Headers. Conservez le Request ID présent ; certaines erreurs le placent aussi dans leur corps.
Afficher les Headers avec cURL
Configurez la Base URL du site et la clé API dans un terminal fiable. -i affiche à la fois les Headers et le corps :
export AGTCLOUD_BASE_URL='https://api.agtcloud.cn/v1'
export AGTCLOUD_API_KEY='your-api-key'
curl -i "${AGTCLOUD_BASE_URL:?}/chat/completions" \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ${AGTCLOUD_API_KEY:?}" \
--data '{"model":"MODEL_ID","messages":[{"role":"user","content":"Bonjour"}]}'Ne partagez pas directement l’historique ou les captures contenant le Header Authorization complet.
Lire avec Python
import os
import requests
base_url = os.environ["AGTCLOUD_BASE_URL"]
api_key = os.environ["AGTCLOUD_API_KEY"]
response = requests.post(
f"{base_url}/chat/completions",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Bonjour"}],
},
timeout=60,
)
request_id_headers = (
"x-request-id",
"request-id",
"x-oneapi-request-id",
)
request_id = next(
(response.headers.get(name) for name in request_id_headers if response.headers.get(name)),
None,
)
print("request_id:", request_id)
print("status:", response.status_code)En production, limitez la longueur du corps consigné et expurgez les prompts, fichiers et données utilisateur.
Lire avec JavaScript
const response = await fetch(`${process.env.AGTCLOUD_BASE_URL}/chat/completions`, {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.AGTCLOUD_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'MODEL_ID',
messages: [{ role: 'user', content: 'Bonjour' }],
}),
});
const requestIdHeaderNames = [
'x-request-id',
'request-id',
'x-oneapi-request-id',
] as const;
const requestId =
requestIdHeaderNames
.map((name) => response.headers.get(name))
.find((value) => value !== null) ?? null;
console.log({ requestId, status: response.status });Cet exemple est réservé au serveur. Le navigateur ne doit pas détenir de clé API de longue durée.
Informations à fournir pour le diagnostic
| Information | Exemple | Nécessité |
|---|---|---|
| Request ID | REQUEST_ID | À fournir s’il est présent |
| Heure de requête | 2026-08-19 14:30 +08:00 | Oui |
| Method / Path | POST /v1/chat/completions | Oui |
| Identifiant du modèle | Valeur exacte après suppression des données sensibles | Oui |
| HTTP Status | 429 | Oui |
| Code et message bref | Sans données sensibles | Recommandé |
| SDK et version | Version du SDK openai | Si un SDK est utilisé |
Ne fournissez pas de clé complète, de Headers d’authentification, de données privées, de fichiers non expurgés ni de requêtes et réponses intégrales. Le Request ID n’est pas une clé API, mais ne le partagez que pour un diagnostic nécessaire.
Que faire sans Request ID
- Conservez tout de même l’heure, l’endpoint, le modèle, le statut et le corps de l’erreur ;
- Vérifiez que le proxy, le CDN ou le SDK ne supprime pas les Headers ;
- Pour le streaming, notez l’ouverture et la fermeture de la connexion ;
- Pour une tâche asynchrone, conservez aussi le Task ID ;
- Précisez que l’identifiant est absent des Headers et du corps de l’erreur.
Pages associées : Erreurs et dépannage · FAQ · Conventions générales