Apprendre à envoyer des SMS avec l'API SMS d'Orange :
Exemple de code NodeJs
Le 2016-10-11 22:47:26, par Francis Walter, Expert éminent sénior
Bonjour,
Je vous présente un article sur l'envoie de SMS avec l'API SMS de Orange.
Envoyé par Introduction
Retrouvez les autres cours et tutoriels pour apprendre à programmer avec les APIs d'Orange
Retrouvez tous les meilleurs cours et tutoriels Solution d'entreprise.
Je vous présente un article sur l'envoie de SMS avec l'API SMS de Orange.
-
Community ManagementCommunity Managerle 09/02/2017 à 17:29
-
Pierre Louis ChevalierExpert éminent séniorNon : L’API SMS d’Orange disponible dans certains pays en zone d’Afrique et Moyen-Orientle 16/11/2016 à 15:11
-
NépomucèneModérateurCela fonctionne sur l'Europe ?le 12/10/2016 à 10:33
-
devalenderMembre éprouvéBonjour a tous
S'il vous plait ne pourrait ton pas avoir de tuto aussi bien faite en php ?
Merci à tousle 12/10/2016 à 12:18 -
Oscar.STEFANINIMembre régulierDu coup on peut envoyer des sms avec n'importe quel numéro de téléphone ?? vers n'importe lequel ?le 13/10/2016 à 13:47
-
steel-fingerMembre confirméPetit précision la fonction suivante : `new Buffer()` est déprécié il faut utilisé `Buffer.from()`le 14/10/2016 à 7:11
-
Orange_PartnerCandidat au Club@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.le 24/10/2016 à 14:14 -
Orange_PartnerCandidat au Club@Devalender, merci de regarder ce tuto mise en ligne par des Developer ivoiriensle 24/10/2016 à 14:20
-
Oscar.STEFANINIMembre régulierMerci 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.comle 24/10/2016 à 16:41
-
PhilDeDakarMembre habituéBonjour, pour exemple le code pour utiliser cette API Orange en WDlangage de Windev (testé en V20)
Code Windev : 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 : 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
le 16/11/2016 à 13:47