Integración HTTP REST. Versión 2.0

Documentos relacionados
Integración HTTP GET. Versión 2.0

Integración REST Text2Speech

Integración Web Services SOAP Gateway

SMPP Server http GATEWAY

Integración Web Services REST Gateway

PUSH WEB SERVER HTTP GATEWAY. Versión 1.0

OneAPI Interface Ref Push SMS. 13 de mayo de 2016 v1.1

TELKIA. Especificación, SMSBROKER HTTP Protocol TELKIA. Versión: 2.5 Fecha: Page 1

. Recibir devoluciones de llamada HTTP para la notificación de entrega (recibos) cuando se recibe SMS-MT (o no) en la estación móvil.

Documentación Técnica

SERVICIO DE ENVÍO MASIVO DE MENSAJES SMS MEDIANTE PROTOCOLO SMPP. smpp

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

Introducción... 3 PLATAFORMA TÉCNICA Petición de envío de SMS... 3 Ver estado de envíos de SMS... 5 Ver créditos disponibles...

Pasarela para envíos de faxes a través de interfaz HTTPS

Contexto... 3 Plataforma... 3 Enviar SMS... 4 Parámetros de entrada:...4 Respuesta:...4 Ejemplo de uso:...4

ANEXO II: ARCHIVOS CREADOS PARA IMPLEMENTAR LA WEB API EN EL SERVIDOR

TELECO CHILE S.A. WSDL SOAP de Acceso a Plataforma SMS

Guía de integración Pagomedios API Revisión Agosto 2017

Especificació n de API IVR ITD Chile

Integración con la API informativa GUÍA DE INTEGRACIÓN CON LA API INFORMATIVA HTTPS. Página 1/11

F U N D A D O POR DON 0SE B A T l L E Y O R D O Ñ E Z EL > 6 DE J U N I O DE « '»eriarclóo 0 E O O A4 I N C O A LLAMENOS CHURRASOUERA

Contexto... 3 Platforma... 3 Enviar SMS individual... 5 Parámetros de entrada:...5 Respuesta:...5 Ejemplo de uso:...5

Enviar SMS individual... 8 Parámetros de entrada:...8 Respuesta:...8 Ejemplo de uso:...8

Envío de SMS en el portal Redvoiss.net

Pasarela para envíos de faxes a través de interfaz HTTPS

DOCUMENTACIÓN TÉCNICA

factesol Documentation

El protocolo HTTP. Introducción al protocolo HTTP. Comunicación entre el navegador y el servidor. Solicitud HTTP

MANUAL TECNICO API SMS-HTTP

T E X T O D E L M A N U A L D E H T M L, W E B M A E S T R O, P O R F R A N C I S C O A R O C E N A

OBJETIVO REQUERIMIENTOS

SERVICIO DE ENVÍO MASIVO DE MENSAJES MMS MULTIMEDIA HTTPS/API

El vapor Ortega fué ren olcado a la Habana seiridestruido por un incendio. La dictadura no ha de íavorecei a un solo partido sino a la nación entera

Especificación de API SMS ITD Chile

WEBSERVICE SOAP/XML Revisión 3.2 Septiembre Contenido

NOTICIAS DE ULTIMA HORA CONFIRMAN QUE LA NORMALIDAD REINA EN ESPAÑA : L as versiones que llegan de

API-SMS WebService Interface Ref Push SMS, Balance, ACKs. 19 de enero de 2016 v1.9

P a u l C e l a n ( A n t e m í )

CAPÍTULO 5: PROTOCOLO HTTP

1. Accediendo a la plataforma HTTP de Marketext Código de ejemplo Seguridad y autenticación Enviando un SMS Simple 5

República Argentina - Poder Ejecutivo Nacional Año de las Energías Renovables. Anexo

Guía técnica Web Service recepción de archivos CUSCAR - Manifiestos. Gerencia de Informática Intendencia de Aduanas Versión 4.0

RECEPCIÓN DE MENSAJES POR SERVICIO WEB

