Vous souhaitez développer une application en Ruby qui permet d'envoyer des SMS ? Consultez nos exemples de codes pour chacune des fonctionnalités disponibles depuis notre API SMS.

				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/message/send')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								req.set_form_data({'text'=>'Nouveau message via l\'API d\'Envoyer SMS Pro depuis un script RUBY','sendername'=>'SOCIETE','recipients'=>'33600000000'}, '&')
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Message envoye"
								                puts "Le messageid : " + xmlDoc.root.elements['message'].elements['message_id'].text
								                puts "Nombre de SMS envoyes : " + xmlDoc.root.elements['message'].elements['sms_sent'].text
								                puts "Nombre de SMS restant : " + xmlDoc.root.elements['message'].elements['sms_remaining'].text
								        else
								                puts "Message non envoye : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/message/stats')
								req = Net::HTTP::Post.new(url.path)
								req.set_form_data({'messageid'=>'0'}, '&')
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Les statistiques du message : "
								                puts ""
								                puts "Nombre de SMS recu : " + xmlDoc.root.elements['stats'].elements['number_status_1'].text
								                puts "Nombre de SMS non delivre : " + xmlDoc.root.elements['stats'].elements['number_status_2'].text
								                puts "Nombre de SMS en attente chez l'operateur : " + xmlDoc.root.elements['stats'].elements['number_status_3'].text
								                puts "Nombre de SMS en cours de traitement : " + xmlDoc.root.elements['stats'].elements['number_status_4'].text
								                puts "Nombre de numero en STOP SMS : " + xmlDoc.root.elements['stats'].elements['number_status_5'].text
								                puts ""
								                puts "-------"
								                xmlDoc.root.elements['stats'].elements.each("recipient") do |element|
								                        currentLine = "Le numero " + element.elements["mobile_number"].text
								                        if  element.elements["status_id"].text == "1"
								                                currentLine += " a recu le SMS le "+ element.elements["delivered_date"].text
								                        elsif element.elements["status_id"].text == "2"
								                                currentLine += " n'a pas recu le SMS"
								                        elsif element.elements["status_id"].text == "3"
								                                currentLine += " est en attente de livraison par l'operateur"
								                        elsif element.elements["status_id"].text == "4"
								                                currentLine += " est en attente de livraison par Envoyer SMS Pro"
								                        elsif element.elements["status_id"].text == "5"
								                                currentLine += " est en STOP SMS"
								                        end
								                        puts currentLine
								                        puts "-------"
								                end
								        else
								                puts "Impossible de recuperer vos statistiques : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/message/cancel')
								req = Net::HTTP::Post.new(url.path)
								req.set_form_data({'messageid'=>'0'}, '&')
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Envoi annule : "
								                puts ""
								                puts "Messageid : " + xmlDoc.root.elements['message'].elements['message_id'].text
								                puts "Nombre de SMS recrédité : " + xmlDoc.root.elements['message'].elements['recredited_sms'].text
								                puts "Nombre de SMS restant : " + xmlDoc.root.elements['message'].elements['sms_remaining'].text
								                end
								        else
								                puts "Impossible de recuperer vos statistiques : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/account/getallaccounts')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Voici vos comptes :"
								                puts "------"
								                xmlDoc.root.elements['accounts'].elements.each("account") do |element|
								                        puts "L'account id : " + element.elements["account_id"].text
								                        puts "Le nom du compte : " + element.elements["account_name"].text
								                        puts "Le nombre de SMS restant : " + element.elements["sms_remaining"].text
								                        puts "------"
								                end
								        else
								                puts "Impossible de recuperer vos comptes : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/account/create')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								req.set_form_data({'accountname'=>'Nouveau compte RUBY'}, '&')
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Compte cree"
								                puts "L'accountid : " + xmlDoc.root.elements['account'].elements['account_id'].text
								        else
								                puts "Impossible de recuperer le statut : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/account/delete')
								req = Net::HTTP::Post.new(url.path)
								req.set_form_data({'deleteaccountid'=>'0'}, '&')
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Suppression reussie!"
								                puts "Voici vos comptes :"
								                puts "------"
								                xmlDoc.root.elements['accounts'].elements.each("account") do |element|
								                        puts "L'account id : " + element.elements["account_id"].text
								                        puts "Le nom du compte : " + element.elements["account_name"].text
								                        puts "Le nombre de SMS restant : " + element.elements["sms_remaining"].text
								                        puts "------"
								                end
								        else
								                puts "Impossible de supprimer le compte : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/account/transfer')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								req.set_form_data({'debitaccountid'=>'0','creditaccountid'=>'0','sms'=>'1'}, '&')
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Transfert reussi."
								                puts ""
								                puts "---Compte debite---"
								                puts "L'account id : " + xmlDoc.root.elements['accounts'].elements['debitaccount'].elements['account_id'].text
								                puts "Le nom du compte : " + xmlDoc.root.elements['accounts'].elements['debitaccount'].elements['account_name'].text
								                puts "SMS restant : " + xmlDoc.root.elements['accounts'].elements['debitaccount'].elements['sms_remaining'].text
								                puts ""
								                puts "---Compte credite---"
								                puts "L'account id : " + xmlDoc.root.elements['accounts'].elements['creditaccount'].elements['account_id'].text
								                puts "Le nom du compte : " + xmlDoc.root.elements['accounts'].elements['creditaccount'].elements['account_name'].text
								                puts "SMS restant : " + xmlDoc.root.elements['accounts'].elements['creditaccount'].elements['sms_remaining'].text
								        else
								                puts "Transfert impossible : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/stopsms/activate')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								req.set_form_data({'phonenumber'=>'33600000000'}, '&')
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Le " + xmlDoc.root.elements['stopsms'].elements['phone_number'].text + " est desormais en STOP SMS."
								        else
								                puts "Impossible d'activer le STOP SMS : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			
				      			require 'net/http'
								require 'net/https'
								require 'uri'
								require 'rexml/document'
								
								url = URI.parse('https://www.envoyersmspro.com/api/stopsms/deactivate')
								req = Net::HTTP::Post.new(url.path)
								req.basic_auth ENVOYERSMSPRO_LOGIN, ENVOYERSMSPRO_PASSWORD
								req.set_form_data({'phonenumber'=>'33600000000'}, '&')
								http = Net::HTTP.new(url.host, url.port)
								http.use_ssl = true
								res = http.start {|http| http.request(req) }
								case res
								when Net::HTTPSuccess, Net::HTTPRedirection
								        xmlDoc = REXML::Document.new res.body
								        if xmlDoc.root.elements['status'].text == "success"
								                puts "Le " + xmlDoc.root.elements['stopsms'].elements['phone_number'].text + " n'est plus en STOP SMS."
								        else
								                puts "Impossible de desactiver le STOP SMS : "
								                puts "La requete : " + xmlDoc.root.elements['error'].elements['request'].text
								                puts "L'error id : " + xmlDoc.root.elements['error'].elements['error_id'].text
								                puts "L'error message : " + xmlDoc.root.elements['error'].elements['error_message'].text
								        end
								else
								        res.error!
								end				      			

Nos autres langages de programmation

Vos packs SMS

section


Envoi de sms groupé
ou à l'unité


  • Sans engagement
  • Sans date limite d'utilisation
  • Sans frais supplémentaires
  • Des prix dégressifs


500 SMS

7,4 cts/unité
37 € HT
Achetez

1000 SMS

7 cts/unité
70 € HT
Achetez

5 000 SMS

6,7 cts/unité
335 € HT
Achetez

10 000 SMS

6,5 cts/unité
650 € HT
Achetez

50 000 SMS

6,2 cts/unité
3 100 € HT
Achetez

100 000 SMS

6 cts/unité
6 000 € HT
Achetez


A la carte

SMS = - € HT soit -cts/unité