Envíe mensajes SMS y de voz a través de HTTPS, XML o JSON.

Nuestra API HTTP/HTTPS se integra rápidamente en todas sus herramientas, sin contratos ni complejidad técnica.

three_round

Formatos flexibles

Envíe sus mensajes en XML, JSON o parámetros simples mediante GET o POST.

Ventaja 2 Título

Integre la API en sus herramientas (PHP, Java, C++, Delphi, WinDev, etc.) sin restricciones.

Envíos internacionales

Envíe campañas a cualquier parte del mundo en cuanto abra su cuenta.

Nuestra API también puede integrarse sin codificación, a través de plataformas no-code

Tanto si eres desarrollador como si no, puedes automatizar tus envíos utilizando las herramientas que ya utilizas

Automation builder track your performance and more—all from a single platform.

Conectores listos para usar : Zapier, Zoho Flow, Blendr.io, Elastic.io…

Webhook en tiempo real : reciba acuses de recibo y respuestas sin demora.

Sin contrato ni compromiso : actívalo en cuanto tengas crédito.

Cómo utilizar la API HTTPS de AllMySMS SMS

Nuestra API SMS HTTP funciona transmitiendo parámetros en GET, o flujos XML o JSON en POST (entrantes y salientes).
Para enviar mensajes SMS o de voz, deben transmitirse a la plataforma flujos XML o JSON que contengan la información de envío.
A cambio, la plataforma devolverá automáticamente un flujo de respuesta que contendrá datos sin procesar y flujos XML o JSON activos (identificadores de envío y acuses de recibo). Se devolverá un identificador único por cada SMS, para el posterior acuse de recibo.
Un sistema WebHook, configurable en su área de cliente, permite recuperar los acuses de recibo y las respuestas SMS en tiempo real.

Dirección y parámetros (GET o POST)

https://api.www.allmysms.com/http/9.0/sendSms

La variable que contiene el flujo debe llamarse smsData

  • login : inicio de sesión de cliente proporcionado por www.allmysms.com
  • apiKey :clave API disponible en su cuenta
  • smsData : feed XML o JSON que contiene el mensaje y los números de teléfono

Documentación

<?php
//config
$url        = 'https://api.www.allmysms.com/http/9.0/sendSms/';
$login      = 'yourlogin';                              //votre identifiant allmysms
$apiKey     = 'yourapikey';                             //votre clé d'API allmysms
$message    = 'Envoi de SMS test avec AllMySMS.com';    //le message SMS
$sender     = 'allmysms';                               //l’expéditeur, attention pas plus de 11 caractères alphanumériques
$msisdn     = '33612345678';                            //numéro de téléphone du destinataire
$smsData    = "<DATA>
   <MESSAGE><![CDATA[" . $message . "]]></MESSAGE>
   <TPOA>" . $sender . "</TPOA>
   <SMS>
      <MOBILEPHONE>" . $msisdn . "</MOBILEPHONE>
   </SMS>
</DATA>";

$fields = array(
    'login'    => $login,
    'apiKey'   => $apiKey,
    'smsData'  => $smsData,
);

$fieldsString = http_build_query($fields);

try {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldsString);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);    // permet d’éviter le temps d'attente par défaut : 300 sec - optionnel
    curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 1024); // limite de detection des connexions lentes, en octets/sec (ici : 1 ko) - optionnel
    curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 1);     // coupe la connexion si en dessous de CURLOPT_LOW_SPEED_LIMIT pendant plus de CURLOPT_LOW_SPEED_TIME - optionnel

    $result = curl_exec($ch);

    echo $result;

    curl_close($ch);

} catch (Exception $e) {
    echo 'Api allmysms injoignable ou trop longue a repondre ' . $e->getMessage();
}
string url = "https://api.www.allmysms.com/http/[version]/sendSms/";
string login = "yourlogin";
string apiKey = "yourapikey";

Uri uri = new Uri(url);

string data = "login="+login+"&apiKey="+apiKey+"&smsData=<DATA><MESSAGE><![CDATA[envoi de SMS en dotNet avec www.allmysms.com]]></MESSAGE><TPOA>EXPEDITEUR</TPOA><SMS><MOBILEPHONE>33612345678</MOBILEPHONE></SMS></DATA>";

byte[] Buffer = System.Text.Encoding.UTF8.GetBytes(data);

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Post;
request.ContentLength = Buffer.Length;
request.ContentType = "application/x-www-form-urlencoded";

