Les documentations des
produits et offres sMsmode

Un ensemble de fiches produits et fiches de présentation pour vous fournir une information complète sur la palette de produits et services proposés par sMsmode.

fiche Api HTTP

Spécifications des requêtes pour l’utilisation de notre API HTTP

sMsmode vous fournit des API pour l’envoi de SMS à intégrer dans vos applications. Nos requêtes SMS HTTP vous permettent d’automatiser l’envoi de vos informations. Outre l’envoi différé, l’interface API pour les SMS offre de nombreuses possibilités : personnalisation de l’expéditeur, gestion des accusés de réception, gestions des contacts…

TÉLÉCHARGER LE PDF – Français (764 kO)
TÉLÉCHARGER LE PDF – English (627 kO)

send_sms("999931230", "Test éà0 € $ £", "Emetteur123", "ref123");

function send_sms($num, $texte, $emetteur, $ref) {
$url = 'https://api.smsmode.com/http/1.6/sendSMS.do';
$texte = iconv("UTF-8", "ISO-8859-15", $texte);
$fields_string = 'accessToken=AAAAZZZZZZxxxxxxYYYYYYYY&&message='.urlencode($texte).'&numero='.$num.'&emetteur='.$emetteur.'&refClient='.$ref.'&stop=1';

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);

curl_close($ch);
return $result;
}
const urlencode = require('urlencode');
const http = require('https');
const querystring = require('querystring');

var postData = querystring.stringify({
 'accessToken': '', // à compléter (Obligatoire)
 'numero': '', // à compléter (Obligatoire)
 'emetteur' : '', // à compléter (Optionnel)
 'stop' : '1' // Optionnel (gère l'ajout d'un STOP pour le marketing quand l'émetteur est personnalisé
 });

//Traitement du texte du message
var message = ""; //à compléter
postData = postData + "&message=" + urlencode(message,'ISO-8859-15');

const options = {
 hostname: 'api.smsmode.com',
 port: 443,
 path: '/http/1.6/sendSMS.do',
 method: 'POST',
 headers: {
 'Content-Type': 'application/x-www-form-urlencoded; charset=ISO-8859-15',
 'Content-Length': Buffer.byteLength(postData)
 }
};

const req = http.request(options, (res) => {
 console.log(`STATUS: ${res.statusCode}`);
 res.on('data', (chunk) => {
 console.log(`BODY: ${chunk}`);
 });
res.on('end', () => { console.log('No more data in response.'); }); }); req.on('error', (e) => { console.error(`problem with request: ${e.message}`); }); // write data to request body req.write(postData); req.end();
package com.calade.tools.temp;

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.util.EncodingUtil;

public class ExempleClientHttpAPI {
 
 private String accessToken;
 private String BASE_URL = "https://api.smsmode.com/http/1.6/";
 
 public ExempleClientHttpAPI(String accessToken) {
 super();
 this.accessToken = accessToken;
 }
 
 public static void main(String[] args) {
 String accessToken = "xxxxYYYYYYAAAAAZZZZZZ";
 String message = "Exemple de SMS €€ éé ££££ ùùùù";
 String destinataires = "06XXXXXXXXX,07YYYYYYYY"; //Destinataires séparés par une virgule
 String emetteur = "toto123"; //Paramètre optionnel, permet de gérer l'émetteur du SMS 
 String stopOption = "1"; //Permet de gérer le STOP sms lors d'un envoi marketing (cf. documentation API HTTP)
 
 ExempleClientHttpAPI client = new ExempleClientHttpAPI(accessToken);
 
 client.sendSMSUsingGet(message, destinataires, emetteur, stopOption);
 client.sendSMSUsingPost(message, destinataires, emetteur, stopOption);
 }
 
