IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre à envoyer des SMS avec l'API SMS d'Orange :
Exemple de code NodeJs

Le , par Francis Walter

144PARTAGES

6  2 
Bonjour,

Je vous présente un article sur l'envoie de SMS avec l'API SMS de Orange.

Citation Envoyé par Introduction
L’API SMS d’Orange disponible dans certains pays en zone d’Afrique et Moyen-Orient permet l'envoi et la réception de SMS vers les mobiles du monde entier, quel que soit l'opérateur. Il vous permet de toucher plus rapidement votre cible comparé à l’email.
L’API peut être utile pour envoyer un accusé de réception d’une livraison, diffuser des informations à une liste de clients, souhaiter la bonne année à une liste de numéros, créer un groupe de discussion par SMS, organiser un sondage.
Cet article vous expliquera en quelques étapes comment faire votre premier appel à l'API SMS en Node*js qui va récupérer le résultat de la requête au format JSON (JavaScript Object Notation) pour l’afficher dans votre application.

Retrouvez les autres cours et tutoriels pour apprendre à programmer avec les APIs d'Orange
Retrouvez tous les meilleurs cours et tutoriels Solution d'entreprise.
Vous avez lu gratuitement 8 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Community Management
Community Manager https://www.developpez.com
Le 09/02/2017 à 17:29
Bonjour à tous,

Un sondage pour partager votre retour d'expérience sur l'API SMS d'Orange

3  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 16/11/2016 à 15:11
Citation Envoyé par fabi75 Voir le message
Cela marche en France? je ne trouve pas l'API française sur le lien vers orange
Non : L’API SMS d’Orange disponible dans certains pays en zone d’Afrique et Moyen-Orient
1  0 
Avatar de Népomucène
Modérateur https://www.developpez.com
Le 12/10/2016 à 10:33
Cela fonctionne sur l'Europe ?
0  0 
Avatar de devalender
Membre éprouvé https://www.developpez.com
Le 12/10/2016 à 12:18
Bonjour a tous

S'il vous plait ne pourrait ton pas avoir de tuto aussi bien faite en php ?

Merci à tous
0  0 
Avatar de Oscar.STEFANINI
Membre régulier https://www.developpez.com
Le 13/10/2016 à 13:47
Du coup on peut envoyer des sms avec n'importe quel numéro de téléphone ?? vers n'importe lequel ?
0  0 
Avatar de steel-finger
Membre confirmé https://www.developpez.com
Le 14/10/2016 à 7:11
Petit précision la fonction suivante : `new Buffer()` est déprécié il faut utilisé `Buffer.from()`
0  0 
Avatar de Orange_Partner
Candidat au Club https://www.developpez.com
Le 24/10/2016 à 14:14
Citation Envoyé par Oscar.STEFANINI Voir le message
Du coup on peut envoyer des sms avec n'importe quel numéro de téléphone ?? vers n'importe lequel ?
@Oscar, il ne s'agit pas d'envoi de SMS à Partir d'un d'un téléphone. Nous parlons des SMS que vous pouvez envoyer à vos clients à partir de votre application.
L'offre que nous vous proposons vois permets cependant d'envoyer des SMS à vos client quelque soit leur opérateur.
0  0 
Avatar de Orange_Partner
Candidat au Club https://www.developpez.com
Le 24/10/2016 à 14:20
Citation Envoyé par devalender Voir le message
Bonjour a tous

S'il vous plait ne pourrait ton pas avoir de tuto aussi bien faite en php ?

Merci à tous
@Devalender, merci de regarder ce tuto mise en ligne par des Developer ivoiriens
0  0 
Avatar de Oscar.STEFANINI
Membre régulier https://www.developpez.com
Le 24/10/2016 à 16:41
Citation Envoyé par Orange_Partner Voir le message
@Oscar, il ne s'agit pas d'envoi de SMS à Partir d'un d'un téléphone. Nous parlons des SMS que vous pouvez envoyer à vos clients à partir de votre application.
L'offre que nous vous proposons vois permets cependant d'envoyer des SMS à vos client quelque soit leur opérateur.
Merci beaucoup de votre réponse. après relecture de mon message, je me rends compte à quel point j'avais lu la news de travers. Bien à vous et merci de nous faire disposer d'api et d'en parler sur developpez.com
0  0 
Avatar de PhilDeDakar
Membre habitué https://www.developpez.com
Le 16/11/2016 à 13:47

Bonjour, pour exemple le code pour utiliser cette API Orange en WDlangage de Windev (testé en V20)

// API Orange : Récupération du nombre d'unité disponible
i,j est un entier
ExpirationTime est un entier sans signe
UrlToken, ClientID, ClientSecret, AuthorizationHeader, EntêteHTTPsupplémentaire, Body, ResEntêteApi, ResApi, Tag sont des chaînes
Token, UrlSendSMS est une chaîne

stResApiJson est une Structure
country est une chaîne
service est une chaîne
contractId est une chaîne
availableUnits est un entier
expires est une chaîne
scDescription est une chaîne
END

MyBuffer est un Buffer
MyResApiJson est une stResApiJson


//----- Demande un jeton
UrlToken = "https://api.orange.com/oauth/v2/token"

ClientID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ClientSecret = "xxxxxxxxxxxxxxxxx"
AuthorizationHeader = "Basic " + Crypte(ClientID + ":" + ClientSecret, "", crypteAucun, encodeBASE64)

