Acceso Clientes

24h.Asistencia 24x7 902 115 530

Guías de uso

Saque el máximo rendimiento a los servicios de arsys.es

Ayuda

Buscador



Mensajes a móviles (SMS)

Desde arsys.es se ha desarrollado un componente que ofrece a los programadores de aplicaciones una herramienta que les permite realizar el envío de mensajes SMS a móviles desde sus propios desarrollos.

  • No solo podrá hacer uso de este componente en sus programas web, sino que podrá utilizarlo como valor añadido en el desarrollo de sus aplicaciones cliente con Visual Basic, Visual C++, Delphi, etc.

Para facilitar el uso de este componente mediante diferentes tecnologías de programación, se han desarrollado tres versiones diferentes del mismo:

  • Componente ActiveX (SMSCOM.dll).
  • Módulo de Perl (SMSSend.pm).
  • Librería php (SMSSend.inc).

Condiciones de uso

Para poder utilizar el componente SMSSend debe dar de alta el servicio SMS en arsys.es. El alta de este servicio es gratuita y puede realizarla desde nuestra web.

Cuando se produce el alta, se genera una 'cuenta SMS' con una serie de características:

  • Nombre de usuario y contraseña.
  • Número de SMS disponibles (inicialmente 0 hasta que se realiza la compra de algún bono).
  • Agenda personal.
  • Usuarios de la cuenta.
  • etc.

A partir del momento del que disponga de esta 'cuenta SMS' podrá comenzar a usar el servicio en cualquiera de sus dos modalidades:

  • Mediante la aplicación Web SMS.
  • A través de sus propias aplicaciones, mediante el componente SMSSend.

Como usar el componente SMSSend

Este componente permite enviar un mensaje SMS a una lista de destinatarios o programar un nuevo mensaje para su envío en una fecha/hora determinada.

Si dispone de un servidor dedicado, necesita permitir tráfico saliente desde su dedicado al puerto 8080 TCP del servidor SMS.

Su utilización es muy sencilla.

  • El primer paso consiste en la creación de una instancia del objeto en su script.
  • Una vez instanciado el objeto, dispone de los siguiente métodos:
Métodos Para poder realizar el envío es necesario establecer valores correctos para los parámetros asociados a estos métodos.
setAccount (account as String)
Establece el usuario (account) de la cuenta desde la que se va a realizar el envío.
Este dato será la dirección de correo con que activó su cuenta SMS.
setPwd (pwd as String)
Establece la contraseña de la cuenta desde la que se va a realizar el envío.
setText (text as String)
Establece el texto del mensaje SMS. Máximo de 160 caracteres.
setFrom (text as String)
Establece el remite para el mensaje SMS. Máximo de 11 caracteres.
No es un parámetro obligatorio
setTo (para as String)
Establece los destinatarios del mensaje (separados por ;).
Para poder programar un envío, es necesario establecer valores para los siguientes métodos.
setDescriptionEP (text as String)
Establece la descripción del Envío programado.
setDateEP (text as String)
Establece la fecha del Envío programado ("dd/mm/aaaa")
setTimeEP (text as String)
Establece la hora del Envío programado ("hh/mm")
setPeriodEP (text as String)
Establece la periodicidad del Envío programado. Los posibles valores son:
  • periodUnica
  • periodDiaria
  • periodSemanal
  • periodMensual
  • periodAnual
Para obtener el estado de envío de un mensaje, es necesario establacer valores para los siguientes métodos.
setIdEnvio (text as String)
Establece el identificador del envío del mensaje cuyo estado se quiere consultar. El identificador del envío es devuelto por el método "Send" (ver respuesta del método Send más adelante).
Para obtener los identificadores y estado de los SMS enviados en un intervalo de tiempo, es necesario establacer valores para los siguientes métodos.
El intervalo de tiempo entre la fecha y hora de inicio y fin no podrá ser mayor a 24 horas.
setFechaIni (text as String)
Establece la fecha y hora de inicio para la consulta. El formato debe ser "DD/MM/AAAA HH:MM:SS"
setFechaFin (text as String)
Establece la fecha y hora de inicio para la consulta. El formato debe ser "DD/MM/AAAA HH:MM:SS"
Métodos para el Envío - Programación - Consultas
(respuesta as String) = Send
Envía el mensaje SMS.
El método Send devuelve como respuesta lo siguiente:

