L'expertise du SMS A2P
en Côte d'Ivoire

Assurez la délivrabilité de vos messages critiques grâce à notre double infrastructure réseau locale et profitez des tarifs les plus compétitifs du marché.

Une tarification transparente et dégressive

Offre Business

Idéal pour les PME en croissance.

10 FCFA TTC / SMS

Condition d'accès :

Dès 10 000 FCFA TTC d'achat

Meilleur Tarif

Offre Corporate

Pour les campagnes à fort volume.

8.8 FCFA TTC / SMS

Condition d'accès :

Dès 100 000 FCFA TTC d'achat

International

Connectivité globale hors Côte d'Ivoire.

Haute Disponibilité : 02 Routes Locales Directes

"La continuité de votre service est notre priorité absolue."

Contrairement aux solutions classiques, HubSMS opère via deux routes locales distinctes. Cette architecture permet une utilisation concomitante des canaux de diffusion, garantissant une transmission fluide vers les trois opérateurs de téléphonie en Côte d'Ivoire, même en cas de congestion réseau.

Redondance Active

Basculement intelligent entre les routes pour une latence zéro.

100% Disponibilité Routes

Accès Plateforme

Gérez vos envois et suivez vos statistiques

📡 Documentation API

Intégrez notre API d’envoi de SMS dans vos applications ou systèmes tiers.

✅ Authentification sécurisée ✅ Support JSON & FormData ✅ Suivi des messages ✅ Gestion des crédits ✅ Pagination des résultats
📤 Envoi de SMS

Endpoint

GET / POST https://hubsms.net/pages/api/smsfree.php

Cet endpoint permet d'envoyer un ou plusieurs SMS (format JSON ou FormData).

Paramètres

NomDescriptionTypeObligatoireExemple
tokenToken de sécuritéstringOuiabc123def456
senderNom de l'expéditeurstringOuiTEST
contact ou mobile1Numéro (ou liste séparée par ,)stringOui2250700000000
message ou texte1Texte du SMSstringOuiBonjour, ceci est un test
remoteidVotre identifiant métier de suivistringNon12345
unicode0 ou 1 (accepte caractères spéciaux, 70 caractères max par SMS)intNon1

Exemple JSON (envoi multiple)

[
  {
    "message": "Bonjour, ceci est un test",
    "contact": "2250700000000",
    "remoteid": "12345"
  },
  {
    "message": "Deuxième message",
    "contact": "2250700000001",
    "remoteid": "12346"
  }
]

Réponses

Succès :

{
  "success": true,
  "code": 200,
  "details": {
    "msgid": "6eb7c760-cbde-448c-a83c-e3d4b6257781",
    "message": "ceci est un test",
    "nombre_sms": "1",
    "nombre_destinataires": "1",
    "contacts_echec": "",
    "date_envoi": "2025-12-15 20:45:48",
    "nouveau_solde": "3919",
    "operateurs_cibles": "orange",
    "sender": "TEST",
    "remoteid": ""
  }
}

Erreur :

{
  "success": false,
  "error": "Solde insuffisant",
  "details": "Code 104"
}

Codes d'erreur

CodeMessageDescription
200SMS envoyé(s) avec succèsSMS envoyé(s) avec succès
400Paramètres manquantsParamètres manquants ou invalides
401Échec d'authentificationÉchec d'authentification
404Sender non autoriséSender non activé ou inexistant
405Méthode non autoriséeMéthode HTTP non supportée
331Service temporairement indisponibleService temporairement indisponible
356Aucun contact valideAucun contact valide
357Contact expéditeur invalideContact expéditeur invalide
538Route indisponibleRoute indisponible
104Solde insuffisantAchetez plus de crédits
334Soumission échouéeSoumission échouée
📨 Suivi des envois (DLR)

Endpoint

GET / POST https://hubsms.net/pages/api/dlr.php

Consultez l’état d’un ou plusieurs envois. Supporte la recherche par msgid (résultat unique) ou par plage de dates (résultats paginés).

Paramètres

NomDescriptionTypeObligatoireExemple
tokenToken de sécuritéstringOuiabc123def456
senderNom de l'expéditeurstringOuiTEST
msgidIdentifiant unique du message (UUID)stringNon*6eb7c760-cbde-448c-a83c-e3d4b6257781
date_beginDate de début (format aaaa-mm-jj-hh-ii)stringNon*2026-05-24-23-20
date_endDate de fin (format aaaa-mm-jj-hh-ii)stringNon*2026-05-25-23-59
pageNuméro de page (défaut : 1, 10 résultats/page)intNon2

* Au moins un critère (msgid, date_begin ou date_end) est requis. Si msgid est fourni, les dates sont ignorées et la pagination n’est pas appliquée.

Exemples

1. Recherche par msgid (unique) :

GET /dlr.php?token=abc123&sender=TEST&msgid=6eb7c760-cbde-448c-a83c-e3d4b6257781

2. Recherche par plage de dates (page 1) :

GET /dlr.php?token=abc123&sender=TEST&date_begin=2026-05-24-00-00&date_end=2026-05-24-23-59&page=1

3. Recherche par date début uniquement :

GET /dlr.php?token=abc123&sender=TEST&date_begin=2026-05-24-00-00

4. Recherche par date fin uniquement :

GET /dlr.php?token=abc123&sender=TEST&date_end=2026-05-24-23-59

Réponses

Succès – recherche par msgid :

{
  "success": true,
  "code": 200,
  "details": {
    "msgid": "6eb7c760-cbde-448c-a83c-e3d4b6257781",
    "message": "Bonjour, ceci est un test",
    "nombre_sms": "1",
    "nombre_destinataires": "1",
    "contacts_echec": "",
    "date_envoi": "2026-05-24 23:20:00",
    "nouveau_solde": "3919",
    "operateurs_cibles": "orange",
    "sender": "TEST",
    "remoteid": "12345"
  }
}

Succès – recherche par dates (liste paginée) :

{
  "success": true,
  "code": 200,
  "page": 1,
  "limit": 10,
  "total": 15,
  "total_pages": 2,
  "envois": [
    {
      "msgid": "6eb7c760-cbde-448c-a83c-e3d4b6257781",
      "message": "Bonjour, ceci est un test",
      "contact": "2250700000000",
      "sms_count": "1",
      "date_envoi": "2026-05-24 23:20:00",
      "statut": "200",
      "contacts_echec": "",
      "operateurs_cibles": "orange",
      "sender": "TEST"
    }
  ]
}

Codes d'erreur (DLR)

Code HTTPMessageDescription
400Paramètres manquants ou incorrectsToken/sender absent, date mal formatée, ou aucun critère fourni
401Échec AuthentificationToken invalide ou expiré
404Sender non autoriséExpéditeur non activé ou inexistant
405Méthode non autoriséeUtilisez GET ou POST

Exemple d'erreur (date incorrecte) :

{
  "success": false,
  "error": "400",
  "details": "Paramètre date_begin incorrecte. Format attendu : aaaa-mm-jj-hh-ii (ex: 2025-01-15-14-30)"
}

Exemple d'erreur (aucun critère) :

{
  "success": false,
  "error": "400",
  "details": "Au moins un critère de recherche est requis : msgid, date_begin ou date_end"
}

Pagination

Lors d'une recherche par dates, les résultats sont limités à 10 enregistrements par page. Utilisez le paramètre page pour naviguer. Si la page demandée dépasse le nombre total de pages, la dernière page est retournée automatiquement. Le nombre total d'enregistrements et le nombre de pages sont inclus dans la réponse.