 public void sendSMSUsingGet(String message, String destinataires, String emetteur, String optionStop) {
 try {
 String getURL = BASE_URL + "sendSMS.do";
 GetMethod httpMethod = new GetMethod(getURL);
 httpMethod.addRequestHeader("Content-Type", "plain/text; charset=ISO-8859-15");
 
 NameValuePair params[] = { new NameValuePair("accessToken", this.accessToken), //
 new NameValuePair("message", message), //
 new NameValuePair("numero", destinataires), //Destinataires séparés par une virgule
 new NameValuePair("emetteur", emetteur), //Paramètre optionnel, permet de gérer l'émetteur du SMS
 new NameValuePair("stop", optionStop) //Permet de gérer le STOP sms lors d'un envoi marketing (cf. documentation API HTTP)
 };
 
 httpMethod.setQueryString(EncodingUtil.formUrlEncode(params, "ISO-8859-15"));
 
 System.out.println(httpMethod.getURI() + "" + httpMethod.getQueryString());
 
 executeMethod(httpMethod);
 } catch (Exception e) {
 manageError(e);
 }
 }
 
 private void executeMethod(HttpMethod httpMethod) throws IOException, HttpException {
 HttpClient httpClient = new HttpClient();
 
 System.out.println(httpMethod);
 int codeReponse = httpClient.executeMethod(httpMethod);
 verifyReponse(httpMethod, codeReponse);
 }
 
 private void verifyReponse(HttpMethod httpMethod, int codeReponse) throws IOException {
 if (codeReponse == HttpStatus.SC_OK || codeReponse == HttpStatus.SC_ACCEPTED) {
 String result = new String(httpMethod.getResponseBody());
 System.out.println(result);
 }
 }
 
 private void manageError(Exception e) {
 e.printStackTrace();
 System.err.println("Erreur durant l'appel de l'API");
 }
 
 public void sendSMSUsingPost(String text, String destinataires, String emetteur, String optionStop) {
 try {
 String postURL = BASE_URL + "sendSMS.do";
 PostMethod httpMethod = new PostMethod(postURL);
 httpMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-15");
 
 NameValuePair data[] = { new NameValuePair("accessToken", this.accessToken), //
 new NameValuePair("message", text), //
 new NameValuePair("numero", destinataires), //Destinataires séparés par une virgule
 new NameValuePair("emetteur", emetteur), //Paramètre optionnel, permet de gérer l'émetteur du SMS
 new NameValuePair("stop", optionStop) //Permet de gérer le STOP sms lors d'un envoi marketing (cf. documentation API HTTP)
 };
 httpMethod.setRequestBody(data);
 
 System.out.println("///////////////////////");
 httpMethod.getRequestEntity().writeRequest(System.out);
 executeMethod(httpMethod);
 
 } catch (Exception e) {
 manageError(e);
 }
 }
}
--- Mode GET
import requests
r = requests.get('https://api.smsmode.com/http/1.6/sendSMS.do?accessToken=TOKEN&message=MESSAGE&numero=0612345678')
print r.text

--- Mode POST
import requests
payload = {'accessToken': 'TOKEN', 'message': 'MESSAGE', 'numero':'0612345678'}
r = requests.post("https://api.smsmode.com/http/1.6/sendSMS.do", data=payload)
print r.text
--- Mode GET
using System.Net.Http;
private static readonly HttpClient client = new HttpClient();
var responseString = await client.GetStringAsync("https://api.smsmode.com/http/1.6/sendSMS.do?accessToken=TOKEN&message=MESSAGE&numero=NUMERO");

--- Mode POST
using System.Net.Http;
private static readonly HttpClient client = new HttpClient();
var values = new Dictionary
{
 {'accessToken' : 'TOKEN'}, 
 {'message': 'MESSAGE'}, 
 {'numero' : 'NUMERO'}
};

var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("https://api.smsmode.com", content);
var responseString = await response.Content.ReadAsStringAsync();

ResLancement = HTTPRequête("https://api.smsmode.com")
SI ResLancement = Vrai ALORS
ResCode = HTTPDonneRésultat()
Info("Code HTML : " + ResCode)
FIN