<SendSMS>
<result>(OK o KO)</result>
<description>Descripción del resultado</description>
<credit>Credito restante</credit>
<idenvio>ID del envío</idenvio>
</SendSMS>

O si ha habido un error en la conexión y no se ha podido obtener respuesta, el valor
-1
(respuesta as String) = Program
Programa el mensaje SMS.
El método Program devuelve como respuesta lo siguiente:
<ProgramSMS>
<result>(OK o KO)</result>
<description>Descripción del resultado</description>
<credit>Credito restante</credit>
</Program>
O si ha habido un error en la conexión y no se ha podido obtener respuesta, el valor
-1
(respuesta as String) = Estado
Consulta el estado de un envío.
El método Estado devuelve como respuesta el estado de entrega al operador y al terminal de cada uno de los mensajes incluidos en el envío del modo siguiente:
<SendSMS>
<result>OK</result>
<description>Estado del envío obtenido</description>
<envio>
            <item>
                        <phone>34666666666</phone>
                        <estado_operador>entregado</estado_operador>
                        <estado_terminal>entregado</estado_terminal>
            </item>
            <item>
                        <phone>34666666667</phone>
                        <estado_operador>entregado</estado_operador>
                        <estado_terminal>entregado</estado_terminal>
            </item>
</envio>
</SendSMS>
O si ha habido un error en la conexión y no se ha podido obtener respuesta, el valor
-1
(respuesta as String) = Listado
Consulta el listado de SMS enviados entre una fecha y hora de inicio y otra de fin. La duración del intervalo no debe ser mayor a 24 horas.
El método Listado devuelve como respuesta el ID del envío, teléfono, fecha y hora y estado de entrega al operador y al terminal de cada uno de los SMS enviados en dicho intervalo del modo siguiente:
<SendSMS>
<result>OK</result>
<description>Estado del envío obtenido</description>
<listado>
            <item>
                        <idenvio>9999991</idenvio>
                        <phone>34666666666</phone>
                        <timestamp>20/10/2009 18:46:16</timestamp>
                        <estado_operador>entregado</estado_operador>
                        <estado_terminal>entregado</estado_terminal>
            </item>
            <item>
                        <idenvio>9999991</idenvio>
                        <phone>34666666667</phone>
                        <timestamp>20/10/2009 18:46:16</timestamp>
                        <estado_operador>entregado</estado_operador>
                        <estado_terminal>entregado</estado_terminal>
            </item>
            <item>
                        <idenvio>9999992</idenvio>
                        <phone>34666666666</phone>
                        <timestamp>20/10/2009 20:30:00</timestamp>
                        <estado_operador>entregado</estado_operador>
                        <estado_terminal>entregado</estado_terminal>
            </item>
