Langage :
Erreurs & Rate Limits
Référence des codes d'erreur et stratégies de gestion.
Codes HTTP
200OKRequête réussie201CreatedRessource créée400Bad RequestDonnées invalides/manquantes401UnauthorizedToken invalide ou absenting403ForbiddenPermissions insuffisantes404Not FoundRessource introuvable429Too Many RequestsRate limit atteint500Internal Server ErrorErreur serveur502Bad GatewayMicroservice indisponibleRate limits
Global100 req / 60sPOST /messages5 msg / 5s par channelPATCH /bots/:id2 req / 10sPOST /bots/:id/regenerate-token1 req / 60sGestion des erreurs
Wrapper API avec retry sur rate limit
js
async function apiCall(path, options = {}) {
const res = await fetch(`https://gateway.alfychat.app/api${path}`, {
headers: { 'Authorization': `Bot ${process.env.BOT_TOKEN}` },
...options,
});
if (res.status === 429) {
const { retryAfter } = await res.json();
console.warn(`Rate limit atteint, retry dans ${retryAfter}s`);
await new Promise(r => setTimeout(r, retryAfter * 1000));
return apiCall(path, options); // retry
}
if (!res.ok) {
const err = await res.json();
throw new Error(`API Error ${res.status}: ${err.error}`);
}
return res.json();
}