API RESTful v1.0 • Haute Disponibilité واجهة API RESTful v1.0 • جاهزية دائمة

Documentation Développeur & API توثيق المطورين وواجهة البرمجة (API)

Connectez vos applications, ERP, boutiques e-commerce ou systèmes CRM directement à l'infrastructure SMS de TextMe pour automatiser vos envois en toute fiabilité en Algérie. اربط تطبيقاتك، برامج التسيير ERP، متاجرك الإلكترونية أو أنظمة CRM مباشرة ببنية TextMe لأتمتة إرسال الرسائل النصية في الجزائر بكل موثوقية.

SERVICES FOURNIS VIA L'API الخدمات والحلول المقدمة عبر الـ API

Ce que notre API prend en charge أنواع الرسائل والعمليات المدعومة

📦

SMS Transactionnels رسائل المعاملات

Confirmations automatiques de commandes e-commerce, récapitulatifs d'achats, factures et avis de livraison. تأكيد فوري للطلبيات، إشعارات الدفع والفواتير، ومتابعة شحنات التوصيل.

⚡

Codes OTP & 2FA رموز التحقق OTP

Génération et expédition en moins de 3 secondes avec priorité maximale pour l'authentification et la réinitialisation. تسليم فوري في أقل من 3 ثوانٍ بأولوية قصوى لحماية الحسابات واسترجاع كلمات المرور.

⏰

Alertes & Rappels التنبيهات والمواعيد

Rappels de rendez-vous médicaux, échéances de paiement, avis administratifs et notifications système. تذكير بالمواعيد الطبية والمهنية، تنبيهات الاستحقاق وإشعارات الأنظمة اللحظية.

📊

Accusés DLR en direct تقارير التسليم المباشرة

Statuts de remise certifiés par Mobilis, Djezzy et Ooredoo pour chaque SMS envoyé en temps réel. تقارير تسليم معتمدة ومؤكدة عبر كافة شبكات الهاتف في الجزائر في الوقت الفعلي.

🌐 Base URL

https://textmedz.com/api

Toutes les requêtes doivent être sécurisées via HTTPS et authentifiées avec un Bearer Token. جميع الطلبات مؤمنة عبر HTTPS ومحمية بمفتاح Bearer Token.

🛡️ Masques & Sender IDs معرّفات الإرسال والتحقق

Chaque compte possède un ou plusieurs Sender IDs approuvés (max 11 caractères). Par défaut, l'API utilise automatiquement votre masque principal. Vous pouvez spécifier un autre masque via le paramètre sender_id. يمتلك كل حساب معرّفات إرسال معتمدة (11 حرفاً كحد أقصى). تستخدم المنصة معرّفك الافتراضي تلقائياً، كما يمكنك تعيين أي معرّف معتمد آخر عبر حقل sender_id.

🔒 Vérification stricte du Token : Tout envoi avec un Sender ID non approuvé ou non attribué à votre compte sera rejeté avec l'erreur INVALID_MASK sans impacter votre solde. 🔒 حماية وتدقيق مشدد للرمز : أي محاولة إرسال باسم مرسل غير معتمد لحسابك سيتم رفضها فوراً برمز INVALID_MASK دون اقتطاع أي رصيد.

🇩🇿 Formats acceptés تنسيق الأرقام الجزائرية

TextMe normalise automatiquement vos numéros de téléphone : تتعرف المنصة تلقائياً على مختلف صيغ الأرقام :

  • 0555 12 34 56 National
  • 555 12 34 56 9 chiffres
  • 213555 12 34 56 International

Prêt à tester ? جاهز للبدء والربط ؟

Créez votre compte en quelques secondes pour générer votre premier token d'accès. أنشئ حسابك خلال ثوانٍ واحصل على مفتاح الوصول الخاص بك.

POST

/api/sms/send

Envoi immédiat, par lot & multi-masques إرسال فردي أو جماعي بتخصيص المعرّف

Permet d'envoyer un ou plusieurs SMS avec routage instantané sur les 3 réseaux (Mobilis, Djezzy, Ooredoo). Prend en charge le masque par défaut automatique, la spécification d'un masque global ou un masque différent pour chaque destinataire. يتيح إرسال رسالة فردية أو مجموعة رسائل مع توجيه فوري عبر كافة شبكات الهاتف في الجزائر. يدعم استخدام المعرّف الافتراضي، أو تحديد معرّف عام للطلب، أو معرّف مخصص لكل رقم.

