Skip to main content

API Templates SMS

Endpoints pour la gestion des modeles de messages SMS.

Endpoints​

MethodeEndpointDescription
GET/api/sms-templatesListe des templates
POST/api/sms-templatesCreer un template
GET/api/sms-templates/{id}Detail d'un template
PUT/api/sms-templates/{id}Modifier un template
DELETE/api/sms-templates/{id}Supprimer un template

Liste des templates​

GET /api/sms-templates

Parametres​

ParametreTypeDescription
typeEvenementstringFiltrer par type
languestringFiltrer par langue
actifboolFiltrer par statut

Exemple​

curl "https://sig.example.com/api/sms-templates?langue=cr&actif=true" \
-H "Authorization: Bearer TOKEN"

Reponse​

{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"typeEvenement": "rappel_general",
"codLangue": "cr",
"contenu": "{nom}, lembra di kumpri bo paiementu na {date}.",
"actif": true,
"createdAt": "2026-01-15T10:00:00+00:00"
}
]
}

Creer un template​

POST /api/sms-templates

Corps de requete​

{
"typeEvenement": "rappel_general",
"codLangue": "cr",
"contenu": "{nom}, lembra di kumpri bo paiementu na {date}.",
"actif": true
}

Champs​

ChampTypeObligatoireDescription
typeEvenementstringOuiType d'evenement
codLanguestringOuiCode langue (pt, cr, ff, etc.)
contenustringOuiContenu du message avec variables
actifboolNonActif par defaut

Types d'evenement valides​

  • rappel_general
  • information
  • sensibilisation
  • convocation
  • paiement_success
  • paiement_failed
  • paiement_pending
  • paiement_reminder

Langues valides​

CodeLangue
ptPortugues
crCrioulo
frFrancais
ffFula (Pulaar)
balBalanta
manMandinka
mjcManjaco
pboPapel
flaFelupe
bjgBijago
knfMancanha

Variables disponibles​

VariableDescription
{nom}Nom du destinataire
{montant}Montant du transfert
{reference}Reference transaction
{date}Date de l'evenement
{cycle}Nom du cycle
{programme}Nom du programme

Reponse​

{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"typeEvenement": "rappel_general",
"codLangue": "cr",
"contenu": "{nom}, lembra di kumpri bo paiementu na {date}.",
"actif": true,
"createdAt": "2026-03-15T10:30:00+00:00"
}
}

Erreurs​

CodeDescription
409Template existe deja pour ce type+langue
422Langue ou type invalide

Detail d'un template​

GET /api/sms-templates/{id}

Reponse​

{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"typeEvenement": "rappel_general",
"codLangue": "cr",
"contenu": "{nom}, lembra di kumpri bo paiementu na {date}.",
"actif": true,
"createdAt": "2026-01-15T10:00:00+00:00",
"updatedAt": "2026-03-10T14:30:00+00:00"
}
}

Modifier un template​

PUT /api/sms-templates/{id}

Corps de requete​

{
"contenu": "{nom}, bo paiementu di {montant} sta pronto pa kobri. Data: {date}.",
"actif": true
}

Champs modifiables​

ChampTypeDescription
contenustringNouveau contenu
actifboolStatut actif/inactif
note

Le type d'evenement et la langue ne sont pas modifiables. Creez un nouveau template si necessaire.

Reponse​

{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"typeEvenement": "rappel_general",
"codLangue": "cr",
"contenu": "{nom}, bo paiementu di {montant} sta pronto pa kobri. Data: {date}.",
"actif": true,
"updatedAt": "2026-03-15T11:00:00+00:00"
}
}

Supprimer un template​

DELETE /api/sms-templates/{id}

Reponse​

{
"success": true,
"message": "Template supprime"
}

Erreurs​

CodeDescription
404Template non trouve
409Template utilise par des campagnes

Prévisualiser un template​

POST /api/sms-templates/{id}/preview

Remplace les variables du modèle par des valeurs de test. Toutes sont optionnelles ; une valeur absente est remplacée par un exemple.

Corps de requete​

{
"nom": "Beneficiaire Exemple",
"montant": "50 000 FCFA",
"reference": "TXN-2026-000001",
"date": "15/03/2026",
"cycle": "Transfert mars 2026",
"programme": "Programme exemple"
}

Reponse​

{
"success": true,
"data": {
"contenuOriginal": "{nom}, bo pagamentu di {montant} sta pronto. Data: {date}.",
"contenuRendu": "Beneficiaire Exemple, bo pagamentu di 50 000 FCFA sta pronto. Data: 15/03/2026.",
"variables": { "{nom}": "Beneficiaire Exemple", "{montant}": "50 000 FCFA", "…": "…" }
}
}

Autres actions​

MéthodeEndpointDescription
POST/api/sms-templates/{id}/toggleActive ou désactive le modèle
POST/api/sms-templates/{id}/translateTraduit le modèle vers les autres langues
GET/api/sms-templates/translation-infoLangues et état de la traduction
GET/api/sms-templates/metadataTypes, langues et variables disponibles
POST/api/sms-templates/init-defaultsCrée les modèles par défaut

Codes d'erreur​

CodeDescription
400Requete invalide
401Non authentifie
403Permission refusee
404Template non trouve
409Conflit (doublon ou en cours d'utilisation)
422Erreur de validation