AlfyChat
Langage :

Erreurs & Rate Limits

Référence des codes d'erreur et stratégies de gestion.

Codes HTTP
200OKRequête réussie
201CreatedRessource créée
400Bad RequestDonnées invalides/manquantes
401UnauthorizedToken invalide ou absenting
403ForbiddenPermissions insuffisantes
404Not FoundRessource introuvable
429Too Many RequestsRate limit atteint
500Internal Server ErrorErreur serveur
502Bad GatewayMicroservice indisponible

Rate limits

Global100 req / 60s
POST /messages5 msg / 5s par channel
PATCH /bots/:id2 req / 10s
POST /bots/:id/regenerate-token1 req / 60s

Gestion 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();
}