API PHP 2.0 Dpto. I+D LleidaNetworks Serveis Telemàtics S.L. Marzo 2008



Documentos relacionados
Librería para la creación de páginas web con PHP 5 o superior con funciones de

API.NET. Introducción. Aspectos generales. Configuración. Recomendaciones. Permite enviar SMS mediante una librería.net.

API.NET. Lleida.net 15 de julio de 2013

Gestión de acciones vía HTTP Action XML API

Introducción a la Firma Electrónica en MIDAS

Aplicateca API Validador de Móviles Certificados SMS -

MANUAL SERVICIOS TELEFONIA FIJA

Especificaciones funcionales para el acceso al RAI por Web

Roles y Características

Oficina Online. Manual del administrador

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Manual del Servicio Web. Afilnet.com. Afilnet. Servicios de Telecomunicaciones SMS

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

MANUAL DE USUARIO DESKTOP

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

Implementación del servicio de envío masivo de mensajes SMS HTTP/s API -

Para este caso vamos a suponer que son los siguientes:

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

Principios básicos de envío de documentos por

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Administración Local Soluciones

ACTIVE DIRECTORY - PROPIEDADES DE USUARIO

SIEWEB. La intranet corporativa de SIE

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Acronis License Server. Guía del usuario

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

ENVIO SMS A TRAVÉS DE WEB

Solución de firma de pdf (Servidor) PDF_SIGN Versión 1.4

Guía de Instalación para clientes de WebAdmin

Guía sobre la asignación de contraseña al certificado electrónico de identidad de persona física de la FNMT

Manual SSO Avant2. Última revisión: 02/05/2013. Copyright Codeoscopic S.A.

Empresas. Guía de uso. App Mi Movistar Empresas

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

Manual de NetBeans y XAMPP

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

Implementación del servicio de envío masivo de mensajes SMS HTTP/s API -

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

Gestió n de Certificadó Digital

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Manual OWAControl. Contenido. Manual OWAControl

Aceptamos que realice este proyecto que le hemos solicitado con las siguientes condiciones:

SERVIDOR WEB. Servidores web IIS (Windows) / Apache (Windows y Linux)

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Para poder instalar el producto, tendremos que obtener el instalador apropiado para nuestro entorno hardware y software.

Envío de mensajes MMS. IMPLEMENTACIÓN SERVICIO DE PASARELA MMS-push (http)

Manual del Servicio Web. Afilnet.com. Afilnet. Servicios de Telecomunicaciones SMS

Introducción a las Redes de Computadoras. Obligatorio

CONFIGURACION AVANZADA DE OUTLOOK 2003

Portal Del Emisor MANUAL DEL USUARIO. Plataforma de Facturación Electrónica

MANUAL DE LA CONFIGURACIÓN Y USO DEL MÓDULO DE ASM PARA PRESTASHOP

GENERACIÓN DE TRANSFERENCIAS

Envíos Certificados. Acceso

Programación páginas web. Servidor (PHP)

Modo básico de funcionamiento del módulo Velneo vmodapache V7

API de Distribuidores:

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Manual de instalación Actualizador masivo de Stocks y Precios

SAP SOLUTION MANAGER 7.1 Service Desk MANUAL DE USUARIO CREADOR. Fecha entrega 12 de junio de 2014 Revisión 1.0

MANUAL DE USUARIO SIIDJ MÓDULO DE SEGURIDAD CAPÍTULO II ADMINISTRADOR DE SEGURIDAD DEL CLIENTE ÍNDICE

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

Capítulo V. Implementación

Manual hosting acens

PROGRAMACIÓN PÁGINAS WEB CON PHP

Guía de Instalación de XTBox

INSTALACIÓN DE GITLAB

FOROS. Manual de Usuario

FSx-Connector Guía rápida del Módulo pcron (Tareas Programadas) Créditos

Manual: Gestor de contenidos e-gim cms. 6 abril 2010

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Login y Password. Elección de directorios confidenciales

Guía de acceso a Meff por Terminal Server

Procedimiento de instalación y Configuración del. cliente VPN en Windows. Acceso remoto a la red corporativa

Programa Control SMS para Teléfonos Android.

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

