Aller au contenu
Obtenir une clé

Démarrer

Réponses et erreurs

Toute réponse a l'une de deux formes. Testez `error.code`, jamais le texte.

Succès : data

HTTP

HTTP/1.1 200 OK{ "data": { "items": [ { "id": "9c1f…", "status": "open", "unreadCount": 2 } ], "nextCursor": "MjAyNi0wOS0xOFQw…", "hasMore": true }}

Refus : error

HTTP

HTTP/1.1 409 Conflict{ "error": { "status": 409, "code": "window_closed", "message": "The 24-hour customer service window is closed: only an approved template can be sent.", "detail": "…", "requestId": "a1b2c3d4" }}
  • code est stable et documenté plus bas. message est en anglais. detail porte la raison précise, parfois en français.
  • requestId identifie l'appel dans nos journaux et dans GET /api-requests : donnez-le si vous avez besoin d'aide.
  • Certains refus portent data avec plus de faits — template_holes_unfilled liste les trous non remplis dans data.issues.

Pagination

Les listes se paginent par curseur : passez limit, puis renvoyez nextCursor en cursor jusqu'à ce qu'il vaille null. Un curseur est opaque : ne le fabriquez pas.

Node.js

let cursordo { const url = new URL('https://nodium.io/api/v1/inbox/conversations') url.searchParams.set('limit', '100') if (cursor) url.searchParams.set('cursor', cursor) const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.NODIUM_KEY}` } }) const body = await res.json() if (body.error) throw new Error(`${body.error.code}: ${body.error.message}`) for (const conversation of body.data.items) handle(conversation) cursor = body.data.nextCursor} while (cursor)

Codes d'erreur