EntêteHTTPsupplémentaire = "Authorization: " + AuthorizationHeader

Body = [
grant_type=client_credentials
]
Token = ""

IF HTTPRequête(UrlToken, "", EntêteHTTPsupplémentaire, Body) THEN
ResEntêteApi = HTTPDonneRésultat(httpEntête)
IF ExtraitChaîne(ResEntêteApi,1,RC) = "HTTP/1.1 200 OK" THEN
ResApi = HTTPDonneRésultat(httpRésultat)
Token = ExtraitChaîne(ExtraitChaîne(ResApi, 4,Caract(10)), 4, Caract(34))
ExpirationTime = Val(ExtraitChaîne(Remplace(ExtraitChaîne(ResApi,5, Caract(0x0a)),TAB,""),4,Caract(34)))
END
ELSE
Info( ErreurInfo(errMessage))
STOP
END

//----- Envoie la demande

UrlSendSMS = "https://api.orange.com/sms/admin/v1/contracts"
EntêteHTTPsupplémentaire = "Authorization: Bearer " + Token

IF HTTPRequête(UrlSendSMS, "", EntêteHTTPsupplémentaire, "") THEN
ResEntêteApi = HTTPDonneRésultat(httpEntête)
ResApi = HTTPDonneRésultat(httpRésultat)
IF ExtraitChaîne(ResEntêteApi, 1, RC) = "HTTP/1.1 200 OK" THEN
Tag = [
"country":"SEN"
]
i = Position(ResApi, Tag)
IF i > 0 THEN
j = Position(ResApi, "}", i)
IF j > 0 THEN
MyBuffer = ResApi[[i-1 A j]]
MyResApiJson:country = ""
MyResApiJson:service = ""
MyResApiJson:contractId = ""
MyResApiJson:availableUnits = -1
MyResApiJson:expires = ""
MyResApiJson:scDescription = ""
Désérialise(MyResApiJson, MyBuffer,psdJSON)
Info(ChaîneConstruit("il reste %1 unité(s)",MyResApiJson:availableUnits))
ELSE
Erreur("La structure de la réponse est incorrecte !")
END
ELSE
Erreur(ChaîneConstruit("Tag : %1 not found !", Tag))
END
ELSE
Erreur(ResEntêteApi)
END
ELSE
Trace(ErreurInfo(errMessage))
END


// API Orange : Envoyer un sms
ExpirationTime est un entier sans signe
UrlToken, ClientID, ClientSecret, AuthorizationHeader, EntêteHTTPsupplémentaire, Body, ResEntêteApi, ResApi sont des chaînes
Token, SenderAddress, SenderName, ReceiverAdress, UrlSendSMS, TypeDuMessage, MessageSMS est une chaîne

//----- Demande un jeton
UrlToken = "https://api.orange.com/oauth/v2/token"

ClientID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ClientSecret = "xxxxxxxxxxxxxxxxx"
AuthorizationHeader = "Basic " + Crypte(ClientID + ":" + ClientSecret, "", crypteAucun, encodeBASE64)

EntêteHTTPsupplémentaire = "Authorization: " + AuthorizationHeader

Body = [
grant_type=client_credentials
]
Token = ""

IF HTTPRequête(UrlToken, "", EntêteHTTPsupplémentaire, Body) THEN
ResEntêteApi = HTTPDonneRésultat(httpEntête)
IF ExtraitChaîne(ResEntêteApi,1,RC) = "HTTP/1.1 200 OK" THEN
ResApi = HTTPDonneRésultat(httpRésultat)
Token = ExtraitChaîne(ExtraitChaîne(ResApi, 4,Caract(10)), 4, Caract(34))
ExpirationTime = Val(ExtraitChaîne(Remplace(ExtraitChaîne(ResApi,5, Caract(0x0a)),TAB,""),4,Caract(34)))
ELSE

END
ELSE
Info( ErreurInfo(errMessage))
STOP
END

//----- Envoie un sms
SenderAddress = "33123456789" // sans le + mais avec l'indicatif 33=France 221=Sénégal
SenderName = "Philippe"
ReceiverAdress = "+221013456789"
MessageSMS = "Il est " + HeureVersChaîne(HeureSys(),"hh:mm:ss")

UrlSendSMS = "https://api.orange.com/smsmessaging/v1/outbound/tel%3A%2B" + SenderAddress + "/requests"
EntêteHTTPsupplémentaire = "Authorization: Bearer " + Token // attention aux espaces 1 seul après ":" et après "Bearer"
Body = [
{
"outboundSMSMessageRequest":{
"address":"tel:%3",
"outboundSMSTextMessage":{
"message":"%4"
},
"senderAddress":"tel:+%1",
"senderName":"%2"
}
}
]
Body = ChaîneConstruit(Body, SenderAddress, SenderName, ReceiverAdress, MessageSMS)

TypeDuMessage = "application/json"
IF HTTPRequête(UrlSendSMS, "", EntêteHTTPsupplémentaire, Body, TypeDuMessage) THEN
ResEntêteApi = HTTPDonneRésultat(httpEntête)
ResApi = HTTPDonneRésultat(httpRésultat)
IF ExtraitChaîne(ResEntêteApi,1,RC) = "HTTP/1.1 201 Created" THEN
Info("SMS envoyé...")
ELSE
Erreur(ResEntêteApi)
END
ELSE
Trace(ErreurInfo(errMessage))
END

0  0