Servicios pensados para optimizar los procesos de comunicación de voz y SMS.

Envío de SMS vía HTTP. HTTP XML API

MT - HTML API Interface

Especificació n de API SMS ITD Chile

Documentación de la API clickline.com

Servicios en Red. UT6. Servicio HTTP

1 E N V I T E 2 R E C H I F L E T R I S T O N G O 3 P A L I Z A M O R M O S A 4 C H U C E A D A F U L E R A 5 G A R R O T E E M B R E T A D O

SMS. Envío de SMS desde Redvoiss.net. Marzo 2017

Manual del Protocolo XML RPC Mensajería Negocios

Envío de SMS en el portal Redvoiss.net

MDIrector - APIs de Integración

1 8 0 x c m. A c r í l i c o / Te l a

5.- DESCRIPCIÓN DEL PROTOCOLO HTTP

Especificaciones de la Interfaz HTTP para envío de SMS

Slack, WordPress y un poco más. Eric Zeidan

API NewsletterSoft. IE-API Herramienta de Newsletter Página 1 de 14

FeedHub: Guía de consumo

Professional v Manual de avisos por SMS

Especificaciones de la Pasarela SMS NÚMEROS LARGOS

API - Documentación. Obtener mensajes SMS. Introducción Obtén tus mensajes SMS enviados, en formato JSON.

Guía de uso para IdP Comprobantes Electrónicos

Servicios web de distribución digital (DDWS) GetPartnerDesignation - Manual de servicio

Listado del registro de mensajes de la plataforma SMS de LleidaNetworks vía HTTP

Especificaciones de la Pasarela SMS PREMIUM

PRACTICA FINAL. Diseño e implementación de un servidor Web básico y cliente http. Protocolo HTTP-RC

Archive (Respaldo) en MasterBase : Guía de consumo Web Service

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

Punto 3 Protocolo HTTP. Juan Luis Cano

Desde California llegan ya donativos para los niños pobres de Puerto Rico

Arquitecturas Distribuidas. TEMA 3. Tecnologías de la web dinámica

C A N D I D A T O S A D I P U T A D O S

MANUAL DE INTEGRACIÓN PAGOS EN EFECTIVO

API Mensajería Negocios. v3.0

Especificaciones de la Interfaz REST para envío de SMS

Aplicaciones Web. Aplicaciones Distribuidas

API-SMS WebService Interface Ref Push SMS, Balance, ACKs. 20 de noviembre de 2014 v1.7

La forma mas sencilla de autenticación es usando tu nombre de usuario en el parámetro user y tu contraseña en el parámetro password.

Meta. Documentación API Hackaton 100 ideas zgz

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

COMUNICACIÓN CON PANTALLAS MP-MERCURY MEDIANTE PROTOCOLO TCP-ASCII

Enlace B2B Manual del API

Resumen Macroeconomía

API-SMS WebService Interface Ref Push SMS, Balance, ACKs. 30 de marzo de 2016 v1.11

PRACTICA FINAL. Diseño e implementación de un servidor FTP básico y cliente ftp. Protocolo FTP-RC

En los ejemplos de esta documentación se usa el símbolo {:name} para tu nombre de usuario y {:pass} para tu contraseña.

m MMk-725 ENLACE GSM PARA ASCENSORES Manual M2M MMk-725 Enlace GSM para ascensores Merak

DIPUTACIÓN PROVINCIAL DE HUESCA GUÍA DE USO BEDEL ELECTRÓNICO

Servicios web de distribución digital (DDWS) GetMyPrice - Manual del servicio

Servicios web de distribució n digital (DDWS) GetLicense - Manual del servicio

Configuración y uso de WebConnector

API-SMS HTTP/GET Interface! Ref Push SMS, Balance, ACKs.! 10 de abril de 2014 v1.4

API-SMS HTTP/GET Interface Ref Push SMS, Balance, ACKs. 30 de marzo de 2016 v1.11

