curl --request POST \
--url https://api.bizconnectpay.com/api/v1/notifications/messages \
--header 'Authorization: Bearer <application_access_token>' \
--header 'Content-Type: application/json' \
--data '{
"channels": ["EMAIL", "SMS", "WHATSAPP"],
"recipients": {
"EMAIL": "client@example.com",
"SMS": "+237699001122",
"WHATSAPP": "+237699001122"
},
"template_code": "PAYMENT_SUCCESS",
"language": "fr",
"variables": {
"customer_name": "Awa",
"amount": "25 000",
"currency": "XOF",
"reference": "CMD-1042"
}
}'
{
"success": true,
"data": {
"status": "sent",
"messages": [
{"id": "b304c0ec-6949-4171-8bc9-57ef9a9870be", "channel": "EMAIL", "recipient_address": "client@example.com", "status": "sent", "provider": "SMTP"},
{"id": "2c4d0981-297f-41c6-9ad7-f2c8715c18d6", "channel": "SMS", "recipient_address": "+237699001122", "status": "sent", "provider": "HTTP_SMS"},
{"id": "cd297fe7-066b-4626-bf10-304b93e2c52b", "channel": "WHATSAPP", "recipient_address": "+237699001122", "status": "sent", "provider": "BAILEYS_WHATSAPP"}
]
},
"meta": {
"correlation_id": "0d207567-9d7a-4221-a537-8ffb64a2f8b5"
}
}
Notifications
Envoyer une notification
Envoyez une notification par e-mail, SMS et/ou WhatsApp via un endpoint unique. Scope requis : notifications.write.
POST
/
notifications
/
messages
curl --request POST \
--url https://api.bizconnectpay.com/api/v1/notifications/messages \
--header 'Authorization: Bearer <application_access_token>' \
--header 'Content-Type: application/json' \
--data '{
"channels": ["EMAIL", "SMS", "WHATSAPP"],
"recipients": {
"EMAIL": "client@example.com",
"SMS": "+237699001122",
"WHATSAPP": "+237699001122"
},
"template_code": "PAYMENT_SUCCESS",
"language": "fr",
"variables": {
"customer_name": "Awa",
"amount": "25 000",
"currency": "XOF",
"reference": "CMD-1042"
}
}'
{
"success": true,
"data": {
"status": "sent",
"messages": [
{"id": "b304c0ec-6949-4171-8bc9-57ef9a9870be", "channel": "EMAIL", "recipient_address": "client@example.com", "status": "sent", "provider": "SMTP"},
{"id": "2c4d0981-297f-41c6-9ad7-f2c8715c18d6", "channel": "SMS", "recipient_address": "+237699001122", "status": "sent", "provider": "HTTP_SMS"},
{"id": "cd297fe7-066b-4626-bf10-304b93e2c52b", "channel": "WHATSAPP", "recipient_address": "+237699001122", "status": "sent", "provider": "BAILEYS_WHATSAPP"}
]
},
"meta": {
"correlation_id": "0d207567-9d7a-4221-a537-8ffb64a2f8b5"
}
}
L’envoi utilise un endpoint unique. Passez
Pour conserver l’ancien envoi sans modèle, omettez
Chaque canal est livré et journalisé séparément. Si un canal échoue, la réponse
channels pour diffuser dans une seule requête vers plusieurs canaux et recipients pour fournir une adresse distincte par canal. Un abonnement actif et les quotas du forfait s’appliquent à chaque canal.
Vous pouvez envoyer votre propre modèle marchand, au lieu du message par défaut de BizConnectPay, en créant d’abord un modèle avec l’API des modèles de notification. À l’envoi, fournissez template_code, language et les variables correspondantes. Pour diffuser sur plusieurs canaux, créez un modèle avec le même code pour chacun d’eux. Chaque message reprend le contenu du modèle associé à son canal. Les e-mails affichent le nom de marque configuré sur le modèle ; l’adresse d’expédition reste celle configurée par la plateforme.
Protection anti-bannissement WhatsApp
Les envois WhatsApp s’appuient sur notre passerelle Baileys intégrée et appliquent des sécurités strictes :- Délais aléatoires gaussiens de 2s à 8s (distribution Box-Muller).
- Simulation de saisie humaine (
composing/paused). - Prise en charge automatique des mots-clés d’opt-out
STOPet d’opt-inSTART. - Mise en liste noire temporaire de 7 jours pour tout numéro non joignable afin de préserver la réputation de l’expéditeur.
curl --request POST \
--url https://api.bizconnectpay.com/api/v1/notifications/messages \
--header 'Authorization: Bearer <application_access_token>' \
--header 'Content-Type: application/json' \
--data '{
"channels": ["EMAIL", "SMS", "WHATSAPP"],
"recipients": {
"EMAIL": "client@example.com",
"SMS": "+237699001122",
"WHATSAPP": "+237699001122"
},
"template_code": "PAYMENT_SUCCESS",
"language": "fr",
"variables": {
"customer_name": "Awa",
"amount": "25 000",
"currency": "XOF",
"reference": "CMD-1042"
}
}'
template_code et envoyez directement message et, pour l’e-mail, subject.
{
"success": true,
"data": {
"status": "sent",
"messages": [
{"id": "b304c0ec-6949-4171-8bc9-57ef9a9870be", "channel": "EMAIL", "recipient_address": "client@example.com", "status": "sent", "provider": "SMTP"},
{"id": "2c4d0981-297f-41c6-9ad7-f2c8715c18d6", "channel": "SMS", "recipient_address": "+237699001122", "status": "sent", "provider": "HTTP_SMS"},
{"id": "cd297fe7-066b-4626-bf10-304b93e2c52b", "channel": "WHATSAPP", "recipient_address": "+237699001122", "status": "sent", "provider": "BAILEYS_WHATSAPP"}
]
},
"meta": {
"correlation_id": "0d207567-9d7a-4221-a537-8ffb64a2f8b5"
}
}
207 Multi-Status contient le résultat de chacun ; les autres canaux sont tout de même traités. Pour une notification sur un seul canal, utilisez channel et recipient_address au lieu de channels et recipients.Authorizations
Body
application/json
- Option 1
- Option 2