CÓMO CREAR UNA PÁGINA WEB

Tutorial BMS Server Studio UDP

Manual Instalación de certificados digitales en Outlook 2000

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual de instalación del cliente JAVA-WS

DOCENTES FORMADORES UGEL 03 PRIMARIA

GENERACIÓN DE ANTICIPOS DE CRÉDITO

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

Manual de usuario de Cambio de Nombre de Diseños Industriales

CA Nimsoft Monitor Snap

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

La elección de Blogger como la plataforma o lugar donde

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

MANUAL COPIAS DE SEGURIDAD

SMPP Server http GATEWAY

MÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Información destacada para Coordinadores TIC sobre el Portal Educamadrid

Manual Oficina Web de Clubes (FBM)

Petición de certificados de servidor con IIS

Electrónica: Configuración en Mozilla Firefox

Transcripción:

API PHP 2.0 API PHP 2.0 Dpto. I+D LleidaNetworks Serveis Telemàtics S.L. Marzo 2008-1-

API PHP 2.0 Copyright (c) 2008 - LleidaNetworks Serveis Telematics, S.L. Todos los derechos reservados Este documento contiene información propietaria y confidencial. Queda totalmente prohibido distribuir sus contenidos total o parcialmente por cualquier medio, sea físico o electrónico, sin la autorización expresa de su titular. -2-

API PHP 2.0 Índice de contenido 1. Descripción de la API PHP 2.0...4 2. Requerimientos e instalación...4 2.1. Diferencias básicas...5 2.2. Recomendaciones...6 3. Descripción de las clases...6 3.1. SimpleSMS...6 3.2. VirtualSMS...8 3.2. Events...9 3.3. Properties...11-3-

API PHP 2.01. Descripción de la API PHP 2.0 1. Descripción de la API PHP 2.0 Es una librería para la creación de páginas web con PHP 4 o superior con funciones de mensajería SMS/MMS a través de la Pasarela Avanzada de Mensajería (PAM) de Lleida Networks Serveis Telemàtics, SL. Incluye la implementación del protocolo de comunicaciones de SMS MASIVO, para el envío masivo de mensajes de texto SMS y MMS, así como enlaces WAP y contenidos WAP-PUSH. Esta API está incluida en el Kit de Desarrollo de SMS MASIVO, disponible gratuitamente en la página web oficial del servicio: 2. Requerimientos e instalación http://soporte.lleida.net/ La API funciona correctamente con la versión PHP 4 o superior. Requiere el uso de SOCKETS y conexión a la pasarela de mensajería de Lleida.net (normalmente el host es sms.lleida.net y el puerto 2048 ) por lo que deberemos consultar al administrador del servidor Web o proveedor de servicios de Hosting en caso de que la conexión esté limitada por algún tipo de cortafuegos. Para el envío de contenidos (imágenes, sonidos, etc.) multimedia, los ficheros deben tener los permisos necesarios para abrir los ficheros por el usuario que ejecuta el script, normalmente APACHE. Es imprescindible disponer de una cuenta de sms Masivo con saldo para el envío de mensajes. Si no dispone de cuenta de usuario puede obtener una cuenta de demostración de forma totalmente gratuita a través de la página web de Lleida.net o llamando al teléfono de atención al cliente: 902 999 272. http://smsmasivo.lleida.net/alta.html Existen dos versiones de la API, una completa que captura eventos y permite tratar los IncomingMO, Checkers, Delivers y acuses. Y otra mas simple, que esta limita en funcionalidades. Ambas API pueden convivir en el mismo árbol de desarrollo, por lo que se pueden tener juntas en el mismo directorio. -4-

