Découvrez les nouvelles API d'Orange : identité, cloud, IoT, proximité, etc.
Pour le développement de services innovants
Le 2010-07-06 20:31:59, par Bovino, Rédacteur
L'équipe de développement des API Orange vient de mettre à la disposition des lecteurs de developpez.com un tutoriel présentant l'utilisation de leurs API :
Merci à eux et en particulier à climagne pour le travail accompli et l'enthousiasme qu'elle a mis à mettre cet article à notre disposition.
Bien entendu, n'hésitez pas à poster à la suite vos remarques, interrogations, commentaires mais aussi encouragements.
-
Francis WalterExpert éminent séniorBonjour,
Nouvelle mise à jour de l'article : Découvrez les nouvelles API d'Orange : identité, cloud, IoT, proximité, etc. pour le développement de services innovants
Bonne lecture.le 08/02/2016 à 10:39 -
Harbor66Membre du ClubBonjour,
Peu de réponse sur ce sujet !!
Alors comme mon soucis est résolu avec le concours compétent du Support Esendex, je viens poster le code sur ce forum au cas où.....Code VBA : 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
48Private Sub BtnSend_Click() 'reference Microsoft Forms 2.0 Object Library doit être ajoutée Dim mainURL As String Dim finalURL As String Dim objXML As Object Dim strResponse As String Dim Username As String, Password As String, Account As String, Recipient As String, Body As String 'fill your data HERE 'Username = "UsernameEssendex" Username = Form_F_SMS.Username.Value 'Password = "Password Esendex" Password = Form_F_SMS.Password.Value 'Account = "AccountEsendex" Account = Form_F_SMS.Account.Value 'Recipient = "N° Tel" Recipient = Form_F_SMS.Recipient.Value 'Body = "Message" Body = Form_F_SMS.Body.Value 'mainURL mainURL = "https://www.esendex.com/secure/messenger/formpost/SendSMS.aspx?" 'build URL - ne pas modifier finalURL = mainURL & "username=" & Username & "&password=" & Password & "&account=" & Account & "&recipient=" & Recipient & "&body=" & Body & " &plaintext=1" 'set Post Url Object Set objXML = CreateObject("MSXML2.XMLHTTP") 'open post url process objXML.Open "POST", finalURL, False 'send message request objXML.send 'retrieve response strResponse = objXML.responseText 'display response (messageID) MsgBox strResponse 'Ferme le Formulaire SMS DoCmd.Close acForm, "F_SMS" End Sub
Cordialement
Rolandle 13/08/2015 à 9:00 -
Harbor66Membre du ClubBonjour,
Intéressant soit mais je n'ai rien vu sur l'envoi de SMS ??le 08/02/2016 à 11:07 -
EsCrOwMembre régulierComment est facturée l'envoie de SMS ?
1envoie de SMS = 1 crédit ?
1 crédit = combien d'euro ?
Ceci dit, cette API me parait bien intéréssant.le 08/07/2010 à 14:50 -
climagneMembre habituéAvec le même compte Orange API, vous pouvez utiliser toutes les API disponibles.
Le nombre de crédits débités dépend de l'API utilisée.
Chaque crédit vaut 0.01 € TTC.
Un SMS vers la France coûte 10 crédits, un SMS vers l'international coûte 15 crédits.
=> Donc un SMS vers la France coûte 0.10 €
Pour plus d'information, vous pouvez aller voir ce lien :
http://api.orange.com/fr/api/sms-api/tarifs,1le 08/07/2010 à 16:03 -
momjuniorMembre actifBonjour
J'aimerais juste vous rappeler que vous avez oublié (ou fait exprès) de mentionner le code en JAVA qui permet de recevoir les sms.
Très bon tuto en passant,ça m'aide énormément.
Encore mercile 20/02/2011 à 11:06 -
climagneMembre habituéBonjour,
Je peux vous fournir un exemple très simple de code JAVA pour recevoir les SMS.
Mais je mettrai bientôt à disposition un lien pour récupérer des SDK en JAVA / .Net (C#) / PHP qui utilisent les API et qui fournissent des exemples de code plus complets dans ces 3 langages.
Pour recevoir un sms, il faut créer une servlet :
Code JAVA : 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
33package com.orange.api.sms.sample; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.orange.api.sms.business.data.ReceiveSms; public class ReceiveSmsServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String content = request.getParameter("content"); String from = request.getParameter("from"); String api = request.getParameter("api"); if (content != null && !content.equals("")) { String response = "Received sms from " + from + ", api was : " + api + ", and content was : " + content; String header="<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \n"; System.out.println(header + response); response.getOutputStream().print(header + response); response.setCharacterEncoding("UTF-8"); response.setContentType("text/xml"); } } }
Bonne continuation avec les API.le 21/02/2011 à 14:02 -
momjuniorMembre actifMerci beaucoup,je vais l'exploiter,et j'attends avec impatience votre lien concernant les SDK.
Mais pour l'instant j'ai un problème concernant l'envoi de sms.J'ai pu avoir une clé d'accès avec un compte crédité de 200.
J'ai créé une page jsp qui récupère un numéro de téléphone et le message à envoyer sur le mobile.
Ensuite j'ai créé une servlet tout en essayant votre code d'envoi de sms.Çà nous donne ceci:Code JAVA : 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
83
84
85
86
87
88
89
90import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.*; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.xml.sax.SAXException; /** * * @author Mo */ public class EnvoiMessage extends HttpServlet { @Override protected void doGet(HttpServletRequest requete, HttpServletResponse reponse) throws ServletException, IOException { doPost(requete , reponse); } @Override protected void doPost(HttpServletRequest requete, HttpServletResponse reponse) throws ServletException, IOException { reponse.setContentType("text/html"); String phoneNumber = requete.getParameter("telephone"); String message = requete.getParameter("message"); System.out.println(phoneNumber); System.out.println(message); String textMessage = URLEncoder.encode(message, "UTF-8"); String apiAccessKey = "a1234b56789"; String url = "http://sms.alpha.orange-api.net/sms/sendSMS.xml?id=" + apiAccessKey + "&to=" + phoneNumber + "&content=" + textMessage; // Send GET request URL client = new URL(url); URLConnection conn = client.openConnection(); InputStream responseBody = conn.getInputStream(); // Convert in XML document Document response = null; try { response = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(responseBody); } catch (ParserConfigurationException ex) { } catch (SAXException ex) { } responseBody.close(); // Xpath expression to get the status XPath xPath = XPathFactory.newInstance().newXPath(); String status; try { status = xPath.evaluate("/response/status/status_msg", response); System.out.println("Status: " + status); } catch (XPathExpressionException ex) { } // display status } }
Bien entendu j'ai masqué ma clé
Donc quand je clique sur le bouton "Envoyer" de ma page web,la servlet est invoquée,mais j'ai le message suivant :
Status: Unauthorized destination
Merci beaucouple 22/02/2011 à 19:33 -
climagneMembre habituéBonjour,
Votre code java est correct car vous arrivez à atteindre l'API qui vous renvoie un de ses messages :
Code : 1
2Code : 441 Message : unauthorised destination (destination non autorisée)
Est-ce qu'il est bien au format international ?
Exemple pour la France : 336xxxxxxxx.
Est-ce que vous êtes bien dans la zone de couverture pour l'envoi de SMS ?le 23/02/2011 à 9:06 -
momjuniorMembre actifBonjour
Je suis bien dans la zone de couverture,l'opérateur est Orange Sénégal (je suis à Dakar).
J'ai essayé 2 formats de numéro,avec l'indicatif (+22177xxxxxxx),et sans l'indicatif (77xxxxxxx).
Mais toujours rien.
Au fait pour pouvoir envoyer ou recevoir des sms,dois-je héberger mon site?
Mercile 24/02/2011 à 0:34