using (Stream writer = request.GetRequestStream())
{
    writer.Write(Buffer, 0, Buffer.Length);
    writer.Flush();
    writer.Close();
}

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string tmp = reader.ReadToEnd();
response.Close();
Response.Write(tmp);
import java.io.*;
import java.net.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
public class sendSms {
    public static void main(String[] args) throws Exception {
        String phoneNumber = "33612345678";
        String sender = "allmysms";
        String message = URLEncoder.encode("Envoi de SMS en Java avec www.allmysms.com STOP au 36180", "UTF-8");
        String login = "yourlogin";
        String apiKey = "yourapikey";
        String smsData = "<DATA><MESSAGE><![CDATA[["+message+"]]></MESSAGE><TPOA>"+sender+"</TPOA><SMS><MOBILEPHONE>"+phoneNumber+"</MOBILEPHONE></SMS></DATA>";
        String url = "https://api.www.allmysms.com/http/[version]/sendSms/?login=" + login + "&apiKey=" + apiKey + "&smsData=" + smsData;
        // Send GET request
                URL client = new URL(url);
                URLConnection conn = client.openConnection();
                InputStream responseBody = conn.getInputStream();
                // Convert in XML document

                byte[] contents = new byte[1024];

                int bytesRead=0;
                String strFileContents = null;
                while( (bytesRead = responseBody.read(contents)) != -1){
                   strFileContents = new String(contents, 0, bytesRead);
                }

                responseBody.close();
                System.out.println(strFileContents);
    }
}
PROCÉDURE Envoi_sms(Var_message, Var_nbr, Var_date)
 
//Var_message > Message à envoyer
//Var_nbr > Nombre de destinataires
//Var_date > Date différée ou immédiate au format Dateheure
//Sms_destinataire           > Tableau contenant les expéditeurs
 
LOCAL
SMS_Date est une DateHeure = Var_date // Format Date heure
SMS_Url        est une chaîne = "https://api.www.allmysms.com/http/9.0/sendSms/" // L'url de allmysms
SMS_Login est une chaîne  = "xxxxxxx" // Identifiant fournit par Allmysms
SMS_APIkey  est une chaîne = "xxxxxxxxxxxxxx" // Clé de contrôle
SMS_Data  est un Variant // Données structuré
SMS_Return est une chaîne = "JSON" // Format du retour
SMS_Post est une chaîne // Variable du Post
 
SI Var_date = "" ALORS SMS_Date = Maintenant()
 
//Message converti au format UTF8
SMS_Data.DATA.MESSAGE = ChaîneVersUTF8(Var_message)
 
//Ajout des destinataires
POUR i = 1 À Var_nbr
     SMS_Data.DATA.SMS[i].MOBILEPHONE = Sms_destinataire[i]
FIN
 
//Mise en forme de la date
SMS_Data.DATA.date = DateVersChaîne(SMS_Date,"AAAA-MM-JJ HH:MM:SS")
 
SMS_Data.DATA.TPOA = "Expediteur"
 
SMS_Post=ChaîneConstruit("login=%1&apiKey=%2&smsData=%3&returnformat=%4", SMS_Login, SMS_APIkey, VariantVersJSON(SMS_Data), SMS_Return)
 
// Requête
SI HTTPRequête(SMS_Url, "", "", SMS_Post)=Vrai ALORS
     vJSON est un Variant = JSONVersVariant(HTMLVersTexte(HTTPDonneRésultat(httpRésultat)))
     
     SI vJSON.status DANS ("100","101") ALORS
          Info("Votre SMS a bien été programmé")
     SINON
          Info("Erreur : ", vJSON.statusText, vJSON.status)
     FIN

SINON
     Erreur(ErreurInfo())
FIN
my $userAgent = new LWP::UserAgent;
$userAgent->protocols_allowed( [ 'https'] );

my $request = POST('https://api.www.allmysms.com/http/[version]/sendSms/',
[ 'login' => 'yourlogin', 'apiKey' => 'yourapikey', 'smsData' => '<DATA><MESSAGE><![CDATA[envoi de SMS en perl avec www.allmysms.com]]></MESSAGE><TPOA>EXPEDITEUR</TPOA><SMS><MOBILEPHONE>33612345678</MOBILEPHONE></SMS></DATA>'],
Content_Type => 'multipart/form-data');

my $response = $userAgent->request($request);
import urllib
import xml.etree.ElementTree as ET
smsData = '<![CDATA[envoi de SMS en python avec www.allmysms.com]]>EXPEDITEUR33612345678'
urlbase = 'http://api.msinnovations.com/http/sendSms_v8.php'
urlparam = urllib.urlencode([('clientcode','yourlogin'),('passcode','yourpasswd'),('smsData',smsData)])
response = ET.parse(urllib.urlopen(urlbase+urlparam)).getroot()
print response.findtext('status')
url = URI.parse('https://api.www.allmysms.com/http/[version]/sendSms/')
req = Net::HTTP::Post.new(url.path)
req.set_form_data({'login'=>'yourlogin','apiKey'=>'yourapikey','smsData'=>'<DATA><MESSAGE><![CDATA[envoi de SMS en windev avec www.allmysms.com]]></MESSAGE><TPOA>EXPEDITEUR</TPOA><SMS><MOBILEPHONE>33612345678</MOBILEPHONE></SMS></DATA>'}, '&')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
res = http.start {|http| http.request(req) }
url = URI.parse('https://api.www.allmysms.com/http/[version]/sendSms/')
req = Net::HTTP::Post.new(url.path)
req.set_form_data({'login'=>'yourlogin','apiKey'=>'yourapikey','smsData'=>'<DATA><MESSAGE><![CDATA[envoi de SMS en windev avec www.allmysms.com]]></MESSAGE><TPOA>EXPEDITEUR</TPOA><SMS><MOBILEPHONE>33612345678</MOBILEPHONE></SMS></DATA>'}, '&')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
res = http.start {|http| http.request(req) }
Option explicit
Const login = "yourlogin"
Const apiKey = "yourapikey"
Dim smsData
smsData = "<DATA><MESSAGE><![CDATA[envoi de SMS en vb avec www.allmysms.com]]></MESSAGE><TPOA>EXPEDITEUR</TPOA><SMS><MOBILEPHONE>33612345678</MOBILEPHONE></SMS></DATA>"