</listado>
</SendSMS>
O si ha habido un error en la conexión y no se ha podido obtener respuesta, el valor
-1
Obtención del resultado Podemos también acceder al resultado de la operación mediante los siguientes métodos.
(resultado as String) = getResult
Recupera lo que hay entre <result></result>
(descripcion as String) = getDescription
Recupera lo que hay entre <description></description>
(credit as String) = getCredit
Recupera lo que hay entre <credit></credit> tras enviar un sms con "Send" o programarlo con "Program".
(envio as String) = getIdEnvio
Recupera lo que hay entre <idenvio></idenvio> al realizar el envío de un sms con "Send".
Métodos opcionales No es necesaria su utilización para realizar el envío SMS.
(account as String) = getAccount
Recupera el usuario de la cuenta desde la que se va a realizar el envío.
(pwd as String) = getPwd
Recupera la contraseña la cuenta desde la que se va a realizar el envío.
(text as String) = getText
Recupera el texto del mensaje SMS. Máximo de 160 caracteres.
(para as String) = getTo
Recupera los destinatarios del mensaje (separados por ;).
(Remite as String) = getFrom
Recupera el remite configurado para el mensaje.
(DescriptionEP as String) = getDescriptionEP
Recupera la descripción configurada para el envío programado.
(DateEP as String) = getDateEP
Recupera la fecha configurada para el envío programado.
(TimeEP as String) = getTimeEP
Recupera la hora configurada para el envío programado.
(PeriodEP as String) = getPeriodEP
Recupera el ID de la periodicidad configurada para el envío programado.


Ejemplos de utilización de SMSSend

A continuación incluimos ejemplos del uso del componente para sus diferentes versiones:

Uso de SMSCOM.dll desde un archivo ASP en VBScript

  • Envío de mensaje

    <%@ LANGUAGE=VBScript %>
    <%
    Set objSendSMS= Server.CreateObject("SMSCOM.SMSSend")

    'Defino las propiedades
    objSendSMS.setAccount ("micuenta@micuenta.com")
    objSendSMS.setPwd ("mipwd")
    objSendSMS.setText ("Este es mi texto")
    objSendSMS.setTo ("666666666")
    objSendSMS.setFrom ("mi remite")      ' Parámetro opcional

    'Recupero los valores establecidos
    Account = objSendSMS.getAccount
    Pwd = objSendSMS.getPwd
    Texto = objSendSMS.getText
    Para = objSendSMS.getTo
    Remite = objSendSMS.getFrom

    'Envío del mensaje
    resultado = objSendSMS.Send

    'Resultado de la operación
    getResult = objSendSMS.getResult
    getDescription = objSendSMS.getDescription
    getCredit = objSendSMS.getCredit
    getIdEnvio = objSendSMS.getIdEnvio

    Response.write "El resultado es "& resultado & "<br>"
    Response.write "getResult es " & getResult & "<br>"
    Response.write "getDescription es "& getDescription & "<br>"
    Response.write "getCredit es " & getCredit & "<br>"
    Response.write "getIdEnvio es " & getIdEnvio & "<br>"

    Set objSendSMS=Nothing
    %>

  • Consulta del estado del envío

    <%@ LANGUAGE=VBScript %>
    <%
    Set objSendSMS= Server.CreateObject("SMSCOM.SMSSend")

    'Defino las propiedades
    objSendSMS.setAccount ("micuenta@micuenta.com")
    objSendSMS.setPwd ("mipwd")
    objSendSMS.setIdEnvio ("9999999")

    'Recupero los valores establecidos
    Account = objSendSMS.getAccount
    Pwd = objSendSMS.getPwd
    IdEnvio = objSendSMS.getIdEnvio

    'Consulto el estado
    resultado = objSendSMS.Estado

    'Resultado de la operación
    getResult = objSendSMS.getResult
    getDescription = objSendSMS.getDescription
    getEstado = objSendSMS.getEstado

    Response.write "El resultado es "& resultado & "<br>"
    Response.write "getResult es " & getResult & "<br>"
    Response.write "getDescription es "& getDescription & "<br>"
    Response.write "getEstado es " & getEstado & "<br>"

    Set objSendSMS=Nothing
    %>

  • Programación de mensaje

    <%@ LANGUAGE=VBScript %>
    <%
    Set objSendSMS= Server.CreateObject("SMSCOM.SMSSend")

    'Defino las propiedades
    objSendSMS.setAccount ("micuenta@micuenta.com")
    objSendSMS.setPwd ("mipwd")
    objSendSMS.setText ("Este es mi texto")
    objSendSMS.setTo ("666666666")
    objSendSMS.setFrom ("mi remite")      ' Parámetro opcional
    objSendSMS.setDescriptionEP ("Descripción del envío")
    objSendSMS.setDateEP ("12/10/2005")
    objSendSMS.setTimeEP ("10:25")
    objSendSMS.setPeriodEP ("periodSemanal")

    'Recupero los valores establecidos
    Account = objSendSMS.getAccount
    Pwd = objSendSMS.getPwd
    Texto = objSendSMS.getText
    Para = objSendSMS.getTo
    Remite = objSendSMS.getFrom
    DescriptionEP = objSendSMS.getDescriptionEP
    DateEP = objSendSMS.getDateEP
    TimeEP = objSendSMS.getTimeEP
    PeriodEP = objSendSMS.getPeriodEP

    'Envío del mensaje
    resultado = objSendSMS.Program

    'Resultado de la operación
    getResult = objSendSMS.getResult
    getDescription = objSendSMS.getDescription
    getCredit = objSendSMS.getCredit

    Response.write "El resultado es "& resultado & "<br>"
    Response.write "getResult es " & getResult & "<br>"
    Response.write "getDescription es "& getDescription & "<br>"
    Response.write "getCredit es " & getCredit & "<br>"

    Set objSendSMS=Nothing
    %>

  • Consulta de los mensajes por intervalo de tiempo

    <%@ LANGUAGE=VBScript %>
    <%
    Set objSendSMS= Server.CreateObject("SMSCOM.SMSSend")

    'Defino las propiedades
    objSendSMS.setAccount ("micuenta@micuenta.com")
    objSendSMS.setPwd ("mipwd")
    objSendSMS.setFechaIn ("14/04/2009 00:00:00")
    objSendSMS.setFechaFin ("14/04/2009 23:59:59")

    'Recupero los valores establecidos
    Account = objSendSMS.getAccount
    Pwd = objSendSMS.getPwd

    'Obtengo listado
    resultado = objSendSMS.Listado

    'Resultado de la operación
    getResult = objSendSMS.getResult
    getDescription = objSendSMS.getDescription
    getListado = objSendSMS.getListado

    Response.write "El resultado es "& resultado & "<br>"
    Response.write "getResult es " & getResult & "<br>"
    Response.write "getDescription es "& getDescription & "<br>"
    Response.write "getListado es " & getListado & "<br>"

    Set objSendSMS=Nothing
    %>

