Vous souhaitez développer une application en PHP qui permet d'envoyer des SMS ? Consultez nos exemples de codes pour chacune des fonctionnalités disponibles depuis notre API SMS.

				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode sendMessage
									//text, recipients, sender name
									$resultXML=sendMessage("Nouveau message via l'API d'Envoyer SMS Pro depuis un script PHP",
															array("33600000000"),
															"SOCIETE");
									
									//Vérification du succès de l'envoi
									if($resultXML->status=="success")
									{
										echo "Message envoyé 
"; //Récupération des informations retournées par le serveur $messageObect=$resultXML->message; echo "Votre messageid : ".$messageObect->message_id."
"; echo "Nombre de SMS envoyé : ".$messageObect->sms_sent."
"; echo "Nombre de SMS restant : ".$messageObect->sms_remaining."
"; } else { echo "Le message n'a pas été envoyé :
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour envoyer votre message * @param $text contient le texte du message * @param array $recipients contient les destinataires du message * @param $senderName contient le nom d'émetteur */ function sendMessage($text, array $recipients,$senderName) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/message/send"; //les paramètres à passer au serveur en POST $postParameters="text=".urlencode($text)."&recipients=".implode(",", $recipients)."&sendername=".$senderName; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $postParameters )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode getMessageStat
									$resultXMLStat=getMessageStat();
									
									//Vérification du succès de la requete
									if($resultXMLStat->status=="success")
									{
										//Récupération des informations retournées par le serveur
										$statObject=$resultXMLStat->stats;
										echo "Les stats du message 
"; //Nombre de destinataire regroupé par statut echo "Nombre de SMS reçu : ".$statObject->number_status_1."
"; echo "Nombre de SMS non délivré : ".$statObject->number_status_2."
"; echo "Nombre de SMS en attente chez l'opérateur : ".$statObject->number_status_3."
"; echo "Nombre de SMS en cours de traitement : ".$statObject->number_status_4."
"; echo "Nombre de numéro en STOP SMS : ".$statObject->number_status_5."
"; //Détails de statut par destinataire foreach($statObject->recipient as $recipientObject) { echo "Le numéro ".$recipientObject->mobile_number; switch($recipientObject->status_id) { case 1 : echo " a reçu le SMS à ".$recipientObject->delivered_date."
"; break; case 2 : echo " n'a pas pu recevoir le SMS
"; break; case 3 : echo " est en attente de livraison par l'opérateur
"; break; case 4 : echo " est en attente de livraison par Envoyer SMS Pro
"; break; case 5 : echo " est en STOP SMS
"; break; } } } else { echo "Problème lors de la récupération des status de réception :
"; foreach ($resultXMLStat->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode permettant de récupérer les statistiques de réception du message * @param $messageId */ function getMessageStat($messageId) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/message/stats"; //les paramètres à passer au serveur en POST $myPostParams="messageid=".$messageId; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\n\r", 'content' => $myPostParams )); //Exécution de la requête $fp = @fopen($url, 'rb', false, stream_context_create($requestConfig)); if (!$fp) { throw new Exception("Connexion problem $url"); } //Retour du serveur $response = @stream_get_contents($fp); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode cancelMessage
									$resultXMLStat=cancelMessage();
									
									//Vérification du succès de la requete
									if($resultXMLStat->status=="success")
									{
										//Récupération des informations retournées par le serveur
										$messageObject=$resultXMLStat->message;
										echo "Message supprimé 
"; echo "Messageid : ".$messageObject->message_id."
"; echo "Nombre de SMS recrédité : ".$messageObject->recredited_sms."
"; echo "Nombre de SMS restant : ".$messageObject->sms_remaining."
"; } else { echo "Problème lors de l'annulation de l'envoi :
"; foreach ($resultXMLStat->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode permettant de récupérer les statistiques de réception du message * @param $messageId */ function cancelMessage($messageId) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/message/cancel"; //les paramètres à passer au serveur en POST $myPostParams="messageid=".$messageId; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\n\r", 'content' => $myPostParams )); //Exécution de la requête $fp = @fopen($url, 'rb', false, stream_context_create($requestConfig)); if (!$fp) { throw new Exception("Connexion problem $url"); } //Retour du serveur $response = @stream_get_contents($fp); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode permettant de lister l'ensemble de vos comptes
									$resultXML=getAllAccounts();
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										echo "Voici vos comptes : ";
										
										$accountsObject=$resultXML->accounts;
										
										//Liste vos comptes restants
										foreach($accountsObject->account as $account)
										{
											echo "
"; echo "
L'accountid : ".$account->account_id; echo "
Le nom du compte : ".$account->account_name; echo "
Le nombre de SMS restant : ".$account->sms_remaining; } } else { echo "Impossible de récupérer vos comptes :
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour récupérer tous les comptes */ function getAllAccounts() { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/account/getallaccounts"; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode de création de compte
									//Le paramètre à donner est le nom du compte
									$resultXML=createAccount("Nouveau compte PHP");
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										echo "Compte créé 
"; //Récupération des informations retournées par le serveur $accountObect=$resultXML->account; echo "Votre accountid : ".$accountObect->account_id; } else { echo "Le compte n'a pas été créé :
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour créer un nouveau compte * @param $accountName contient le nom que vous souhaitez donner au compte */ function createAccount($accountName) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/account/create"; //les paramètres à passer au serveur en POST $myPostParams="accountname=".urlencode($accountName); //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $myPostParams )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode de suppression de compte
									//Le paramètre a donné est l'accountid à supprimer
									$resultXML=deleteAccount();
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										echo "Compte supprimé avec succès.";
										echo "
Voici vos comptes restants : "; $accountsObject=$resultXML->accounts; //Liste vos comptes restants foreach($accountsObject->account as $account) { echo "
"; echo "
L'accountid : ".$account->account_id; echo "
Le nom du compte : ".$account->account_name; echo "
Le nombre de SMS restant : ".$account->sms_remaining; } } else { echo "Le compte n'a pas été supprimé :
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } function deleteAccount($accountId) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOLE."://".ENVOYERSMSPRO_HOST."/api/account/delete"; //les paramètres à passer au serveur en POST $myPostParams="deleteaccountid=".$accountId; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $myPostParams )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode de transfert de SMS
									//Les paramètres à donner sont les identifiants de comptes concernés par le transfert et le nombre de SMS à transférer
									$resultXML=transferSMS("","","");
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										echo "Votre transfert a bien été effectué :";
										
										$accountsObject=$resultXML->accounts;
										
										echo "
Compte débité : "; echo "
"; echo "
L'accountid : ".$accountsObject->debitaccount->account_id; echo "
Le nom du compte : ".$accountsObject->debitaccount->account_name; echo "
Le nombre de SMS restant : ".$accountsObject->debitaccount->sms_remaining; echo "

Compte crédité : "; echo "
"; echo "
L'accountid : ".$accountsObject->creditaccount->account_id; echo "
Le nom du compte : ".$accountsObject->creditaccount->account_name; echo "
Le nombre de SMS restant : ".$accountsObject->creditaccount->sms_remaining; } else { echo "Le transfert de SMS n'a pas pu être effectué :
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour transférer des SMS d'un compte à un autre * @param $debitAccountId identifiant du compte à débiter * @param $creditAccountId identifiant du compte à créditer * @param $numberOfSMS nombre de SMS à transférer */ function transferSMS($debitAccountId,$creditAccountId,$numberOfSMS) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/account/transfer"; //les paramètres à passer au serveur en POST $myPostParams="debitaccountid=".$debitAccountId."&creditaccountid=".$creditAccountId."&sms=".$numberOfSMS; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $myPostParams )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode de mise en STOP SMS
									//Le paramètre à donner est le numéro de mobile à mettre en STOP
									$resultXML=setStopSms(ENVOYERSMSPRO_LOGIN);
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										//Récupération des informations retournées par le serveur
										$stopSmsObect=$resultXML->stopsms;
									    
										echo "Le ".$stopSmsObect->phone_number." est désormais en STOP SMS";
									}
									else
									{
										echo "Erreur lors de la mise en STOP SMS : 
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour mettre un numéro en STOP SMS * @param $phoneNumber contient le numéro de mobile que vous souhaitez mettre en STOP SMS */ function setStopSms($phoneNumber) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/stopsms/activate"; //les paramètres à passer au serveur en POST $myPostParams="phonenumber=".$phoneNumber; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $myPostParams )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>
				      			<?php
									define('ENVOYERSMSPRO_LOGIN',"");
									define('ENVOYERSMSPRO_PASSWORD',"");
									define('ENVOYERSMSPRO_HOST',"www.envoyersmspro.com");
									define('ENVOYERSMSPRO_PROTOCOL',"https");
									
									//Appel à la méthode de désactivation du STOP SMS
									//Le paramètre à donner est le numéro de mobile sur lequel il faut désactiver le STOP SMS
									$resultXML=unsetStopSms(ENVOYERSMSPRO_LOGIN);
									
									//Vérification du succès de la requête
									if($resultXML->status=="success")
									{
										//Récupération des informations retournées par le serveur
										$stopSmsObect=$resultXML->stopsms;
									    
										echo "Le ".$stopSmsObect->phone_number." n'est plus en STOP SMS";
									}
									else
									{
										echo "Erreur lors du retrait du STOP SMS : 
"; foreach ($resultXML->children() as $child) { foreach($child as $key=>$value) { echo $key." : ".$value."
"; } } } /** * * Méthode pour désactiver un numéro en STOP SMS * @param $phoneNumber contient le numéro de mobile sur lequel il faut désactiver le STOP SMS */ function unsetStopSms($phoneNumber) { //construction de l'url $url=ENVOYERSMSPRO_PROTOCOL."://".ENVOYERSMSPRO_HOST."/api/stopsms/deactivate"; //les paramètres à passer au serveur en POST $myPostParams="phonenumber=".$phoneNumber; //Configuration de la requête $requestConfig = array( 'http' => array( 'method' => 'POST', 'header'=>"Authorization: Basic ".base64_encode(ENVOYERSMSPRO_LOGIN.":".ENVOYERSMSPRO_PASSWORD)."\r\n" ."Content-type: application/x-www-form-urlencoded\r\n", 'content' => $myPostParams )); //Retour du serveur $response = file_get_contents($url, false, stream_context_create($requestConfig)); if ($response === false) { throw new Exception("Problem reading data from $url"); } //Création d'un Objet XML depuis le retour du serveur $responseXML = simplexml_load_string($response); if ($responseXML === null) { throw new Exception("failed to decode $response as xml"); } return $responseXML; } ?>

Nos autres langages de programmation

Vos packs SMS

section


Envoi de sms groupé
ou à l'unité


  • Sans engagement
  • Sans date limite d'utilisation
  • Sans frais supplémentaires
  • Des prix dégressifs


500 SMS

7,4 cts/unité
37 € HT
Achetez

1000 SMS

7 cts/unité
70 € HT
Achetez

5 000 SMS

6,7 cts/unité
335 € HT
Achetez

10 000 SMS

6,5 cts/unité
650 € HT
Achetez

50 000 SMS

6,2 cts/unité
3 100 € HT
Achetez

100 000 SMS

6 cts/unité
6 000 € HT
Achetez


A la carte

SMS = - € HT soit -cts/unité