EnvoiSms clientCode,passCode,smsData

Sub EnvoiSms(clientCode, passCode, smsData)
    Dim xmlDoc,stUrl
    stUrl = "https://api.www.allmysms.com/http/[version]/sendSms/?login=" & _
        login &"&apiKey=" & apiKey & "&smsData=" & Escape(smsData)
    Set xmlDoc=CreateObject("Microsoft.XMLDOM")
    xmlDoc.Async="false"
    if xmlDoc.Load(stUrl) and not xmldOC.selectSingleNode("/") is Nothing Then
        Msgbox "status = " & xmldOC.selectSingleNode("/").text
     else
        MsgBox "Pb sending", vbCritical
    End if
End sub

TABLA DE ESTADO DE SMS TRAS EL ENVÍO

100Le message a été envoyé
101Le message a été programmé pour un envoi différé
102Problème de connexion – Aucun compte ne correspond aux clientcode et passcode spécifiés
103Crédit SMS épuisé. Veuillez re-créditer votre compte sur AllMySMS.com
104Crédit insuffisant pour traiter cet envoi. A utiliser: XX Crédits, Disponibles: YY Crédits. Veuillez re-créditer votre compte sur AllMySMS.com
105Flux XML Vide
106Flux XML invalide ou incomplet après la balise
107Flux XML invalide ou incomplet après la balise
108Le code CLIENT donné dans le flux XML est incorrect, il doit correspondre au clientcode en majuscule
109Flux XML invalide ou incomplet après la balise
110Message non défini (vide) dans le flux XML
111Le message dépasse 640 caractères
112Flux XML invalide ou incomplet après la balise
113Certains numéros de téléphone sont invalides ou non pris en charge
114Aucun numéro de téléphone valide dans le flux. Veuillez-vous référer à la documentation en ligne pour connaitre les formats valides.
115Flux XML invalide ou date mal formatée entre les balises et
117Balise – Lien trop long, dépasse les 80 caractères
118Le compte maître spécifié n’existe pas

EJEMPLO DE FLUJO SMS XML

<DATA>
   <MESSAGE><![CDATA[Votre message]]></MESSAGE>
   <DYNAMIC>2 (contiendra le nombre de paramètres variables du message)</DYNAMIC> (obligatoire si le message est variable)
   <CAMPAIGN_NAME>nom de campagne </CAMPAIGN_NAME> (option facultative)
   <DATE>date différée facultative ex.: 2011-11-05 15:10:00 </DATE> (option facultative)
   <TPOA>nom de l’émetteur (option facultative)</TPOA>
   <SMS>
      <MOBILEPHONE>33611111111</MOBILEPHONE>
      <PARAM_1>Parametre 1</PARAM_1>
      <PARAM_2>Parametre 2</PARAM_2>
   </SMS>
   <SMS>
      <MOBILEPHONE>33622222222</MOBILEPHONE>
      <PARAM_1>Parametre 1</PARAM_1>
      <PARAM_2>Parametre 2</PARAM_2>
   </SMS>
</DATA>

EJEMPLO DE FLUJO JSON PARA ENVIAR UN SMS


{
   "DATA": {
      "CAMPAIGN_NAME": "Nom de la campagne",
      "MESSAGE": "Votre message",
      "TPOA": "Nom de l’émetteur",
      "DYNAMIC": "2",
      "DATE": "2014-01-01 12:00:00",
      "SMS": [
         {
         "MOBILEPHONE": "33611111111",
         "PARAM_1": "Parametre 1",
         "PARAM_2": "Parametre 2"
         },
         {
         "MOBILEPHONE": "33622222222",
         "PARAM_1": "Parametre 1",
         "PARAM_2": "Parametre 2"
         }
      ]
   }
}

La plataforma de SMS de www.allmysms.com le ofrece una gama completa de soluciones de marketing digital y móvil para comunicarse con sus empleados, clientes potenciales y clientes.

Idiomas