L’envoi de SMS performant
Intégrez le SMS à vos applications & votre communication

Spécialiste de l’envoi et la réception de SMS, nos solutions de messageries performantes s’adaptent à tous vos besoins et tous vos volumes. Avec une couverture mondiale en connexion directe opérateurs, les solutions de notre plateforme d’envoi de SMS vous permettront de construire des applications via nos APIs et webservices puissants.

PLATEFORME SMS
DES SERVICES SIMPLES & PUISSANTS
ADAPTÉS À CHACUN DE VOS BESOINS

Développez votre business avec des outils performants et constamment améliorés par notre équipe. Ils sont conçus pour être intuitifs, faciles à utiliser pour réaliser vos campagnes de milliers de SMS marketing en quelques clics seulement !

 

  • plateforme SaaS en libre-service
  • fonctionnalités complètes pour l’envoi, la gestion, l’analyse ou les exports des campagnes
  • statistiques de réception fournies et gestion automatique des désabonnements

CRÉEZ VOTRE COMPTE GRATUIT

plateforme d'envoi de SMS

INTEGRATION
IMPLÉMENTEZ RAPIDEMENT NOTRE API
À L’AIDE DE NOS SDK

Intégrez toutes les fonctionnalités d’envoi, de réception et d’authentification par SMS en haute qualité dans votre
application, votre site ou logiciel, en quelques minutes. En utilIsant notre API Rest, vous réalisez des notifications par SMS rapidement, de manière fiable, sécurisée et partout dans le monde.

 

  • compatible avec tous les langages de programmation (PHP, Java, ASP, C++, Ruby, WINDEV, etc.)
  • full SDK et librairies disponibles avec des snippets des requêtes disponibles
  • forte expérience dans l’accompagnement de startups
send_sms("999931230", "MyMessage éà0 € $ £", "MySenderID", "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': 'xxxxYYYYYYAAAAAZZZZZZ', //modify (Required)
 'numero': '06XXXXXXXXX,07YYYYYYYY', //complete (Required)
 'emetteur' : 'MySenderID', //complete (Optional)
 'stop' : '1' //Optional (deal with a "STOP" add for marketing if personalized sender)
 }); 

//Text message processing
var message = "My Message €€ éé ££££ ùùùù"; //SMS text
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 = "My Message €€ éé ££££ ùùùù";
 String destinataires = "06XXXXXXXXX,07YYYYYYYY"; //Receivers separated by a comma
 String emetteur = "MySenderID"; //Optional parameter, allows to deal with the sms sender
 String stopOption = "1"; //Deal with the STOP sms when marketing send (cf. API HTTP documentation)
 
 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), //Receivers separated by a comma
 new NameValuePair("emetteur", emetteur), //Optional parameter, allows to deal with the sms sender
 new NameValuePair("stop", optionStop) //Deal with the STOP sms when marketing send (cf. API HTTP documentation) };
 
 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("Error during API call");
 }
 
 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), //Receivers separated by a comma
 new NameValuePair("emetteur", emetteur), //Optional parameter, allows to deal with the sms sender
 new NameValuePair("stop", optionStop) //Deal with the STOP sms when marketing send (cf. API HTTP documentation)
 };
 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': 'My Message', 'numero':'0612345678'}
r = requests.post("https://api.smsmode.com/http/1.6/sendSMS.do", data=payload)

print r.text
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Threading;
using System.Text;
using System.Web;

namespace Smsmode
{
 
 public class SendSMSExemple {
 
 private static readonly HttpClient _httpClient= new HttpClient(new LoggingHandler(new HttpClientHandler()));
 
 private static byte[] dictionnaryToByteArray(IEnumerable<KeyValuePair<string, string>> nameValueCollection)
 {
 StringBuilder sb = new StringBuilder();
 foreach (var nameValue in nameValueCollection) {
 if (sb.Length > 0)
 sb.Append('&');

 sb.Append(nameValue.Key);
 sb.Append('=');

 // Here is the major change
 sb.Append(HttpUtility.UrlEncode(nameValue.Value, Encoding.GetEncoding("iso-8859-15") ));
 }

 return Encoding.Default.GetBytes(sb.ToString());
 }
 
 public static void Main(string[] args)
 {
 // Send SMS via HTTP GET request
 new SendSMSExemple().sendSMSGet();
 
 // Send SMS via HTTP GET requête 
 new SendSMSExemple().sendSMSPost();
 
 }

 public void sendSMSGet()
 {
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// Beginning Send SMS HTTP Get");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 
 // From synchronous code
 string token = "AAAAAAAAAAAAABBBBBBBBBBBxxxxxxxxxxxxx";
 string numero = "06XXyyxxYY,07XXYYAABB"; 
 string message = "My Message éà € $£ % -- HTTP GET";
 string url = "https://api.smsmode.com/http/1.6/sendSMS.do?accessToken="+token+"&numero="+numero;
 

 string urlEncodedMessage = HttpUtility.UrlEncode(message, Encoding.GetEncoding("ISO-8859-15"));
 
 url = url + "&message="+urlEncodedMessage;
 
 string result = Get(url).Result;
 
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// End Send SMS HTTP Get");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 

 
 }
 public void sendSMSPost()
 { 
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// Beginning Send SMS HTTP POST");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 
 // From synchronous code
 string url = "https://api.smsmode.com/http/1.6/sendSMS.do";
 
 var values = new Dictionary<string, string>{
 { "accessToken" , "AAAAAAAAAAAAABBBBBBBBBBBxxxxxxxxxxxxx"},
 { "numero", "06XXyyxxYY,07XXYYAABB" },
 { "message", "My Message éà € $£ % -- HTTP POST" }
 };

 string result = Post(url,values).Result;
 
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// End Send SMS HTTP POST");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 
 }

