Intégrez en quelques minutes une API SMS pour automatiser l'envoi de SMS en France et à l'international depuis votre site internet, votre application, votre logiciel.
Consultez la documentation de notre API
Consultez nos bibliothèques de langages de programmation prêtes à l'emploi
COMMENCEZ A ENVOYER VOS SMS AVEC LES API SMS iSendPro TELECOM
Nos différentes API SMS (HTTPS Rest JSON, HTTPS, MAIL2SMS, SMPP SMS) complètes, compatibles avec la plupart des langages (PHP, Java, cURL, .NET, JSON, C#, XML,Python, RUBY, ASP, C++,…) et faciles à intégrer grâce à des documentations techniques API SMS simples et intuitives.
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/sms' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"num": "33601020304",
"sms": "Bonjour! Bienvenue sur iSendPro!",
"emetteur": "isendpro"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/sms';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'num' => '33601020304',
'sms' => 'Bonjour! Bienvenue sur iSendPro!',
'emetteur' => 'isendpro'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->tel)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
// Erreur specifique au numero de telephone
}else if (isset($repetat->tel) && ($repetat->code!=0)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'Tel: '.$repetat->tel;
// Envoi OK
}else if (isset($repetat->tel) && ($repetat->code==0)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'Tel: '.$repetat->tel;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/sms'
params = {
'keyid': 'a296464ce012b8ab710a',
'num': '33601020304',
'sms': 'Bonjour! Bienvenue sur iSendPro!',
'emetteur': 'isendpro'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('tel'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Erreur specifique au numero de telephone
elif repetat.has_key('tel') and repetat['code']!=0:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Tel: '+repetat['tel']
# Envoi OK
elif repetat.has_key('tel') and repetat['code']==0:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Tel: '+repetat['tel']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/sms";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("num", "33601020304");
paramsTablo.put("sms", "Bonjour! Bienvenue sur iSendPro!");
paramsTablo.put("emetteur", "isendpro");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("tel")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Erreur specifique au numero de telephone
}else if(repetat.containsKey("tel") && repetat.get("code")!="0"){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("Tel: "+repetat.get("tel"));
// Envoi OK
}else if(repetat.containsKey("tel") && repetat.get("code")=="0"){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("Tel: "+repetat.get("tel"));
}
} finally {
con.disconnect();
}
}
}
LES FONCTIONNALITES DES API SMS iSendPro Telecom
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/sms' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"num": "33601020304",
"sms": "Bonjour! Bienvenue sur iSendPro!",
"emetteur": "isendpro"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/sms';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'num' => '33601020304',
'sms' => 'Bonjour! Bienvenue sur iSendPro!',
'emetteur' => 'isendpro'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->tel)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
// Erreur specifique au numero de telephone
}else if (isset($repetat->tel) && ($repetat->code!=0)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'Tel: '.$repetat->tel;
// Envoi OK
}else if (isset($repetat->tel) && ($repetat->code==0)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'Tel: '.$repetat->tel;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/sms'
params = {
'keyid': 'a296464ce012b8ab710a',
'num': '33601020304',
'sms': 'Bonjour! Bienvenue sur iSendPro!',
'emetteur': 'isendpro'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('tel'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Erreur specifique au numero de telephone
elif repetat.has_key('tel') and repetat['code']!=0:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Tel: '+repetat['tel']
# Envoi OK
elif repetat.has_key('tel') and repetat['code']==0:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Tel: '+repetat['tel']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/sms";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("num", "33601020304");
paramsTablo.put("sms", "Bonjour! Bienvenue sur iSendPro!");
paramsTablo.put("emetteur", "isendpro");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("tel")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Erreur specifique au numero de telephone
}else if(repetat.containsKey("tel") && repetat.get("code")!="0"){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("Tel: "+repetat.get("tel"));
// Envoi OK
}else if(repetat.containsKey("tel") && repetat.get("code")=="0"){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("Tel: "+repetat.get("tel"));
}
} finally {
con.disconnect();
}
}
}
Envoi de SMS
Envoyez de manière automatique et instantanée vos messages par requête à une seul ou plusieurs destinataires via une liste de numéros ou un répertoire de numéros de téléphones.
En savoir plus sur l'API SMS
Gestion des contacts
Créez des répertoires de contacts, ajoutez et supprimez des numéros de contacts directement depuis vos outils.
En savoir plus sur l'API SMS
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/repertoire' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"repertoireNom": "MonNouveauRepertoire",
"repertoireEdit": "create"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/repertoire';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'repertoireNom' => 'MonNouveauRepertoire',
'repertoireEdit' => 'create'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->repertoireId)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
// Infos de retour
}else{
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'RepertoireId: '.$repetat->repertoireId;
echo $sautligne;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/repertoire'
params = {
'keyid': 'a296464ce012b8ab710a',
'repertoireNom': 'repertoireNom',
'repertoireEdit': 'create'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('repertoireId'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Infos de retour
else:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'RepertoireId: '+repetat['repertoireId']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/repertoire";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("repertoireNom", "repertoireNom");
paramsTablo.put("repertoireEdit", "create");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("repertoireId")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Infos de retour
}else{
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("repertoireId: "+repetat.get("repertoireId"));
}
} finally {
con.disconnect();
}
}
}
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/setlistenoire' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"num": "33601020304",
"setlisteNoire": 1
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/setlistenoire';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'num' => '33601020304',
'setlisteNoire' => 1
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->tel)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
// Infos de retour
}else{
echo 'tel: '.$repetat->tel;
echo $sautligne;
echo 'listeNoire: '.$repetat->listeNoire;
echo $sautligne;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/setlistenoire'
params = {
'keyid': 'a296464ce012b8ab710a',
'num': '33601020304',
'setlisteNoire':1
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('tel'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Infos de retour
else:
print 'tel: '+repetat['tel']
print 'listeNoire: '+repetat['listeNoire']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/setlistenoire";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("num", "33601020304");
paramsTablo.put("setlisteNoire", "1");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("tel")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Infos de retour
}else{
System.out.println("tel: "+repetat.get("tel"));
System.out.println("listeNoire: "+repetat.get("listeNoire"));
}
} finally {
con.disconnect();
}
}
}
Liste noire/Gestion des STOP
Ajoutez, supprimez et récupérez la liste des numéros de téléphone en liste noire dans un fichier .csv Vos clients se désinscrivent en répondant STOP SMS à vos SMS, leur numéros sont ajoutés automatiquement dans la liste noire de votre compte.
En savoir plus sur l'API SMS
Accusés de réceptions
Récupérez les accusés de réception des opérateurs sur l'adresse URL de votre choix. Vérifiez la livraison de vos SMS et analyser les retours de vos SMS envoyés grâce aux statuts et codes erreurs de chaque SMS.
En savoir plus sur l'API SMS
SMS Réponse
Recevez grâce à l'API les réponses à vos SMS sur l'adresse URL de votre choix.
En savoir plus sur l'API SMS
Rapport de campagne
Récupérez la liste des envois sur une période donnée dans un fichier .csv ou sur une période donnée, sur un numéro de téléphone et un tracker en JSON.
En savoir plus sur l'API SMS
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/campagne' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"rapportCampagneData": "1",
"select_tracker": "camp001",
"date_deb": "2020-04-01 00:00",
"date_fin": "2020-04-30 00:00",
"select_deb": "0",
"select_pas": "500"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/campagne';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'rapportCampagneData' => '1',
'date_deb' => '2020-01-01 00:00',
'date_fin' => '2020-01-10 00:00',
'select_deb' => '0',
'select_pas' => '500',
'select_tracker' => 'camp001',
'select_msisdn' => ['33601020304','33601020305']
);
$params = json_encode($params);
$options = array(
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => $params,
CURLOPT_HTTPHEADER => array(
'Content-Type' => 'application/json',
'Content-Length: ' => strlen($params)
)
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetatList=$reponsejson->etat->etat;
if(!is_array($repetatList)){
$repetatList=array($repetatList);
}
$cpt=1;
foreach($repetatList as $repetat){
echo '-----------';
echo $sautligne;
echo 'Data '.$cpt;
echo $sautligne;
// Erreur generale
if (!isset($repetat->tel)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
// infos sur le retour
}else{
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'Tel: '.$repetat->tel;
echo $sautligne;
echo 'historyMsg: '.$repetat->historyMsg;
echo $sautligne;
echo 'historyDate: '.$repetat->historyDate;
echo $sautligne;
echo 'historyTracker: '.$repetat->historyTracker;
echo $sautligne;
echo 'historyOperator: '.$repetat->historyOperator;
echo $sautligne;
echo 'historyResponse: '.$repetat->historyResponse;
echo $sautligne;
echo 'historyDeliveryAR: '.$repetat->historyDeliveryAR;
echo $sautligne;
echo 'historyDeliveryARtime: '.$repetat->historyDeliveryARtime;
echo $sautligne;
echo 'historyDelivery1: '.$repetat->historyDelivery1;
echo $sautligne;
echo 'historyDelivery2: '.$repetat->historyDelivery2;
echo $sautligne;
}
$cpt+=1;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
import types
url = 'https://apirest.isendpro.com/cgi-bin/campagne'
params = {
'keyid' : 'a296464ce012b8ab710a',
'rapportCampagneData' : '1',
'date_deb' : '2020-01-01 00:00',
'date_fin' : '2020-01-10 00:00',
'select_deb' : '0',
'select_pas' : '500',
'select_msisdn' : ['33601020304','33601020305'],
'select_tracker' : 'camp001'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetatList=reponsejson['etat']['etat']
if not type(repetatList) is types.ListType:
repetatList=[repetatList]
cpt=1
for repetat in repetatList:
print '-----------'
print 'Data '+str(cpt)
# Erreur generale
if not repetat.has_key('tel'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Infos sur le retour
else:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Tel: '+repetat['tel']
print 'historyMsg: '+repetat['historyMsg']
print 'historyDate: '+repetat['historyDate']
print 'historyTracker: '+repetat['historyTracker']
print 'historyOperator: '+repetat['historyOperator']
print 'historyResponse: '+repetat['historyResponse']
print 'historyDeliveryAR: '+repetat['historyDeliveryAR']
print 'historyDeliveryARtime: '+repetat['historyDeliveryARtime']
print 'historyDelivery1: '+repetat['historyDelivery1']
print 'historyDelivery2: '+repetat['historyDelivery2']
cpt+=1
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/campagne";
ArrayList<String> listData = new ArrayList<String>();
listData.add("33601020304");
listData.add("33601020305");
Map<String, Object> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("rapportCampagneData", "1");
paramsTablo.put("date_deb", "2020-01-01 00:00");
paramsTablo.put("date_fin", "2020-01-10 00:00");
paramsTablo.put("select_deb", "0");
paramsTablo.put("select_pas", "500");
paramsTablo.put("select_tracker", "camp001");
paramsTablo.put("select_msisdn", listData);
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
ArrayList repetatList = (ArrayList)repetat.get("etat");
if(! (repetatList instanceof ArrayList)){
repetatList.add(repetatList);
}
for (int i = 0; i < repetatList.size(); i++) {
repetat = (Map)repetatList.get(i);
System.out.println("-----------");
System.out.println("Data "+i);
// Erreur generale
if (! repetat.containsKey("tel")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Infos sur le retour
}else{
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("Tel: "+repetat.get("tel"));
System.out.println("historyMsg: "+repetat.get("historyMsg"));
System.out.println("historyDate: "+repetat.get("historyDate"));
System.out.println("historyTracker: "+repetat.get("historyTracker"));
System.out.println("historyOperator: "+repetat.get("historyOperator"));
System.out.println("historyResponse: "+repetat.get("historyResponse"));
System.out.println("historyDeliveryAR: "+repetat.get("historyDeliveryAR"));
System.out.println("historyDeliveryARtime: "+repetat.get("historyDeliveryARtime"));
System.out.println("historyDelivery1: "+repetat.get("historyDelivery1"));
System.out.println("historyDelivery2: "+repetat.get("historyDelivery2"));
}
}
} finally {
con.disconnect();
}
}
}
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/shortlink' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"shortlink": "https://www.isendpro.com/"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/shortlink';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'shortlink' => 'https://www.isendpro.com/'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->shortlink)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
// Infos du lien court
}else{
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'shortlink: '.$repetat->shortlink;
echo $sautligne;
echo 'message: '.$repetat->message;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/shortlink'
params = {
'keyid': 'a296464ce012b8ab710a',
'shortlink': 'https://www.isendpro.com/'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('shortlink'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Infos du lien court
else:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'Shortlink: '+repetat['shortlink']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/shortlink";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("shortlink", "https://www.isendpro.com/");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("shortlink")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Infos du lien court
}else{
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("shortlink: "+repetat.get("shortlink"));
}
} finally {
con.disconnect();
}
}
}
Lien court
Réduisez la longueur de vos liens (sites internet, réseaux sociaux), insérez les dans les messages de vos SMS et suivez le taux de clics.
En savoir plus sur l'API SMS
Sous-comptes
Créez et gérez vos sous-comptes (définition, récupération et augmentation du crédit SMS d'un sous compte, modification et consultation de l'encours SMS d'un sous compte, gestion des restrictions STOP SMS et horaires d'un sous-compte, modification du webhook de retour des AR et des réponses pour un sous-compte vers laquelle les STOP SMS et réponses SMS seront envoyées)
En savoir plus sur l'API SMS
curl -X POST \
'https://apirest.isendpro.com/cgi-bin/subaccount' \
-H 'cache-control: no-cache' \
-d '{
"keyid": "a296464ce012b8ab710a",
"subAccountLogin": "MonIdentifiant",
"subAccountPassword": "MonMotdpasse",
"subAccountEdit": "addAccount"
}'
<?php
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
$ch = curl_init();
$url = 'https://apirest.isendpro.com/cgi-bin/subaccount';
$params = array(
'keyid' => 'a296464ce012b8ab710a',
'subAccountLogin' => 'MonIdentifiant',
'subAccountPassword'=> 'MonMotdpasse',
'subAccountEdit' => 'addAccount'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_HEADER => false,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => $params
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
$sautligne="\n"; // Si utilisation script
//$sautligne="<br>"; // Si utilisation html
$reponsejson=json_decode($response);
$repetat=$reponsejson->etat->etat;
if (!isset($repetat->code)){
$repetat=$reponsejson->etat->etat[0];
}
// Erreur generale
if (!isset($repetat->subAccountLogin)){
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
// Infos de retour
}else{
echo 'Code: '.$repetat->code;
echo $sautligne;
echo 'Message: '.$repetat->message;
echo $sautligne;
echo 'subAccountLogin: '.$repetat->subAccountLogin;
if (isset($repetat->subAccountId)){
echo $sautligne;
echo 'subAccountId: '.$repetat->subAccountId;
}
if (isset($repetat->subAccountKeyId)){
echo $sautligne;
echo 'subAccountKeyId: '.$repetat->subAccountKeyId;
}
echo $sautligne;
}
?>
####################################################################################
#- Envoi requete
####################################################################################
import requests
url = 'https://apirest.isendpro.com/cgi-bin/subaccount'
params = {
'keyid': 'a296464ce012b8ab710a',
'subAccountLogin': 'MonIdentifiant',
'subAccountPassword': 'MonMotdpasse',
'subAccountEdit': 'addAccount'
}
response = requests.post(url, params)
print(response.text)
####################################################################################
#- Traitement du retour
####################################################################################
reponsejson=response.json()
repetat=reponsejson['etat']
if not repetat.has_key('code'):
try:
repetat=reponsejson['etat']['etat'][0]
except:
repetat=reponsejson['etat']['etat']
# Erreur generale
if not repetat.has_key('subAccountLogin'):
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
# Infos de retour
else:
print 'Code: '+repetat['code']
print 'Message: '+repetat['message']
print 'subAccountLogin: '+repetat['subAccountLogin']
if repetat.has_key('subAccountId'):
print 'subAccountId: '+repetat['subAccountId']
if repetat.has_key('subAccountKeyId'):
print 'subAccountKeyId: '+repetat['subAccountKeyId']
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import com.google.gson.Gson;
public class TestDocs {
private static HttpURLConnection con;
public static void main(String[] args) throws IOException {
////////////////////////////////////////////////////////////////////////////////////
// Envoi requete
////////////////////////////////////////////////////////////////////////////////////
var url = "https://apirest.isendpro.com/cgi-bin/subaccount";
Map<String, String> paramsTablo = new HashMap<>();
paramsTablo.put("keyid", "a296464ce012b8ab710a");
paramsTablo.put("subAccountLogin", "MonIdentifiantJava");
paramsTablo.put("subAccountPassword", "MonMotdpasse");
paramsTablo.put("subAccountEdit", "addAccount");
Gson gson = new Gson();
String urlParameters = gson.toJson(paramsTablo);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
try {
var myurl = new URL(url);
con = (HttpURLConnection) myurl.openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
try (var wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
}
StringBuilder content;
InputStream ret;
if (con.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
ret = con.getInputStream();
} else {
ret = con.getErrorStream();
}
try (var br = new BufferedReader(new InputStreamReader(ret))) {
String line;
content = new StringBuilder();
while ((line = br.readLine()) != null) {
content.append(line);
content.append(System.lineSeparator());
}
}
System.out.println(content.toString());
////////////////////////////////////////////////////////////////////////////////////
// Traitement du retour
////////////////////////////////////////////////////////////////////////////////////
Map reponsejson = new Gson().fromJson(content.toString(), Map.class);
Map repetat = (Map)reponsejson.get("etat");
if (! repetat.containsKey("code")){
try{
repetat=(Map)reponsejson.get("etat");
var repetatArray=((ArrayList)(repetat.get("etat"))).get(0);
repetat=(Map)(repetatArray);
}catch(Exception e) {
repetat=(Map)reponsejson.get("etat");
repetat=(Map)repetat.get("etat");
}
}
// Erreur generale
if (! repetat.containsKey("subAccountLogin")){
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
// Infos de retour
}else{
System.out.println("Code: "+repetat.get("code"));
System.out.println("Message: "+repetat.get("message"));
System.out.println("subAccountLogin: "+repetat.get("subAccountLogin"));
if (repetat.containsKey("subAccountId")){
System.out.println("subAccountId: "+repetat.get("subAccountId"));
}
if (repetat.containsKey("subAccountKeyId")){
System.out.println("subAccountKeyId: "+repetat.get("subAccountKeyId"));
}
}
} finally {
con.disconnect();
}
}
}
LES AVANTAGES DES API SMS iSendPro Telecom
Nos API SMS sont facilement et rapidement intégrables grâce à des documentations techniques API SMS simples, intuitives, et disponibles en ligne.
Expert du routage SMS depuis 2002, nous sommes opérateur télecom ARCEP et raccordés en en direct avec les opérateurs mobiles.
Nos API SMS sont mises à jour régulièrement et de nouvelles fonctionnalités sont fréquemment ajoutées.
Nos conseillers basés en France vous accompagnent à chacune des étapes de l'implémentation de nos API SMS et dans leur utilisation au quotidien.
Notre infrastructure est située dans le DataCenter TAS France à Sophia Antipolis (certifié ISO 9001:2008) et répliquée sur un site de secours situé à Paris en cas d'indisponibilité.
En continuant de naviguer sur notre site, vous acceptez d'utiliser les cookies conformément aux paramètres actuels du navigateur.