Uso de SMSSend.pm desde un CGI en Perl

  • Envío de mensaje

    use Arsys::SMSSend;
    my $SMS = new Arsys::SMSSend;

    #Defino las propiedades
    $SMS->setAccount("micuenta\@micuenta.com ");
    $SMS->setPwd("mipwd");
    $SMS->setTo("666666666");
    $SMS->setText("Este es mi texto");
    $SMS->setFrom("mi remite");      # Parámetro opcional

    #Recupero los valores establecidos
    $Account = $SMS->getAccount;
    $Pwd = $SMS->getPwd;
    $To = $SMS->getTo;
    $Text = $SMS->getText;
    $Remite = $SMS->getFrom;

    #Envío del mensaje
    $resultado = $SMS->Send;

    #Resultado de la operación
    $getResult = $SMS->getResult;
    $getDescription = $SMS->getDescription;
    $getCredit = $SMS->getCredit;
    $getIdEnvio = $SMS->getIdEnvio;

    print "El resultado es $resultado\n";
    print "getResult es $getResult \n";
    print "getDescription es $getDescription \n";
    print "getCredit es $getCredit \n";
    print "getIdEnvio es $getIdEnvio \n";

  • Consulta del estado del envío

    use Arsys::SMSSend;
    my $SMS = new Arsys::SMSSend;

    #Defino las propiedades
    $SMS->setAccount("micuenta\@micuenta.com ");
    $SMS->setPwd("mipwd");
    $SMS->setIdEnvio("9999999");

    #Recupero los valores establecidos
    $Account = $SMS->getAccount;
    $Pwd = $SMS->getPwd;
    $IdEnvio = $SMS->getIdEnvio;

    #Consulto el estado del envío
    $resultado = $SMS->Estado;

    #Resultado de la operación
    $getResult = $SMS->getResult;
    $getDescription = $SMS->getDescription;
    $getEstado = $SMS->getEstado;

    print "El resultado es $resultado\n";
    print "getResult es $getResult \n";
    print "getDescription es $getDescription \n";
    print "getEstado es $getEstado \n"; 

  • Programación de mensaje

    use Arsys::SMSSend;
    my $SMS = new Arsys::SMSSend;

    #Defino las propiedades
    $SMS->setAccount("micuenta\@micuenta.com ");
    $SMS->setPwd("mipwd");
    $SMS->setTo("666666666");
    $SMS->setText("Este es mi texto");
    $SMS->setFrom("mi remite");      # Parámetro opcional
    $SMS->setDescriptionEP ("Descripción del envío");
    $SMS->setDateEP ("12/10/2005");
    $SMS->setTimeEP ("10:25");
    $SMS->setPeriodEP (periodSemanal);

    #Recupero los valores establecidos
    $Account = $SMS->getAccount;
    $Pwd = $SMS->getPwd;
    $To = $SMS->getTo;
    $Text = $SMS->getText;
    $Remite = $SMS->getFrom;
    $DescriptionEP = $SMS->getDescriptionEP;
    $DateEP = $SMS->getDateEP;
    $TimeEP = $SMS->getTimeEP;
    $PeriodEP = $SMS->getPeriodEP;

    #Envío del mensaje
    $resultado = $SMS->Program;

    #Resultado de la operación
    $getResult = $SMS->getResult;
    $getDescription = $SMS->getDescription;
    $getCredit = $SMS->getCredit;

    print "El resultado es $resultado\n";
    print "getResult es $getResult \n";
    print "getDescription es $getDescription \n";
    print "getCredit es $getCredit \n";

  • Consulta de los mensajes por intervalo de tiempo

    use Arsys::SMSSend;
    my $SMS = new Arsys::SMSSend;

    #Defino las propiedades
    $SMS->setAccount("micuenta\@micuenta.com ");
    $SMS->setPwd("mipwd");
    $SMS->setFechaIni("14/04/2009 00:00:00");
    $SMS->setFechaFin("14/04/2009 23:59:59");

    #Recupero los valores establecidos
    $Account = $SMS->getAccount;
    $Pwd = $SMS->getPwd;

    #Envío del mensaje
    $resultado = $SMS->Listado;

    #Resultado de la operación
    $getResult = $SMS->getResult;
    $getDescription = $SMS->getDescription;
    $getListado = $SMS->getListado;

    print "El resultado es $resultado\n";
    print "getResult es $getResult \n";
    print "getDescription es $getDescription \n";
    print "getListado es $getListado \n";