API PHP 2.02. Requerimientos e instalación 2.1. Diferencias básicas La API Simple tan solo requiere de los ficheros: lib/constants.php lib/socket.php lib/socket-php4.php lib/socket-php5.php lib/socket-const.php lib/logger.php Mientras que la completa requiere, los ficheros anteriores, y además: lib/protocolproperties.php lib/userproperties.php lib/bulksend.php events.php Cada uno de estos ficheros se encarga de una tarea en concreto y no hace falta que se editen ni que se modifiquen. Todos ellos, excepto el lib/constants.php, están implementados como clases. Para la versión completa es interesante que extendáis la classe events.php con vuestra propia clase. Por ejemplo, tenéis el fichero tests/myevents.php. En la API simple solo se configura el parámetro customized sender - setcustumizedsender('cs');. Para quitarlo debes de establecer el valor a vacío. La API simple no reconoce los comandos DELIVER, INCOMINGMO, CHECKER y ACUSE. Esto significa que si la API simple recibe uno de estos comandos lo ignorara y no realiza ninguna acción. Esto es interesante, por que si envía un ACK de un INCOMING ese usuario nunca sabrá de ese mensaje recibido, lo mismo para los DELIVER, CHEKER y ACUSE. Esto significa que ignora los comandos enviados por el servidor y no los trata. Para la API completa si que están activas las respuestas para estos comandos. Para configurar que tipo de comandos debe de tratar vuestra aplicación PHP tenéis la clase ProtocolProperties.php Por defecto están desactivados, de esta manera se ahorra en espacio de memoria. Por ejemplo os puede interesar tener activo los ACUSE, pero la resta de comandos desactivados. Otra gran diferencia es que la API simple no mantiene en memoria los comandos enviados ni recibidos. Mientras que la completa mantiene 4 arrays en memoria: -5-

API PHP 2.02. Requerimientos e instalación Los comandos del cliente Los comandos del servidor Los deliver Los sms fallados en los envíos múltiples 2.2. Recomendaciones Si el objetivo de tu aplicación es realizar un envío de un SMS al completar un formulario web. Te recomendamos la API simple. Si por el contrario quieres realizar un envío múltiple y controlar los SMS que han fallado deberás utilizar la API completa. 3. Descripción de las clases Las clases incluidas dentro del directorio lib son clases privadas por lo que no vamos a explicar sus funcionalidades. 3.1. SimpleSMS function SimpleSMS($user, $password). Constructora. Parámetros usuario y contraseña del massivo. No realiza la conexión. function connect(). Conecta con el servidor por socket. Devuelve -1 si se produce un error. function disconnect(). Se desconecta del servidor. Realiza una petición QUIT, si recibe un BYE desconecta, y establece a null el socket. function getconnectionstatus(). Devuelve TRUE si el socket esta conectado, FALSE en otro caso. function setdebugmode($debug). Establece el valor para realizar el debug del protocolo. function getdebugmode(). Devuelve el valor de debug del protocolo. function setallowanswer($estat). Para activar la respuesta al numero largo $estat debe de valer TRUE, para desactivar el AllowAnswer $estat debe de valer FALSE. Si esta activo el Customized Sender no es valido. Devuelve -1 si se produce un error. -6-

API PHP 2.03. Descripción de las clases function acuseon($mail). Activa los ACUSE. Si mail es cadena vacía o null devuelve -1. Si se produce un error también devuelve -1. function acuseoncertifiedsms($mail, $lang='es'). Activa los ACUSE certificados. Por defecto el idioma es el castellano. Si mail es una cadena vacía o null devuelve -1. Si se produce un error también devuelve -1. function acuseoff(). Desactiva los ACUSE. Devuelve -1 si se produce un error. function getcredit(). Devuelve el crédito actual o -1 si se produce un error. function getprice($num). Devuelve la tarifa actual para ese numero o -1 si se produce un error. function getoperatorinfo($num). Devuelve PREFIJO CODIGOPAIS CODIGOOPERADORA o -1 si se produce un error. Por ejemplo: 34652 34652 04. function getfilecontentbase64($file). Función para leer el contenido de un fichero del sistema de archivos y codificarlo en Base64 para su envío como mensaje binario WAP o MMS. Parámetro $file es la ruta absoluta del fichero. Devuelve una cadena en Base64 del contenido del fichero o null si se produce un error. Del siguiente grupo de métodos los parámetros $text, $data, $URL, $recipients pueden ser arrays. El formato valido para $datetime es YYYYMMDDHHmm. Por ejemplo, 197609081600 == 1976.August.8 at 16:00 == 8 de Agosto de 1.976 a las 16:00. Todos ellos tienen un primer parámetro que es el ID del envío, para que lo podáis gestionar vosotros, este parámetro debe de ser una variable. Todos ellos devuelven -1 si se produce un error. function sendtextsms(&$idenvio, $text, $recipients, $datetime). function sendbinarysms(&$idenvio, $data, $recipients, $datetime). Debes de codificar el parámetro $data en Base64. function sendunicodetextsms(&$idenvio, $text, $recipients, $datetime). Debes de codificar el parámetro $text en Base64. Mirar base64_encode() de php. function sendwappush($idenvio, $subject, $text, $recipients, $mimetype, $filedata). Debes de codificar el contenido del fichero en Base64, para ello puedes utilizar getfilecontentbase64($filename). -7-

