API Templates SMS
Endpoints pour la gestion des modeles de messages SMS.
Endpoints
| Methode | Endpoint | Description |
|---|---|---|
| GET | /api/sms-templates | Liste des templates |
| POST | /api/sms-templates | Creer 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
| Parametre | Type | Description |
|---|---|---|
typeEvenement | string | Filtrer par type |
langue | string | Filtrer par langue |
actif | bool | Filtrer par statut |
Exemple
curl "https://sig.ucp-pch.org/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
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
typeEvenement | string | Oui | Type d'evenement |
codLangue | string | Oui | Code langue (pt, cr, ff, etc.) |
contenu | string | Oui | Contenu du message avec variables |
actif | bool | Non | Actif par defaut |
Types d'evenement valides
rappel_generalinformationsensibilisationconvocationpaiement_successpaiement_failedpaiement_pendingpaiement_reminder
Langues valides
| Code | Langue |
|---|---|
pt | Portugues |
cr | Crioulo |
fr | Francais |
ff | Fula (Pulaar) |
bal | Balanta |
man | Mandinka |
mjc | Manjaco |
pbo | Papel |
fla | Felupe |
bjg | Bijago |
knf | Mancanha |
Variables disponibles
| Variable | Description |
|---|---|
{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
| Code | Description |
|---|---|
| 409 | Template existe deja pour ce type+langue |
| 422 | Langue 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
| Champ | Type | Description |
|---|---|---|
contenu | string | Nouveau contenu |
actif | bool | Statut actif/inactif |
remarque
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
| Code | Description |
|---|---|
| 404 | Template non trouve |
| 409 | Template utilise par des campagnes |
Tester un template
POST /api/sms-templates/{id}/render
Permet de tester le rendu d'un template avec des donnees de test.
Corps de requete
{
"variables": {
"nom": "Mamadou Diallo",
"montant": "50,000 GNF",
"date": "15/03/2026",
"reference": "TRF-2026-001"
}
}
Reponse
{
"success": true,
"data": {
"message": "Mamadou Diallo, bo paiementu di 50,000 GNF sta pronto pa kobri. Data: 15/03/2026.",
"longueur": 78,
"nbSms": 1
}
}
Codes d'erreur
| Code | Description |
|---|---|
| 400 | Requete invalide |
| 401 | Non authentifie |
| 403 | Permission refusee |
| 404 | Template non trouve |
| 409 | Conflit (doublon ou en cours d'utilisation) |
| 422 | Erreur de validation |
Permissions
| Endpoint | Permission |
|---|---|
| GET (lecture) | sms.templates_view |
| POST/PUT/DELETE | sms.templates_edit |