Transcripción:

Integración HTTP REST Versión 2.0

Índice Introducción Pag: 3 Plataforma Técnica Pag: 4 Petición de envío de SMS Pag: 4 Ejemplo de petición CURL Pag: 5 Ejemplo de petición PHP Pag: 5 Códigos de estado de respuestas Pag: 5 Anexo A: Acuses de recibo Pag: 7 Anexo B: Conjunto de caracteres GSM7 Pag: 9 2

Introducción La plataforma REST Gateway permite al usuario enviar mensajes a través de HTTP o HTTPS de una manera sencilla y rápida, pudiendo enviar mas de 500 mensajes en una sola petición. Para poder acceder a sus estadísticas y datos de facturación puede acceder a la web WauSMS con sus datos de usuario. Esta documentación describe los parámetros necesarios y opcionales para utilizar todas las posibilidades para el envío de mensajes sms siguiendo las especificaciones REST. Tanto las peticiones como las respuestas de la API REST están en formato JSON, haciendo muy sencillo la utilización del la API con cualquier lenguaje de programación. 3

PLATAFORMA TÉCNICA Petición de envío de SMS Cada petición que se realice tendrá que incluir en la cabecera de la petición http la autenticación del cliente. Para ello se utiliza la autenticación de acceso básica de HTTP. La cabecera de autorización se construye combinando la cadena usuario: contraseña y codificándola en base64. A esta cadena se antepone la cadena Authorization: Basic Por ejemplo, para el usuario miuser y el password mipass la cabecera resultante sería: Authorization: Basic bwl1c2vyom1pcgfzcw== A continuación se detallará las opciones de envío disponibles, la URL a la que se debe llamar, y los parámetros que admite. Para generar la URL el cliente deberá hacer una llamada POST a la siguiente dirección: https://dashboard.wausms.com/api/rest/message Petición JSON: Ejemplo de petición básica: {"to":["34666555444"],"text":"mensaje de texto","from":"msg"} Parámetros posibles: text: Texto del mensaje. Como máximo puede tener 160 caracteres si no se especifica que el mensaje sea multiparte (ver parámetro "parts"). El texto tiene que estar codificado en UTF-8 to: número de teléfono móvil destinatario del mensaje. Debe incluir el prefijo (Ej: En España 34666666666). Este campo permite indicar multiples destinatarios, para ello hay que separar los números de teléfono por el un espacio (Ej: 34666666666 34666666667 34666666668) from: Texto del Remitente, esta etiqueta se compondrá de 15 números o 11 caracteres alfanuméricos. coding (opcional): Los posibles valores son 0 y 8. El valor 0 para envíos normales con codificación GSM7 y 160 caracteres por mensaje y el valor 8 para codificación UCS2 (UTF16) y 70 caracteres por mensaje. fsend(opcional): Fecha de envío del mensaje. Si se necesita enviar mensajes programados se puede especificar la fecha de envío indicando la fecha en formato YYYYmmddHHiiss (Ej: 20130215142000 sería el 15 de febrero de 2013 a las 14:20 UTC). La fecha se tiene que especificar en tiempo UTC (GMT+0). No se podrán programar envíos mas tarde de los 30 días siguientes. En caso de envío inmediato no se tiene que especificar este parámetro. parts(opcional):: Indica el número máximo de partes en que se dividirá el mensaje para su envío. Esta variable tiene valor 1 por defecto, por lo que si no se especifica y se envía un mensaje de mas de 160 caracteres para codificación 0, el mensaje fallará. Hay que tener en cuenta que los mensajes concatenados solo pueden tener 153 caracteres por parte y que cada parte se tarifica como un envío. El servidor sólo utilizará el mínimo de partes necesarias para realizar el envío del mensaje, aunque el número de partes especificado sea superior al necesario. Si el número de partes especificado es inferior al necesario para el envío, éste fallará con el error 105. trsec(opcional): Los valores posibles son 1 y 0. Con el valor 0 el servidor no modifica ningún carácter del mensaje, este es el valor por defecto. Con el valor 1 el servidor se encarga de modificar los caracteres comunes no validos en GSM7 a caracteres validos con la siguiente tabla de traducción: "á"=>"a", "í"=>"i", "ó"=>"o", "ú"=>"u", "ç"=>"ç", "Á"=>"A", "Í"=>"I", "Ó"=>"O", "Ú"=>"U", "À"=>"A", "È"=>"E", "Ì"=>"I", "Ò"=>"O", "Ù"=>"U", "o"=>"", "a"=>"", "Õ"=>"O", "õ"=>"o", "â"=>"a", "ê"=>"e", "î"=>"i", "ô"=>"o", "û"=>"u", "Â"=>"A", "Ê"=>"E", "Î"=>"I", "Ô"=>"O", "Û"=>"U", "ã"=>"a", "Ã"=>"A" 4

