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

81PARTAGES

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.

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)

Code Windev : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// 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


Code Windev : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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