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++, Rubi, 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", "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': 'xxxxYYYYYYAAAAAZZZZZZ', // à modifier (Obligatoire)
 'numero': '06XXXXXXXXX,07YYYYYYYY', // à compléter (Obligatoire)
 'emetteur' : 'emetteur123', // à 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 = "Exemple de SMS €€ éé ££££ ùùùù"; //Texte du SMS
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
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> 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 avec requête HTTP GET
 new SendSMSExemple().sendSMSGet();
 
 // Send SMS avec requête HTTP GET
 new SendSMSExemple().sendSMSPost();
 
 }

 public void sendSMSGet()
 {
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// DEBUT smsMode.com Send SMS HTTP Get");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 
 //
 string token = "AAAAAAAAAAAAABBBBBBBBBBBxxxxxxxxxxxxx";
 string numero = "06XXyyxxYY,07XXYYAABB"; 
 string message = "Test d'envoi de SMS à travers la plateforme smsMode.com !!! éà € $£ % -- 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("/////////////// FIN smsMode.com Send SMS HTTP Get");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 

 
 }
 public void sendSMSPost()
 { 
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 Console.WriteLine("/////////////// DEBUT smsMode.com Send SMS HTTP POST");
 Console.WriteLine("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////"); 
 
 //
 string url = "https://api.smsmode.com/http/1.6/sendSMS.do";
 
 var values = new Dictionary{
 { "accessToken" , "AAAAAAAAAAAAABBBBBBBBBBBxxxxxxxxxxxxx"},
 { "numero", "06XXyyxxYY,07XXYYAABB" },
 { "message", "Test d'envoi de SMS à travers la plateforme smsMode.com !!! éà € $£ % -- HTTP POST" }
 };

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

 public static async Task Get(string url){
 
 using (var result = await _httpClient.GetAsync(url)){
 string content = await result.Content.ReadAsStringAsync();
 return content;
 }
 }
 public static async Task Post(string url, System.Collections.Generic.Dictionary 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 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

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.