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
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.
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:
| 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 ;). |
| 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 |
| 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). |
|---|
| 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. |
| (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> 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> Si ha habido un error en la conexión y no se ha podido obtener respuesta, el valor -1 |
| (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". |
| (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>"); ?>

