{"info":{"name":"SMSGET API","description":"API SMSGET - Envoi de SMS en R\u00e9publique D\u00e9mocratique du Congo","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json","version":"1.0.0"},"variable":[{"key":"baseUrl","value":"https:\/\/smsget.tech\/api\/v1","type":"string"},{"key":"apiKey","value":"sk_xxxxxxxxxx","type":"string"},{"key":"apiSecret","value":"ss_xxxxxxxxxxxxxxxxxxxx","type":"string"},{"key":"token","value":"","type":"string"},{"key":"senderName","value":"SMSGET","type":"string"}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{token}}","type":"string"}]},"item":[{"name":"\ud83d\udd10 Authentification","item":[{"name":"1. Login avec cl\u00e9 API","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"api_key\": \"{{apiKey}}\",\n    \"api_secret\": \"{{apiSecret}}\"\n}"},"url":{"raw":"{{baseUrl}}\/auth\/login","host":["{{baseUrl}}"],"path":["auth","login"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"message\": \"Authentification r\\u00e9ussie\",\n    \"data\": {\n        \"token\": \"1|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n        \"user\": {\n            \"id\": 1,\n            \"name\": \"John Doe\",\n            \"email\": \"john@example.com\",\n            \"company\": \"Ma Soci\\u00e9t\\u00e9\"\n        },\n        \"api_key\": \"sk_xxxxxxxxxx\"\n    }\n}"},{"name":"\u274c Erreur - Cl\u00e9 API invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Cl\\u00e9 API invalide ou r\\u00e9voqu\\u00e9e\",\n    \"code\": \"INVALID_API_KEY\"\n}"},{"name":"\u274c Erreur - Cl\u00e9 API manquante","status":"Bad Request","code":400,"body":"{\n    \"success\": false,\n    \"error\": \"Validation \\u00e9chou\\u00e9e\",\n    \"code\": \"VALIDATION_ERROR\",\n    \"errors\": {\n        \"api_key\": [\n            \"Le champ api_key est requis\"\n        ],\n        \"api_secret\": [\n            \"Le champ api_secret est requis\"\n        ]\n    }\n}"},{"name":"\u274c Erreur - Client inactif","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Compte client inactif\",\n    \"code\": \"CLIENT_INACTIVE\"\n}"},{"name":"\u274c Erreur - Utilisateur inactif","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Utilisateur inactif\",\n    \"code\": \"USER_INACTIVE\"\n}"}]},{"name":"2. Voir mon profil","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/auth\/profile","host":["{{baseUrl}}"],"path":["auth","profile"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"user\": {\n            \"id\": 1,\n            \"name\": \"John Doe\",\n            \"email\": \"john@example.com\",\n            \"phone\": \"+243843301387\"\n        },\n        \"client\": {\n            \"id\": 1,\n            \"company_name\": \"Ma Soci\\u00e9t\\u00e9\",\n            \"status\": \"active\"\n        }\n    }\n}"},{"name":"\u274c Erreur - Token invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Token d'authentification invalide\",\n    \"code\": \"INVALID_TOKEN\"\n}"}]},{"name":"3. D\u00e9connexion","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/auth\/logout","host":["{{baseUrl}}"],"path":["auth","logout"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"message\": \"D\\u00e9connexion r\\u00e9ussie\"\n}"}]}]},{"name":"\ud83d\udcf1 SMS","item":[{"name":"1. Envoyer un SMS","request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Content-Type","value":"application\/json","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"recipient\": \"+243843301387\",\n    \"message\": \"Bonjour ! Ceci est un test depuis Postman.\",\n    \"sender_name\": \"{{senderName}}\"\n}"},"url":{"raw":"{{baseUrl}}\/sms\/send","host":["{{baseUrl}}"],"path":["sms","send"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"message\": \"SMS envoy\\u00e9 avec succ\\u00e8s\",\n    \"data\": {\n        \"message_id\": \"msg_abc123\",\n        \"recipient\": \"+243843301387\",\n        \"sender_name\": \"SMSGET\",\n        \"units_used\": 1,\n        \"balance_remaining\": 999,\n        \"status\": \"sent\"\n    }\n}"},{"name":"\u274c Erreur - Solde insuffisant","status":"Payment Required","code":402,"body":"{\n    \"success\": false,\n    \"error\": \"Solde SMS insuffisant\",\n    \"code\": \"INSUFFICIENT_BALANCE\",\n    \"balance\": 5,\n    \"required\": 10\n}"},{"name":"\u274c Erreur - Token invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Token d'authentification invalide\",\n    \"code\": \"INVALID_TOKEN\"\n}"},{"name":"\u274c Erreur - Validation","status":"Bad Request","code":400,"body":"{\n    \"success\": false,\n    \"error\": \"Validation \\u00e9chou\\u00e9e\",\n    \"code\": \"VALIDATION_ERROR\",\n    \"errors\": {\n        \"recipient\": [\n            \"Le champ recipient est requis\"\n        ],\n        \"message\": [\n            \"Le champ message est requis\"\n        ]\n    }\n}"},{"name":"\u274c Erreur - Sender Name non approuv\u00e9","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Sender Name non approuv\\u00e9. Veuillez attendre l'approbation.\",\n    \"code\": \"SENDER_NAME_NOT_APPROVED\",\n    \"sender_name\": \"MONSENDER\",\n    \"status\": \"pending\"\n}"},{"name":"\u274c Erreur - Sender Name non autoris\u00e9","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Sender Name non autoris\\u00e9. Veuillez demander l'ajout de ce Sender Name.\",\n    \"code\": \"SENDER_NAME_NOT_AUTHORIZED\",\n    \"sender_name\": \"NON_AUTORISE\"\n}"},{"name":"\u274c Erreur - Sender Name format invalide","status":"Bad Request","code":400,"body":"{\n    \"success\": false,\n    \"error\": \"Validation \\u00e9chou\\u00e9e\",\n    \"code\": \"VALIDATION_ERROR\",\n    \"errors\": {\n        \"sender_name\": [\n            \"Le Sender Name doit contenir uniquement des lettres, chiffres et espaces (max 11 caract\\u00e8res)\"\n        ]\n    }\n}"},{"name":"\u274c Erreur - Message trop long","status":"Bad Request","code":400,"body":"{\n    \"success\": false,\n    \"error\": \"Validation \\u00e9chou\\u00e9e\",\n    \"code\": \"VALIDATION_ERROR\",\n    \"errors\": {\n        \"message\": [\n            \"Le message ne doit pas d\\u00e9passer 640 caract\\u00e8res\"\n        ]\n    }\n}"},{"name":"\u274c Erreur - Limite quotidienne d\u00e9pass\u00e9e","status":"Too Many Requests","code":429,"body":"{\n    \"success\": false,\n    \"error\": \"Limite quotidienne d\\u00e9pass\\u00e9e\",\n    \"code\": \"DAILY_LIMIT_EXCEEDED\",\n    \"limit\": 10000\n}"},{"name":"\u274c Erreur - Limite mensuelle d\u00e9pass\u00e9e","status":"Too Many Requests","code":429,"body":"{\n    \"success\": false,\n    \"error\": \"Limite mensuelle d\\u00e9pass\\u00e9e\",\n    \"code\": \"MONTHLY_LIMIT_EXCEEDED\",\n    \"limit\": 100000\n}"},{"name":"\u274c Erreur - Client inactif","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Compte client inactif\",\n    \"code\": \"CLIENT_INACTIVE\"\n}"},{"name":"\u274c Erreur - Aucune cl\u00e9 API active","status":"Forbidden","code":403,"body":"{\n    \"success\": false,\n    \"error\": \"Aucune cl\\u00e9 API active\",\n    \"code\": \"NO_ACTIVE_API_KEY\"\n}"},{"name":"\u274c Erreur - Envoi Orange \u00e9chou\u00e9","status":"Internal Server Error","code":500,"body":"{\n    \"success\": false,\n    \"error\": \"Erreur lors de l'envoi: Le service Orange est temporairement indisponible\",\n    \"code\": \"SEND_ERROR\"\n}"},{"name":"\u274c Erreur - Num\u00e9ro invalide","status":"Bad Request","code":400,"body":"{\n    \"success\": false,\n    \"error\": \"Validation \\u00e9chou\\u00e9e\",\n    \"code\": \"VALIDATION_ERROR\",\n    \"errors\": {\n        \"recipient\": [\n            \"Le num\\u00e9ro de t\\u00e9l\\u00e9phone doit \\u00eatre au format international (+243...)\"\n        ]\n    }\n}"}]},{"name":"2. Historique des SMS","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/sms\/history?limit=10&page=1","host":["{{baseUrl}}"],"path":["sms","history"],"query":[{"key":"limit","value":"10","description":"Nombre de r\u00e9sultats (d\u00e9faut: 20, max: 100)"},{"key":"page","value":"1","description":"Num\u00e9ro de page pour la pagination"},{"key":"status","value":"","description":"Filtrer par statut (sent, delivered, failed)","disabled":true}]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"current_page\": 1,\n        \"data\": [\n            {\n                \"id\": 1,\n                \"recipient\": \"+243843301387\",\n                \"message\": \"Bonjour test\",\n                \"sender_name\": \"SMSGET\",\n                \"status\": \"sent\",\n                \"units_used\": 1,\n                \"created_at\": \"2026-07-31T15:00:00Z\"\n            },\n            {\n                \"id\": 2,\n                \"recipient\": \"+243843301388\",\n                \"message\": \"Deuxi\\u00e8me test\",\n                \"sender_name\": \"SMSGET\",\n                \"status\": \"delivered\",\n                \"units_used\": 1,\n                \"created_at\": \"2026-07-31T14:30:00Z\"\n            }\n        ],\n        \"total\": 2,\n        \"per_page\": 10,\n        \"last_page\": 1\n    }\n}"},{"name":"\u274c Erreur - Token invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Token d'authentification invalide\",\n    \"code\": \"INVALID_TOKEN\"\n}"}]},{"name":"3. Voir un SMS sp\u00e9cifique","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/sms\/1","host":["{{baseUrl}}"],"path":["sms","1"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"recipient\": \"+243843301387\",\n        \"message\": \"Bonjour test\",\n        \"sender_name\": \"SMSGET\",\n        \"status\": \"sent\",\n        \"units_used\": 1,\n        \"created_at\": \"2026-07-31T15:00:00Z\",\n        \"sent_at\": \"2026-07-31T15:00:05Z\",\n        \"delivered_at\": \"2026-07-31T15:00:10Z\"\n    }\n}"},{"name":"\u274c Erreur - SMS non trouv\u00e9","status":"Not Found","code":404,"body":"{\n    \"success\": false,\n    \"error\": \"SMS non trouv\\u00e9\",\n    \"code\": \"NOT_FOUND\"\n}"},{"name":"\u274c Erreur - Token invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Token d'authentification invalide\",\n    \"code\": \"INVALID_TOKEN\"\n}"}]}]},{"name":"\ud83d\udcb0 Solde","item":[{"name":"1. V\u00e9rifier le solde","request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"},{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/balance","host":["{{baseUrl}}"],"path":["balance"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"success\": true,\n    \"data\": {\n        \"balance\": 999,\n        \"total_purchased\": 1000,\n        \"total_used\": 1,\n        \"currency\": \"SMS\"\n    }\n}"},{"name":"\u274c Erreur - Token invalide","status":"Unauthorized","code":401,"body":"{\n    \"success\": false,\n    \"error\": \"Token d'authentification invalide\",\n    \"code\": \"INVALID_TOKEN\"\n}"},{"name":"\u274c Erreur - Client non trouv\u00e9","status":"Not Found","code":404,"body":"{\n    \"success\": false,\n    \"error\": \"Client non trouv\\u00e9\",\n    \"code\": \"CLIENT_NOT_FOUND\"\n}"}]}]},{"name":"\ud83d\udd0d Sant\u00e9","item":[{"name":"V\u00e9rifier le statut de l'API","request":{"method":"GET","header":[{"key":"Accept","value":"application\/json","type":"text"}],"url":{"raw":"{{baseUrl}}\/health","host":["{{baseUrl}}"],"path":["health"]}},"response":[{"name":"\u2705 Succ\u00e8s","status":"OK","code":200,"body":"{\n    \"status\": \"ok\",\n    \"message\": \"API SMSGET est op\\u00e9rationnelle\",\n    \"version\": \"1.0.0\",\n    \"timestamp\": \"2026-10-30T14:06:03+00:00\"\n}"}]}]}]}