Registra o traslada

Ayuda:

Pack SMS

1 - ¿Cómo puedo darme de alta en el servicio de SMS?

El alta en el servicio Web SMS es gratuita y se realiza la primera vez que contrates un Pack de SMS.

Podrás activar el servicio y tener acceso inmediato a la aplicación Web SMS para el envío de mensajes a móviles desde tu Área de Cliente o desde la web de Piensa Solutions

Subir

2 - ¿Cómo se contrata un pack de mensajes SMS?

Podrás contratar bonos de mensajes para que puedan ser usados por todos los usuarios que hayas dado de alta en tu aplicación Web SMS, desde

  • La propia aplicación, en el apartado de Recarga de crédito. El pack de mensajes seleccionado se insertará en tu carrito de la compra, en nuestra contratación. Deberás seguir el proceso para finalizar la compra.
  • La web de Piensa Solutions, añadiendo el pack de mensajes que desees a tu carrito de la compra.
  • La gestión administrativa del producto Web SMS.

Subir

3 - ¿Puedo realizar envíos de SMS mediante programación?

Piensa Solutions 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ás hacer uso de este componente en tus programas web, sino que podrás utilizarlo como valor añadido en el desarrollo de tus 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 dos versiones diferentes del mismo:

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

Condiciones de uso

Para poder utilizar el componente SMSSend deberás dar de alta el servicio SMS en piensasolutions.com. El alta de este servicio es gratuita y puedes realizarla desde nuestra web.

Una vez dado de alta, se generará 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 de que dispongas de esta 'cuenta SMS' podrás comenzar a usar el servicio en cualquiera de sus dos modalidades:

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

Cómo usar el componente SMSSend

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

Su utilización es muy sencilla.

  • El primer paso consiste en la creación de una instancia del objeto en tu script.
  • Una vez hecho esto, dispondrás de los siguiente métodos:
Realización del 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 ;).
Programación del envío
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
Consulta de informes de envíos
Para poder obtener el informe de envío al operador y al terminal de los mensajes, es necesario establecer 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).
Obtención de los identificadores y estado de los SMS enviados en un intervalo de tiempo.
Para poder obtener el identificador y estado de los SMS enviados en un intervalo de tiempo, es necesario establacer valores para los siguientes métodos:
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". El intervalo de tiempo entre la FechaIni y FechaFin no podrá ser mayor a 24 horas.
Métodos para el Envío - Programación del envío - 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>
 

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 te incluimos algunos ejemplos del uso del componente para las diferentes versiones:

Uso de SMSSend.pm desde un CGI en Perl

  • Envío de mensaje

    use PiensaSolutions::SMSSend;
    my $SMS = new PiensaSolutions::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";

  • Consulta del estado del envío

    use PiensaSolutions::SMSSend;
    my $SMS = new PiensaSolutions::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 PiensaSolutions::SMSSend;
    my $SMS = new PiensaSolutions::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;

    #Programación del envío
    $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 PiensaSolutions::SMSSend;
    my $SMS = new PiensaSolutions::SMSSend;

    #Defino las propiedades
    $SMS->setAccount("micuenta\@micuenta.com");
    $SMS->setPwd("mypwd");
    $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;

    #Obtener listado
    $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 de 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;

    //Programación del envío
    $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 valores establecidos
    $Account = $testsms->getAccount();
    $Pwd = $testsms->getPwd();

    //Obtener listado
    $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>"); ?>


Subir