Uso de SMSSend.inc desde un script en php

  • Envío de mensaje

    <?php

    require "SMSSend.inc";

    //Defino las propiedades
    $testsms=new smsItem;
    $testsms->setAccount("micuenta@micuenta.com");
    $testsms->setPwd("mipwd");
    $testsms->setTo("666666666");
    $testsms->setText("Este es mi texto ");
    $testsms->setFrom("mi remite");      // Parámetro opcional

    //Recupero los valores establecidos
    $Account = $testsms->getAccount();
    $Pwd = $testsms->getPwd();
    $To = $testsms->getTo();
    $Text = $testsms->getText();
    $Remite = $testsms->getFrom();

    //Envío del mensaje
    $resultado = $testsms->Send();

    //Resultado de la operación
    $getResult = $testsms->getResult();
    $getDescription = $testsms->getDescription();
    $getCredit = $testsms->getCredit();
    $getIdEnvio = $testsms->getIdEnvio();

    print_r($resultado);
    print_r("<BR>");
    print_r($getResult);
    print_r("<BR>");
    print_r($getDescription);
    print_r("<BR>");
    print_r($getCredit);
    print_r("<BR>");
    print_r($getIdEnvio);
    print_r("<BR>");
    ?>

  • Consulta del estado del envío

    <?php

    require "SMSSend.inc";

    //Defino las propiedades
    $testsms=new smsItem;
    $testsms->setAccount("micuenta@micuenta.com");
    $testsms->setPwd("mipwd");
    $testsms->setIdEnvio("9999999");

    //Recupero los valores establecidos
    $Account = $testsms->getAccount();
    $Pwd = $testsms->getPwd();
    $IdEnvio = $testsms->getIdEnvio();

    //Consulto el estado
    $resultado = $testsms->Estado();

    //Resultado de la operación
    $getResult = $testsms->getResult();
    $getDescription = $testsms->getDescription();
    $getEstado = $testsms->getEstado();

    print_r($resultado);
    print_r("<BR>");
    print_r($getResult);
    print_r("<BR>");
    print_r($getDescription);
    print_r("<BR>");
    print_r($getEstado);
    print_r("<BR>");
    ?>

  • Programación de mensaje

    <?php

    require "SMSSend.inc";

    //Defino las propiedades
    $testsms=new smsItem;
    $testsms->setAccount("micuenta@micuenta.com");
    $testsms->setPwd("mipwd");
    $testsms->setTo("666666666");
    $testsms->setText("Este es mi texto ");
    $testsms->setFrom("mi remite");      // Parámetro opcional
    $testsms->setDescriptionEP ("Descripción del envío");
    $testsms->setDateEP ("12/10/2005");
    $testsms->setTimeEP ("10:25");
    $testsms->setPeriodEP (periodSemanal);

    //Recupero los valores establecidos
    $Account = $testsms->getAccount();
    $Pwd = $testsms->getPwd();
    $To = $testsms->getTo();
    $Text = $testsms->getText();
    $Remite = $testsms->getFrom;
    $DescriptionEP = $testsms->getDescriptionEP;
    $DateEP = $testsms->getDateEP;
    $TimeEP = $testsms->getTimeEP;
    $PeriodEP = $testsms->getPeriodEP;

    //Envío del mensaje
    $resultado = $testsms->Program();

    //Resultado de la operación
    $getResult = $testsms->getResult();
    $getDescription = $testsms->getDescription();
    $getCredit = $testsms->getCredit();

    print_r($resultado);
    print_r("<BR>");
    print_r($getResult);
    print_r("<BR>");
    print_r($getDescription);
    print_r("<BR>");
    print_r($getCredit);
    print_r("<BR>");
    ?>

  • Consulta de los mensajes por intervalo de tiempo

    <?php

    require "SMSSend.inc";

    //Defino las propiedades
    $testsms=new smsItem;
    $testsms->setAccount("micuenta@micuenta.com");
    $testsms->setPwd("mipwd");
    $testsms->setFechaIni("14/04/2009 00:00:00");
    $testsms->setFechaFin("14/04/2009 23:59:59");

    //Recupero los valores establecidos
    $Account = $testsms->getAccount();
    $Pwd = $testsms->getPwd();

    //Envío del mensaje
    $resultado = $testsms->Listado();

    //Resultado de la operación
    $getResult = $testsms->getResult();
    $getDescription = $testsms->getDescription();
    $getListado = $testsms->getListado();

    print_r($resultado);
    print_r("<BR>");
    print_r($getResult);
    print_r("<BR>");
    print_r($getDescription);
    print_r("<BR>");
    print_r($getListado);
    print_r("<BR>");
    ?>

Volver a la ayuda

* Los precios no incluyen IVA.