Retour aux docs APIIntegration cookbook
Exemples prêts à brancher
Curl pour le diagnostic rapide, SDK JavaScript pour un backend Node propre. Les exemples suivent les routes réellement exposées par la plateforme publique.
JavaScript SDK
Exemple Node.js
import crypto from 'node:crypto';
import { CoussemaClient } from '@coussema/sdk-js';
const client = new CoussemaClient({
baseUrl: process.env.COUSSEMA_BASE_URL ?? 'https://api.coussema.com',
apiKey: process.env.COUSSEMA_API_KEY ?? '',
});
const sms = await client.sendSms(
{
to: '243810000000',
message: 'Bonjour depuis Coussema.',
senderName: 'COUSSEMA',
},
{
idempotencyKey: crypto.randomUUID(),
requestId: 'docs-example-001',
}
);
const contacts = await client.listContacts({ limit: 20 });
console.log(sms.data.provider.messageId, contacts.data.items.length);Envoyer un SMS
Mutation idempotente minimale avec corrélation explicite et réponse traçable.
curl -X POST https://api.coussema.com/v1/sms/send \
-H 'Authorization: Bearer ck_live_xxx' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 7228b5c7-cb1d-43c0-8d68-2e9f68a5fba5' \
-H 'X-Request-Id: send-001' \
-d '{
"to": "243810000000",
"message": "Votre code est 482019",
"senderName": "COUSSEMA",
"clientReference": "order-482019"
}'Créer un contact
Le contact rejoint immédiatement le runtime partagé du dashboard et des campagnes.
curl -X POST https://api.coussema.com/v1/contacts \
-H 'Authorization: Bearer ck_live_xxx' \
-H 'Content-Type: application/json' \
-H 'X-Request-Id: contact-create-001' \
-d '{
"firstName": "Amina",
"lastName": "Mbayo",
"phoneNumber": "243810000000",
"tags": ["clients-vip", "kinshasa"]
}'Planifier une campagne
Le worker se charge ensuite du staging, des retries provider et des webhooks sortants.
curl -X POST https://api.coussema.com/v1/campaigns \
-H 'Authorization: Bearer ck_live_xxx' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: 26b7af09-c8b0-4b11-b0b5-99a3e2d82d90' \
-d '{
"name": "Lancement Avril",
"content": "Notre offre est disponible jusqu a dimanche.",
"senderName": "COUSSEMA",
"scheduledAt": "2026-04-10T08:00:00.000Z",
"recipients": [
"243810000000",
"243820000000"
]
}'Créer un webhook sortant
Le secret de signature est renvoyé une seule fois. Conservez-le immédiatement.
curl -X POST https://api.coussema.com/v1/webhooks \
-H 'Authorization: Bearer ck_live_xxx' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com/webhooks/coussema",
"subscribed_events": ["message.delivered", "message.failed"]
}'