01 70 71 99 04

Accès client :  mot de passe oublié   inscription

       (oubli)

Scripts / Api pour double athentification

123-SMS.net est une solution compatible pour la mise en place pour votre sites web ou vos applications. Cette vérification en deux étapes ou double authentification (2FA, two-factor authentication) est une méthode d'authentification très sécurisée pour qu'un un utilisateur (un client par exemple) puisse accéder à un developpement informatique (exemple : un espace client d'un site web) après avoir présenté deux preuves de "possession" du compte via à un mécanisme d'authentification. La solution professionnelle d'envoi de SMS avce un code unique (à durée de vie limitée) est dans cette démarche.

Avec l'exemple de script présenté ci-dessous vous pouvez générer un code qui sera inséré provisoirement dans votre base de donnée (avec une limite de validité dans le temps) puis envoyer en suivant un SMS à votre client avec le code généré de manière instantannée afin qu'il puisse s'autentifier et accréditer son identité.

L'exemple ci-dessous est en PHP mais le principe de fonctionnement est applicable à n'importe quel language. Il est volontairement simple (voire simpliste) pour faciliter la compréhension du process, vous pourrez par la suite crypter les codes générer pour les insérer en base de données.

Il est important de personnaliser l'emetteur afin d'éviter les réponses (nous contacter)

Sur la page ou le client va demander l'envoi du SMS.

<?php
//GENERATION DU CODE	
$codeunique = mt_rand(10000, 99999); // un code numérique entre 10000 et 99999
//ex : le code généré est "123456"

//on crypte le code généré (étape facultative) 
 $key_password = "123-sms-pro"; // on déclare une clé de son choix
 $encrypted_code = openssl_encrypt($codeunique, "AES-128-ECB" ,$key_password);
 var_dump($encrypted_code);
 // Affichera dans notre exemple : string 'QlzbS3go1q/qBfykOxDj+g==' (length=24)

//On devra donner une durée de validité du code d'identification (à insérer dans la base de données)
$minutesSup = 5; //pour 5 minutes de durée de vie du code
$validiteCode = time() + ($minutesSup * 60);

//INSERTION DANS VOTRE BASE DE DONNEE (nécessaire)
INSERT...... &encrypted_code..... $validiteCode....

//ENVOI DU SMS PRO de double athentification (2FA, two-factor authentification) exemple en requête https simple en PHP (cependant vous pouvez reprendre n'importe quel language présenté sur le site ou autre)
file('https://www.123-SMS.net/http.php?email=XXXXXXXX@YYYY.COM&pass=ABCDEF&numero=0607080910&message=$codeunique&sender=MASOCIETE&refaccuse=');
?>
  • Vous pouvez testez vos requêtes https «à blanc» (sans débiter votre compte) pour cela rajoutez &test=o
  • Vous avez la possibilité de personnaliser l’émetteur : le «sender-ID» (série de 11 caractères alpha-numériques). Vous devez le(s) déclarer en faisant votre demande par email, en précisant celui utilisé par défaut (sinon ce seront les numéros courts). Pour selectionner le Sender-ID au moment de votre envoi rajouter à la fin de la requette &sender= suivi du sender déclaré (orthographe et casse exacte). L’espace est déconseillé car il est interprété différement d’un mobile à l’autre, privilégiez le «_» le «.» ou jouez avec les majuscules ex : «DupontSarl» ou «Dupont_sarl» ou «Dupont.Sarl»).
  • Pour recevoir l’email de confirmation sur un email différent de celui du compte principal : ajouter &email_rep=mon_email@mon_domaine.com ; attention il faudra peut-être encoder le «@» pour vos tests utilisez %40 (exemple &email_rep=mon_email%40mon_domaine.com)

Sur la page de vérification du SMS second facteur (2FA two-factor athentification)

Voici un exemple de code à adapter à votre environnement.
<?php
//on récupère bien-sur dans la base de données le code crypté et la date de validité et le code saisi par l'utilisateur (dans notre exemple $codeSaisi)
//$encrypted_code = "1U4cwdg4FICPAg2r6gpA4w==" dans notre exemple ou le code généré est "123456"
//validiteCode = le temps + 5 minutes (toujours dans notre exemple)
//$codeSaisi le code saisi par l'utilisateur final
// DECRYPTAGE AU MOMENT DE LA VERIFICATION du 2e facteur non nécessaire à l'envoi de SMS (facultatif si pas crypté initialement)

    $decrypted_code = openssl_decrypt($encrypted_code, "AES-128-ECB" ,
$key_password);
    var_dump($decrypted_code);
    // Affiche le code unique : string 'le code unique du début' (length=21)
       if (($validiteCode < time()) && ($decrypted_code == $codeSaisi)) {........}
Une fois le SMS d'authentification à deux facteurs (2FA, two-factor authentification) envoyé dans votre développement ce dernier affichera un code en réponse.
  • 80 : Le message a été envoyé
  • 81 : Le message est enregistré pour un envoi en différé
  • 82 : Le login et/ou mot de passe n’est pas valide
  • 83 : vous devez créditer le compte
  • 84 : le numéro de gsm n’est pas valide
  • 85 : le format d’envoi en différé n’est pas valide
  • 86 : le groupe de contacts est vide
  • 87 : la valeur email est vide
  • 88 : la valeur pass est vide
  • 89 : la valeur numero est vide
  • 90 : la valeur message est vide
  • 91 : le message a déjà été envoyé à ce numéro dans les 24 dernières heures (L’erreur 91 peut être désactivée dans la rubrique «Modifier les options »)
  • 92 le test d’envoi «à blanc» est positif
  • 93 pour effectuer l’envoi de SMS vers les DOM TOM, vous devez activer l’option (14) dans l’espace client
  • 94 votre envoi en différé est supprimé
  • 95 votre envoi en différé n’a pas pu être supprimé
  • 96 votre adresse IP n’est pas valide
  • 97 le SENDER ID n’est pas valide
  • 98 la date de début n’est pas valide
  • 99 la date de fin n’est pas valide
  • 100 la date de fin est supérieure à la date de début
  • 101 le numéro de mobile est bloqué et/ou blacklisté
  • 102 le changement de Sender-ID vous oblige à rajouter «stop SMS au 36001» à la fin de votre message

Documentations et partenariat

Documentations Spécifiques Développeurs / API

Retour AR par http

Retour réponses SMS par http

Solde du compte SMS par http

Partage / Test

Si 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 :