API PHP 2.03. Descripción de las clases function sendmms($idenvio, $subject, $text, $recipients, $mimetype, $filedata). Debes de codificar el contenido del fichero en Base64, para ello puedes utilizar getfilecontentbase64($filename). function sendwaplink(&$idenvio, $subject, $URL, $recipients). 3.2. VirtualSMS function VirtualSMS($user, $password). Constructora. Parámetros usuario y contraseña del masivo. Crea un objeto Properties con valores por defecto. Crea otro objeto Events estándar. Realiza un connect(). function setevents($e). Establece los el objeto Events. Acepta objetos extendidos de Events. function getevents(). Devuelve el objeto Events. function setprotocolproperties($prop). Establece el objeto ProtocolProperties. extensamente al final del documento. Los ficheros properties los explico mas function getprotocolproperties(). Devuelve el objeto ProtocolProperties. function setuserproperties($prop). Establece el objeto UserProperties. La idea es poder tener varios objetos UserProperties, con diferentes configuraciones y poder utilizar-los indistintamente. function getuserproperties(). Devuelve el objeto UserProperties. function checkall($num). Realiza una petición de validación del numero $num. Por defecto, si el DEBUG esta activo, se almacena el resultado en el fichero vsms.log. Se recomienda extender la clase Events para capturar este tipo de respuestas. function checknetwork($num). Realiza una petición de validación del numero $num. Por defecto, si el DEBUG esta activo, se almacena el resultado en el fichero vsms.log. Se recomienda extender la clase Events para capturar este tipo de respuestas. -8-

API PHP 2.03. Descripción de las clases Métodos DELIVER. function deliversendbinarysms($iddeliver, $data). function deliversendtextsms($iddeliver, $text). function deliversendwaplink($iddeliver, $subject, $URLs). Los siguientes métodos son idénticos a la los de la clase SimpleSMS. Con la salvedad que no devuelven ningún valor, sino que delegan el control a la clase Events. function connect() function disconnect() function getconnectionstatus() function setallowanswer($estat) function acuseon($mail) acuseoncertifiedsms($mail, $lang='es') function acuseoff() function getcredits() function getprice($num) function getoperatorinfo($num) function getfilecontentbase64($file) function sendtextsms(&$idenvio, $text, $recipients, $datetime) function sendbinarysms(&$idenvio, $data, $recipients, $datetime) function sendunicodetextsms(&$idenvio, $text, $recipients, $datetime) function sendwappush($idenvio, $subject, $text, $recipients, $mimetype, $filedata) function sendmms($idenvio, $subject, $text, $recipients, $mimetype, $filedata) function sendwaplink(&$idenvio, $subject, $URL, $recipients) 3.2. Events Los eventos se lanzaran al recibir las respuestas del servidor. Por ejemplo, al hacer un LOGIN si todo va bien saltara el evento connected(). Si hay algún error saltara el evento connectionerror($errcode, $errmsg). function Events() Constructora. function connected() Se produce cuando se ha establecido la conexión con el servidor y el usuario introducido se ha identificado correctamente en el sistema. -9-