Paramètres de la requête : معايير الطلب :
Champ Type Requis Description
sender_id string (1-11 car.) Optionnel Masque global. Si omis, votre masque par défaut est utilisé.
messages array Requis Tableau de 1 à 1 000 messages.
messages[].to string Requis Numéro de téléphone du destinataire.
messages[].message string Requis Texte du SMS (GSM 7-bit ou Arabe Unicode).
messages[].sender_id string (1-11 car.) Optionnel Masque spécifique pour ce destinataire.
{
  "sender_id": "MYSHOP",
  "messages": [
    {
      "to": "0555123456",
      "message": "Bonjour Ahmed, votre commande #4829 est confirmée !"
    },
    {
      "to": "0661987654",
      "message": "Votre commande #4830 est en cours de livraison."
    }
  ]
}
{
  "messages": [
    {
      "to": "0555123456",
      "message": "Votre code OTP TextMe : 492041",
      "sender_id": "TextMe"
    },
    {
      "to": "0770987654",
      "message": "Alerte : Nouvelle connexion suspecte.",
      "sender_id": "ALERT"
    }
  ]
}
{
  "messages": [
    {
      "to": "0555123456",
      "message": "Message utilisant automatiquement votre masque par défaut."
    }
  ]
}
Succès (HTTP 200) :
{
  "success": true,
  "results": [
    {
      "to": "0555123456",
      "sender_id": "MYSHOP",
      "status": "sent",
      "message_id": "icosnet-msg-98124"
    }
  ]
}
Masque Invalide (HTTP 422) :
{
  "success": false,
  "error": "Invalid mask: The Sender ID 'BANK' is not registered or approved for this account.",
  "error_code": "INVALID_MASK",
  "approved_sender_ids": ["MYSHOP", "TextMe"]
}
Authorization Bearer <VOTRE_TOKEN>
Content-Type application/json
GET

/api/senders

(ou /api/masks)
Masques autorisés معرّفات الإرسال المعتمدة

Retourne la liste de tous les Sender IDs autorisés pour votre token ainsi que votre masque par défaut actif. يعرض قائمة كاملة بمعرّفات الإرسال المرخصة لحسابك واسم المرسل الافتراضي.

Réponse du serveur (JSON) :
{
  "success": true,
  "data": {
    "default_sender_id": "TextMe",
    "senders": [
      {
        "sender_id": "TextMe",
        "status": "approved",
        "is_default": true
      },
      {
        "sender_id": "MYSHOP",
        "status": "approved",
        "is_default": false
      }
    ]
  }
}
GET

/api/credit

Consultation du solde التحقق من الرصيد والأسعار

Retourne le solde disponible en nombre de SMS, le solde en DZD, le tarif unitaire et vos masques configurés. يعرض رصيد الرسائل المتاح، رصيد المحفظة بالدينار، سعر الرسالة والمعرّفات المعتمدة.

Réponse du serveur (JSON) :
{
  "success": true,
  "data": {
    "credit_sms": 1250,
    "free_sms": 0,
    "balance_dzd": 6250.0,
    "price_per_sms_dzd": 5.0,
    "default_sender_id": "TextMe",
    "approved_sender_ids": ["TextMe", "MYSHOP"]
  }
}

Exemples de code d'intégration أمثلة برمجية سريعة

Sélectionnez votre langage pour démarrer en quelques minutes. اختر لغة البرمجة لنسخ الكود والربط في دقائق.

curl -X POST https://textmedz.com/api/sms/send \
  -H "Authorization: Bearer VOTRE_TOKEN_ICI" \
  -H "Content-Type: application/json" \
  -d '{
    "sender_id": "MYSHOP",
    "messages": [
      {
        "to": "0555123456",
        "message": "Bonjour Ahmed, votre commande #4829 est confirmée !"
      }
    ]
  }'
<?php
$payload = json_encode([
    'sender_id' => 'MYSHOP', // Optionnel (utilise le masque par défaut si omis)
    'messages' => [
        ['to' => '0555123456', 'message' => 'Bonjour, votre code est 1234']
    ]
]);

$ch = curl_init('https://textmedz.com/api/sms/send');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer VOTRE_TOKEN_ICI',
        'Content-Type: application/json'
    ]
]);

$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests

url = "https://textmedz.com/api/sms/send"
headers = {
    "Authorization": "Bearer VOTRE_TOKEN_ICI",
    "Content-Type": "application/json"
}
payload = {
    "sender_id": "MYSHOP",
    "messages": [
        {"to": "0555123456", "message": "Bonjour Ahmed, votre colis est expédié !"}
    ]
}

res = requests.post(url, json=payload, headers=headers)
print(res.status_code, res.json())
const axios = require('axios');

axios.post('https://textmedz.com/api/sms/send', {
  sender_id: 'MYSHOP',
  messages: [
    { to: '0555123456', message: 'Bienvenue chez TextMe !' }
  ]
}, {
  headers: {
    'Authorization': 'Bearer VOTRE_TOKEN_ICI',
    'Content-Type': 'application/json'
  }
}).then(res => console.log(res.data))
  .catch(err => console.error(err.response ? err.response.data : err));

Codes d'Erreurs & Statuts HTTP رموز الاستجابة والأخطاء

Référence complète des codes retournés par l'API pour faciliter votre gestion d'erreurs : دليل الحالات والأخطاء البرمجية المرجعة من النظام :

HTTP Code Interne Description
200 - Tous les SMS ont été envoyés avec succès.
207 MIXED Statut mixte (certains SMS réussis, d'autres échoués).
401 UNAUTHORIZED Token invalide, manquant ou révoqué.
422 INVALID_MASK Le Sender ID demandé n'est pas autorisé pour ce compte.
422 INSUFFICIENT_BALANCE Solde portefeuille DZD insuffisant pour acheminer le SMS.
429 RATE_LIMITED Limite de débit dépassée (1 000 req/min).