Ejemplo de petición CURL: curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ trans }} -H "Authorization: Basic bwl1c2vyom1pcgfzcw==" \ -d "{\"to\":[\"34666555444\"],\"text\":\"mensaje de texto\",\"from\":\"msg\"}" \ https://dashboard.wausms.com/api/rest/message Ejemplo de petición PHP: <?php $post['to'] = array('34666555444'); $post['text'] = "mensaje de texto"; $post['from'] = "msg"; $user ="miuser"; $password = 'mipass'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://dashboard.wausms.com/api/rest/message"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Accept: application/json", "Authorization: Basic ".base64_encode($user.":".$password))); $result = curl_exec ($ch);?> La clave de acceso (password) y el código del cliente (username) serán proporcionados por la empresa. Hay que comentar que con objeto de aumentar la seguridad del sistema, el cliente deberá indicar la IP desde donde se va a conectar, solo se permitirán envíos de la IP indicada por el cliente. Códigos de estado de respuestas La API REST puede responder con los estados HTTP siguientes: Código estado Descripción Detalles 202 Accepted El mensaje se ha aceptado para su posterior proceso 207 Multi-status El mensaje se ha aceptado para su posterior proceso, pero algunos de los destinatarios son incorrectos. 400 Bad request La petición contiene errores, el mensaje no ha sido aceptado 401 Unauthorized Fallo en la autenticación del cliente 402 Payment required El cliente no dispone de saldo suficiente 500 Internal server error El servidor ha tenido un error interno 5

En el cuerpo de la respuesta HTTP se entrega un JSON con los detalles del resultado, estas son las respuestas posibles: Código estado 202: [{"accepted":true,"to":"34666555444","id":"102648819"}] Código estado 207: [{"accepted":true,"to":"34666555444","id":"102648819"}] Código estado 202: [{"accepted":true,"to":"34626690739","id":"102648820"},{"accepted":false, "to":"34","error":{"code":102,"description":"no valid recipients"}}] Código estado 400: {"error":{"code":102,"description":"no valid recipients"}} {"error":{"code":104,"description":"text message missing"}} {"error":{"code":105,"description":"text message too long"}} {"error":{"code":106,"description":"sender missing"}} {"error":{"code":107,"description":"sender too long"}} {"error":{"code":108,"description":"no valid Datetime for send"}} {"error":{"code":109,"description":"notification URL incorrect"}} {"error":{"code":110,"description":"exceeded maximum parts allowed or incorrect number of parts"}} {"error":{"code":113,"description":"invalid coding"}} Código estado 401: {"error":{"code":103,"description":"username or password unknown"}} {"error":{"code":111,"description":"not enough credits"}} Código estado 402: {"error":{"code":111,"description":"not enough credits"}} 6