API PHP 2.03. Descripción de las clases function disconnected() Se produce cuando se pierde la conexión con el servidor, ya sea porque se ha llamado al método Disconnect o bien porque se ha perdido la conexión por un problema en la comunicación con el servidor. Use el evento Disconnect para detectar el momento en que se pierde la conexión con el servidor y pueda volver conectar si procede. function deliveryreceipt($timestamp, $sendtimestamp, $recipient, $text, $status) Se produce cuando se notifica por parte del servidor o la operadora un acuse de recibo. Para que se reciba este evento es necesario establecer la propiedad MailDeliveryReceipt al valor "INTERNAL". function deliver($iddeliver, $timestamp, $sender, $recipient, $text) Se produce cuando se recibe un mensaje de texto enviado a un número corto por parte de un usuario, a través del servidor SMS. Los SMS deliver deben responderse siempre. Si no se envía la respuesta pasadas 48 horas el SMS es descartado por el sistema. En el caso de no responderse al evento Deliver durante una conexión, el servidor envía de nuevo el evento Deliver al inicio de la siguiente conexión que se establezca. function replydeliver($iddeliver, $status) Se produce cuando se recibe la confirmación del estado de un mensaje tras ser enviado a través del método DeliverSendBinarySMS o DeliverSendTextSMS. function incomingmo($idincomingmo, $timestamp, $sender, $recipient, $text) Se produce cuando se recibe un mensaje de texto enviado a un número largo por parte de un usuario, a través del servidor SMS. function reply($idenvio, $status, $data) Se produce cuando se recibe la confirmación del estado de un mensaje tras ser enviado a través del método SendBinarySMS, SendMMS, SendUnicodeTextSMS, SendTextSMS, SendWapLink o SendWapPush. function connectionerror($errcode, $errmsg) Se produce cuando se detecta cualquier tipo de error en el control. En la mayoría de los casos en el momento que se produce un error se cierra la conexión con el servidor. Las excepciones son los casos: SMSMASS_ERR_ANOTHER_CONNECTION_IN_PROGRESS SMSMASS_ERR_PROTOCOL_ERROR. function nocredit() Se produce cuando se detecta que el saldo es inferior a 1 crédito. Aunque este evento nos indica que el saldo es inferior a un crédito, en cualquier momento es posible consultar la propiedad Credit para saber el saldo actual. function operatorinfo($phoneorprefix, $MCC, $MNC) Se produce cuando se recibe la respuesta del método getoperatorinfo($num). Nos indica el -10-

API PHP 2.03. Descripción de las clases código MCC (Mobile Country Code) y MNC (Mobile Network Code) del número de teléfono o prefijo solicitado. function checkall($id, $timestamp, $num, $ok, $rcode, $mcc, $mnc) Se produce cuando se recibe la respuesta del método checkall($num) function checknetwork($id, $timestamp, $num, $ok, $rcode, $mcc, $mnc) Se produce cuando se recibe la respuesta del método checknetwork($num) 3.3. Properties Estas clases te permite establecer las propiedades del protocolo y del usuario. UserProperties function UserProperties($user, $passwd) Constructora. Los valores por defecto son: $m_user = '' $m_pass = '' $m_credit = 0 $m_maildeliveryreceipt = '' $m_customizedsender = '' $m_allowanswer = true $m_cert = false $m_lang = 'ES' Para establecer y obtener los valores de la clase: function setuser($newuser) function setpassword($newpass) function setlang($lang) function setcredit($credit) function setmaildeliveryreceipt($newmaildeliveryreceipt) function setcustomizedsender($newcustomizedsender) function setallowanswer($newallowanswer) function setcertifiedsms($newcert) function setdefaultproperties($user, $passwd) function getuser() function getpassword() function getcredit() function getmaildeliveryreceipt() function getcustomizedsender() function getlang() -11-

API PHP 2.03. Descripción de las clases function isallowanswer() function iscertifiedsms() ProtocolProperties function ProtocolProperties() Constructora. Los valores por defecto son: $debug = true $m_host = 'sms.lleida.net' $m_port = 2048 $m_ackacuses = false $m_ackchecker = false $m_ackincoming = false $m_ackdeliver = false Para establecer y obtener los valores de el servidor, puerto y debug de la aplicación. function sethost($newhost) function setport($newport) function setdebugmode($deb) function getdebugmode() function gethost() function getport() Para configurar los flags del protocolo. function activeallack() function deactiveallack() function setacusesack($bln) function setcheckerack($bln) function setincomingack($bln) function setdeliverack($bln) function isactivatedacusesack() function isactivatedcheckerack() function isactivatedincomingack() function isactivateddeliverack() -12-