02 51 76 0 34

Accès client :  mot de passe oublié   inscription

       (oubli)

Envoyer un SMS en Python (API 123-SMS)

Mis à jour le 17 juillet 2026

Un appel HTTPS suffit pour envoyer un SMS depuis Python : voici la fonction complète, sans aucune bibliothèque à installer (urllib standard), prête à coller dans vos scripts, vos tâches cron ou vos applications.

1Le script complet (Python 3, sans dépendance)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# =====================================================================
#  Envoi de SMS via l'API 123-SMS.net  (Python 3, sans dependance)
#  Documentation : https://www.123-sms.net/developpeurs-api.php
#  (c) 123-SMS.net - licence MIT, reutilisation libre
# =====================================================================
import urllib.parse
import urllib.request

API_URL = "https://www.123-sms.net/http.php"

# --- Vos identifiants (espace client 123-SMS.net) --------------------
EMAIL   = "votre-email@exemple.fr"   # e-mail du compte
CLE_API = "XXXXXX"                   # cle API : espace client > API > Generer Cle API


def envoyer_sms(numero: str, message: str) -> str:
    """Envoie un SMS et retourne le code reponse de l'API."""
    params = urllib.parse.urlencode({
        "email": EMAIL,
        "pass": CLE_API,
        "numero": numero,
        "message": message,
    })
    with urllib.request.urlopen(API_URL + "?" + params, timeout=15) as reponse:
        return reponse.read().decode("utf-8", "replace").strip()


if __name__ == "__main__":
    code = envoyer_sms("0612345678", "Test 123-SMS depuis Python !")
    print("Reponse de l'API :", code)
    # Le detail des codes reponse figure dans la documentation technique :
    # https://www.123-sms.net/documentations.php

2Installation et utilisation

  • Téléchargez l'archive ou copiez le code ci-dessus dans 123sms.py.
  • Renseignez EMAIL et CLE_API (espace client › API).
  • Lancez python 123sms.py — la fonction envoyer_sms(numero, message) est réutilisable telle quelle.
  • En production : stockez la clé dans une variable d'environnement plutôt qu'en dur.
La clé API se génère dans l'espace client, rubrique API › Générer Clé API. Les codes réponse et le retour des accusés de réception par HTTP sont détaillés dans la documentation technique.

Questions fréquentes

Faut-il installer une bibliothèque ?

Non. L'exemple n'utilise que urllib, inclus dans Python 3.6 et supérieur : aucun pip install n'est nécessaire.

Peut-on utiliser requests plutôt qu'urllib ?

Oui : même appel GET HTTPS avec les quatre paramètres email, pass, numero et message — requests.get(url, params=...) fonctionne à l'identique.

Comment savoir si le SMS a bien été envoyé ?

L'API retourne un code réponse immédiat (détaillé dans la documentation technique), et les accusés de réception peuvent être retournés à votre serveur par HTTP. Le suivi complet reste visible dans l'espace client.

Où trouver la clé API ?

Dans l'espace client 123-SMS.net, rubrique API › Générer Clé API. C'est cette clé — pas votre mot de passe — qui sert à l'authentification.

Combien coûte l'envoi ?

Les crédits sont prépayés, sans abonnement et sans date d'expiration, avec des prix dégressifs selon le volume — voir la page Tarifs.

Téléchargement

123-sms_python.zip

Licence MIT — libre et gratuit.

L'essentiel

  • API HTTPS en un appel GET : email, clé API, numéro, message.
  • Code réponse immédiat + accusés de réception par HTTP.
  • Crédits prépayés sans abonnement ni expiration.
  • Adaptations spécifiques développées gratuitement.