Anexo A: Acuses de recibo Si se desean recibir los acuses de recibo en tiempo real se deberá especificar la variable dlr-url con la URL del cliente donde quiere que se notifique es estado del envío. El funcionamiento consiste en especificar en cada petición http la URL donde se desea que realice una petición de nuestro servidor cuando se reciba una notificación por parte de la operadora. Para ello el cliente debe disponer de un servidor http capaz de recibir esas notificaciones. Nuestro servidor enviara las variables por el método GET tal como el cliente quiera, para ello en la URL que nos envía tiene que poner el nombre de la variable seguido de un carácter de escape que contendrá el valor, los caracteres de escape tienen la forma del carácter % seguido de una letra. Este seria un ejemplo de URL: http://mi.server.com/notifica.php?remitente=%p&tel=%p&estado=%d Estos son los caracteres de escape definidos: %i Identificador de WauSMS que se entregó cuando se hizo el envío. %d Valor del acuse de recibo. %p El remitente del SMS. %P El número de teléfono del receptor del mensaje SMS %t Fecha del envío del mensaje con formato "YYYY-MM-DD HH:MM", e.j., "2015-09-21 14:18" El valor %d es el que nos devolverá el estado final del envío, los valores posibles son: 1: El mensaje ha sido entregado al destinatario. 2: El mensaje no se ha podido entregar al destinatario. 4: El mensaje ha sido entregado al SMSC, es una notificación intermedia, no un resultado final 16: No se ha podido entregar a la operadora final Para explicar mejor el proceso, a continuación se da un ejemplo de cómo seria el envío de un sms y la recepción de su acuse de recibo. En primer lugar enviamos el sms con la variable dlr-url donde indicaremos la URL donde queremos recibir la notificación de entrega, añadiremos a esta URL nuestro identificador de envío para poder identificar inequívocamente cuando lo recibamos. La url final para la notificación seria: http://mi.server.com/notifica.php?idenvio=7584remitente=%p&tel=%p&estado=%d Ejemplo de petición CURL: curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Basic bwl1c2vyom1pcgfzcw==" \ -d "{\"to\":[\"34666555444\"],\"text\":\"mensaje \",\"from\":\"msg\",\"dlrurl\":\"http://mi.server.com/notifica.php?remitente=%p&tel=%p&estado=%d\"}" \ https://dashboard.wausms.com/api/rest/message Ejemplo de petición PHP: <?php $post['to'] = array('34666555444'); $post['text'] = "mensaje de texto"; $post['from'] = "msg"; $post['dlr-url'] = "http://mi.server.com/notifica.php?idenvio=7584remitente=%p&tel=%p&estado=%d"; $user ="miuser"; $password = 'mipass'; $ch = curl_init(); curl_setopt 7

($ch, CURLOPT_URL, "https://dashboard.wausms.com/api/rest/message"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post)); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Accept: application/json", "Authorization: Basic ".base64_encode($user.":".$password))); $result = curl_exec ($ch);?> Suponiendo que todos los mensajes puedan ser entregados, recibiremos al script notifica.php tres peticiones con el estado=1, remitente=test, idenvio=7584 y el número de teléfono correspondiente. 8

Anexo B: Conjunto de caracteres GSM7 Conjunto de caracteres básico 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x00 @? SP 0 P p 0x01 _! 1 A Q a q 0x02 $? " 2 B B b r 0x03? # 3 C S c s 0x04 è? 4 D T d t 0x05 é? % 5 E U e u 0x06 ù?? 6 F V f v 0x07 ì? ' 7 G W g w 0x08 ò? ( 8 H X h x 0x09 Ç? ) 9 I Y i y 0x0A LF? * : J Z j z 0x0B Ø ESC + ; K Ä k ä 0x0C ø Æ, L Ö l ö 0x0D CR æ - = M Ñ m ñ 0x0E Å ß. > N Ü n ü 0x0F å É /? O o à Extensión del conjunto de caracteres básico, estos caracteres ocupan dos posiciones 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x00 0x01 0x02 0x03 0x04 ^ 0x05 9

0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x06 0x07 0x08 } 0x09 { 0x0A FF 0x0B SS2 0x0C [ 0x0D CR2 ~ 0x0E ] 0x0F \ 10