 public static async Task<string> Get(string url){
 
 using (var result = await _httpClient.GetAsync(url)){
 string content = await result.Content.ReadAsStringAsync();
 return content;
 }
 }
 public static async Task<string> Post(string url, System.Collections.Generic.Dictionary<string, string> values){
 
 byte[] data = dictionnaryToByteArray(values);
 ByteArrayContent byteContent = new ByteArrayContent(data);
 byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
 byteContent.Headers.ContentType.CharSet = Encoding.GetEncoding("ISO-8859-15").HeaderName; 
 
 using (var response = await _httpClient.PostAsync(url,byteContent)){ 
 string result = await response.Content.ReadAsStringAsync();
 return result;
 }
 }
 
 }
 
 public class LoggingHandler : DelegatingHandler{
 
 public LoggingHandler(HttpMessageHandler innerHandler)
 : base(innerHandler)
 {
 }

 protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
 {
 Console.WriteLine("//-----------------------------------------------------------------------------------------------//");
 Console.WriteLine("Request:");
 Console.WriteLine("//-----------------------------------------------------------------------------------------------//");
 Console.WriteLine(request.ToString());
 if (request.Content != null)
 {
 Console.WriteLine(await request.Content.ReadAsStringAsync());
 }
 Console.WriteLine();

 HttpResponseMessage response = await base.SendAsync(request, cancellationToken);

 Console.WriteLine("//-----------------------------------------------------------------------------------------------//");
 Console.WriteLine("Response:");
 Console.WriteLine("//-----------------------------------------------------------------------------------------------//");
 Console.WriteLine(response.ToString());
 if (response.Content != null)
 {
 Console.WriteLine(await response.Content.ReadAsStringAsync());
 }
 Console.WriteLine();

 return response;
 }
 }

}
ResLancement = HTTPRequête("https://api.smsmode.com")
SI ResLancement = Vrai ALORS
 ResCode = HTTPDonneRésultat()
 Info("Code HTML : " + ResCode)
FIN
require 'net/http'
#require 'open-uri'
require 'uri'
require 'json'


BASE_URL = "https://api.smsmode.com/http/1.6/"
accessToken = "ShdeIOjdXxxxXXxxxx"
message = "My Message €€ éé ££££ ùùùù"
destinataires = "062xxxxxxx,074xxxxxxx" #Receivers separated by a comma
emetteur = "MySenderID" #Optional parameter, allows to deal with sms sender
stopOption = "1" #Allow to deal with STOP sms when marketing send (cf. API HTTP documentation)

# send SMS with GET method

header = {'Content-Type': 'plain/text; charset=ISO-8859-15'}
params = { :accessToken => accessToken, :message => message.encode(Encoding::ISO_8859_15), :numero => destinataires, :emetteur => emetteur, :stop => stopOption}

uri = URI.parse(BASE_URL + 'sendSMS.do');
uri.query = URI.encode_www_form(params)

http = Net::HTTP.new(uri.host,uri.port)
http.use_ssl = true # Enable HTTP method
request = Net::HTTP::Get.new(uri.request_uri,header)


res = http.request(request)
puts res.code
puts res.body

# send SMS with POST method

header = {'Content-Type': 'application/x-www-form-urlencoded; charset=ISO-8859-15'}
params = { :accessToken => accessToken, :message => message.encode(Encoding::ISO_8859_15), :numero => destinataires, :emetteur => emetteur + 'Post', :stop => stopOption}
uri = URI.parse(BASE_URL + 'sendSMS.do');

http = Net::HTTP.new(uri.host,uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri,header)
request.body = URI.encode_www_form(params)

res = http.request(request)
puts res.code
puts res.body

import scalaj.http.Http

object SendSMSExample extends App {

 //get method to send SMS
 var SendSMSUsingGET = Http("https://api.smsmode.com/http/1.6/sendSMS.do")
 .param("accessToken","xxxxYYYYYYAAAAAZZZZZZ")
 .param("message","My Message €€ éé ££££ ùùùù")
 .param("numero","06XXXXXXXXX,07YYYYYYYY")
 .charset("ISO-8859-15")
 .asString.body

 println(SendSMSUsingGET)

 //POST method to send SMS
 var SendSMSUsingPOST = Http("https://api.smsmode.com/http/1.6/sendSMS.do")
 .postForm(
 Seq(
 "accessToken" -> "xxxxYYYYYYAAAAAZZZZZZ",
 "message" -> "My Message €€ éé ££££ ùùùù",
 "numero" -> "06XXXXXXXXX,07YYYYYYYY",
 "emetteur" -> "Emeteur"
 )
 )
 .charset("ISO-8859-15")
 .asString.body

 println(SendSMSUsingPOST)

}

AVANTAGES & GARANTIES DE SERVICE
TESTEZ LA DIFFÉRENCE SMSMODE !

4millions de requêtes
API traitées par jour

envoi de SMS connexion direct opérateursUn routage en direct opérateurs
en notre qualité d’Opérateur Télécom ARCEP

10000clients accompagnés
depuis 2004

Confidentialité des donnéesUne confidentialité
de vos envois SMS

garantie par un cryptage
de vos données

Proximité de nos services d'envoi de SMSUn service de proximité
avec des interlocuteurs et
des solutions techniques
exclusivement basés à Marseille

support 24/7Un support 24/7
incluant un système
de gestion de tickets
réactif

Membre de la French TechMembre de la French
Tech Aix-Marseille

Besoin de plus d’infos ?
N’hésitez pas à nous contacter.

GSMA_logo_colour_web (1)
mma-og