Pour utiliser les services de 123-SMS.net, saisissez votre email et votre numéro de téléphone. Vous recevrez aussitôt votre mot de passe personnel.
Merci de saisir votre adresse email nous vous renverons votre mot de passe personnel.
Pour utiliser les services de 123-SMS.net, saisissez votre email et votre numéro de téléphone. Vous recevrez aussitôt votre mot de passe personnel.
// SMSViaGo
// Script d'envoi de SMS par www.123-Sms.net
// Copyright (C) 2024 / 123-Sms.net
// Licence MIT : réutilisation libre (github.com/123-smsnet/api-sms-exemples)
// explications des variables :
//user : identifiant envoyé lors de l'inscription à www.123-sms.net sur votre boîte mail (réinitialisable dans votre espace client).
//cleAPI : clé envoyée lors de l'inscription à www.123-sms.net sur votre boîte mail (réinitialisable dans votre espace client).
//message : message que l'on désire envoyer
// *** (3 étoiles pour retour chariot)
// numero : '33611223344-0660616263' numéros de téléphones auxquels on envoie le message(les numéros st séprarés par un tiret '-'); 336 OU 06 pour envoi vers la France
// refaccuse : pour obtenir un accusé de récépetion par http (url à déclarer par mail sur 123-SMS.net)
// sender : personnalisation de l'emetteur (doit être déclaré par mail à 123-SMS.net)
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"strings"
)
// Fonction pour gérer les codes de réponse de l'API
func handleApiResponse(responseCode string) {
switch responseCode {
case "80":
fmt.Println("Le message a été envoyé.")
case "81":
fmt.Println("Le message est enregistré pour un envoi en différé.")
// Ajouter d'autres cas selon la documentation
case "82":
fmt.Println("Le login et/ou mot de passe n’est pas valide.")
// Complétez avec d'autres codes d'erreur selon vos besoins
default:
fmt.Println("Réponse inconnue de l'API:", responseCode)
}
}
func main() {
// Définition de l'URL de base pour l'envoi de SMS
apiUrl := "https://www.123-SMS.net/http.php"
// Paramètres requis pour l'envoi de SMS
data := url.Values{}
data.Set("user", "votre_identifiant_utilisateur")
data.Set("cleAPI", "votre_cle_API")
data.Set("numero", "numéro_de_destinataire") // Exemple: "0690919293"
data.Set("message", "Votre message ici") // Pas besoin d'encoder ici, http.NewRequest s'en charge
data.Set("sender", "votre_sender_ID") // Sender-ID personnalisé
data.Set("refaccuse", "votre_reference_accuse") // Optionnel
// Création de la requête POST avec les paramètres encodés
req, err := http.NewRequest("POST", apiUrl, strings.NewReader(data.Encode()))
if err != nil {
fmt.Println("Erreur lors de la création de la requête :", err)
return
}
// Ajout de l'entête Content-Type
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
// Exécution de la requête
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Erreur lors de l'envoi de la requête :", err)
return
}
defer resp.Body.Close()
// Lecture de la réponse
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Erreur lors de la lecture de la réponse :", err)
return
}
responseBody := string(body)
fmt.Println("Réponse de l'API:", responseBody)
// Gérer les codes de réponse
handleApiResponse(responseBody)
}
Retour AR par http
Retour réponses SMS par http
Solde du compte SMS par httpSi vous avez des scripts à faire partager sous licence GNU n'hésitez pas à nous les envoyer par email à , nous les mettrons en ligne.
Faîtes une demande de test gratuit :
Accueil › Développeurs / API › Go · Mis à jour le 22 juillet 2026
Quelles dépendances faut-il installer pour envoyer un SMS en Go ?
Aucune : l'exemple n'utilise que la bibliothèque standard (net/http et net/url). Il compile avec toutes les versions de Go et s'intègre tel quel dans un binaire existant.
Comment encoder correctement le message (accents, espaces) ?
Construisez la requête avec url.Values{} puis Encode() : l'encodage URL des accents et espaces est géré automatiquement, sans manipulation manuelle.
Puis-je envoyer des SMS d'alerte depuis un outil de supervision écrit en Go ?
Oui, c'est un usage très courant : un simple appel HTTPS au moment de l'alerte. Voir la page SMS d'alertes techniques et, pour Nagios/Icinga/Centreon, le script de notification prêt à l'emploi.
Comment vérifier que le SMS est parti ?
Immédiatement : l'API renvoie un code de statut dans sa réponse : 80 = message envoyé, 81 = enregistré pour un envoi différé, 82 = identifiants invalides, 83 = crédit insuffisant, 84 = numéro invalide (liste complète affichée sur cette page). Vous pouvez aussi recevoir les accusés de réception par HTTP avec le paramètre refaccuse.
5 SMS offerts pour votre essai, sur simple demande : précisez que vous intégrez l'API en Go, et nous créditons votre compte professionnel le temps de vérifier vos premiers envois. Offre réservée aux professionnels : entreprises, associations et collectivités.