Vous êtes sur la page 1sur 20

TELECO CHILE S.A.

Web Services de Acceso a Plataforma SMS

Web Services de Acceso a Plataforma SMS Versin 1.7

Tabla de Contenidos
1.

CONTROL DE DOCUMENTACIN ..........................................................................................................................3

2.

PLATAFORMA TELECO CHILE SMS .....................................................................................................................5

3.

OPERACIN DE PLATAFORMA TELECO CHILE MEDIANTE WEBSERVICES ..........................................6


Servicios Soportados .............................................................................................................................................................6
Protocolo ...............................................................................................................................................................................6
Parmetros .............................................................................................................................................................................6

4.

MTODOS ......................................................................................................................................................................7
1.1.1 Chequeo de validez de numeracin..........................................................................................................................7
1.1.2 Envo de Mensaje .....................................................................................................................................................7
1.1.3 Consulta de estado para mensajes enviados ..........................................................................................................10
1.1.4 Consulta de crditos ..............................................................................................................................................13
1.1.5 Recepcin de Mensajes ..........................................................................................................................................15

5.

RECEPCIN DE EVENTOS DESDE LA PLATAFORMA TELECO CHILE ....................................................17


Servicios Soportados ...........................................................................................................................................................17
Protocolo .............................................................................................................................................................................17
Mtodos...............................................................................................................................................................................17
Notificacin de recepcin de mensaje ............................................................................................................................17

Pgina 2 de 20

1. Control de documentacin
Histrico de versiones
Versin

Fecha

1.0
1.1
1.2
1.3

20 de Noviembre de 2008
27 de Abril de 2009
19 de Mayo de 2009
27 de Octubre de 2009

Jos Antonio Akel S.


Jos Antonio Akel S.
Jos Antonio Akel S.
Jos Antonio Akel S.

1.4
1.5
1.6
1.7
1.7.1
1.7.2

7 de Enero de 2010
12 de Febrero de 2010
30 de Marzo de 2010
6 de Septiembre de 2012
10 de Enero de 2014
27 de Mayo de 2015

Jos Antonio Akel S.


Jos Antonio Akel S.
Francisco Gutierrez
Jos Antonio Akel S.
Jos Antonio Akel S.
Jos Monje Ruiz

Cambio desde la versin 1.7.2

Actualizacin de parmetros de Chequeo de validez de numeracin checkNumber

Cambios desde la versin 1.7.1


1.7.1

Actualizacin de parmetros de getReceivedMessages

Cambios desde la versin 1.7

Inclusin de mtodo getReceivedMessages

Cambios desde la versin 1.4

Correccin de cdigos de respuesta de getMyCredits

Cambios desde la versin 1.3

Inclusin de webservices de recepcin implementados por el cliente

Cambios desde la versin 1.1

Implementacin de mtodo getMyCredits


Actualizacin de direcciones del servidor

Control de Instancia
Autor: Jos Antonio Akel.
Aprobado por:
Firma:
Distribucin:

EPCS

Francisco Gutierrez

Cargo:

Ing. de Desarrollo

Cargo:

Jefe de Proyecto

Fecha:

2. Plataforma TELECO CHILE SMS


La plataforma de SMS TELECO CHILE le permite a nuestros clientes comunicarse mediante la red
mundial de mensajera corta soportada por operadores mviles al rededor de todo el mundo. El servicio es
operado las 24 horas del da y ofrece tanto los servicios de entrega de mensajes como los de confirmacin
de recepcin.

3. Operacin de Plataforma TELECO CHILE Mediante


WebServices

Servicios Soportados
En la presente versin del documento la plataforma ofrece los siguientes servicios a los clientes de
TELECO CHILE:
1. Chequeo de validez de numeracin
2. Envo de mensajes cortos
3. Consulta de estado para mensajes enviados
4. Rescate de mensajes recibidos

Protocolo
La plataforma TELECO CHILE utiliza el protocolo XML-RPC, debido a su ubicuidad y simplicidad

Parmetros
El servicio opera simultneamente en dos servidores:
smpp2.telecochile.cl:4040 (servidor primario)
smpp.telecochile.cl:4040 (servidor de respaldo)
En caso de encontrar inconvenientes para el envo a travs del servidor principal, es posible utilizar el
servidor de respaldo de manera idntica.

4. Mtodos
1.1.1 Chequeo de validez de numeracin
Objetivo: chequear si un nmero mvil es vlido, y obtener el bloque de numeracin asignado. Este bloque
puede hacer referencia a un operador mvil especfico, o a una ruta de entrega.
Nombre del mtodo: checkNumber
Parmetros:
clientId (ASCII string): el nombre de usuario del cliente de TELECO CHILE
clientPassword (ASCII string): la contrasea del cliente de TELECO CHILE
Nmero mvil (string)
Salida:
Texto referente a la compaa o ruta de salida
Ejemplo: checkNumber('5629140003','passwd1234',56998145898)
Retorna: Entel Chile

1.1.2 Envo de Mensaje


Objetivo: enviar un mensaje corto a la plataforma TELECO CHILE para su entrega al destinatario.
Nombre del mtodo: submitMsg
Parmetros:

clientId (ASCII string): el nombre de usuario del cliente de TELECO CHILE


clientPassword (ASCII string): la contrasea del cliente de TELECO CHILE
ani (ASCII string): el remitente del mensaje
dnis (ASCII string) el destinatario del mensaje
msg (UTF-8 string) mensaje de texto
Salida:
Arreglo asociativo con las siguientes llaves:
CODE: Cdigo de salida. 0 significa Sin error
MESSAGE: Mensaje de error
ID: el ID asignado por la plataforma TELECO CHILE al mensaje recibido
Ejemplo: submitMsg('5629140003','passwd1234','5639141003','56998145833','Hola amigo mio')
Retorna: {'CODE':0,'MESSAGE','Message Queued','ID':'1550123'}
Tabla De cdigos de salida:
ERROR CODE

MESSAGE

Message Queued

Invalid userId/Password

Ani Not Received

Invalid ANI: Too long (>13)

Invalid DNIS: Not a Number

Invalid DNIS: no route available

Invalid Message: Too long (>160)

Unknown Error

Not enough credits

You do not have a valid route for this destination

1.1.3 Consulta de estado para mensajes enviados


Objetivo: Averiguar el status de entrega de un mensaje.
Nombre del mtodo: enquireMsgStatus
Parmetros:
clientId (ASCII string): el nombre de usuario del cliente de TELECO CHILE
clientPassword (ASCII string): la contrasea del cliente de TELECO CHILE
msgId (ASCII string) ID del mensaje entregado por TELECO CHILE
Salida:
Arreglo asociativo con las siguientes llaves:
CODE: Cdigo de salida. 0 significa Sin error
MESSAGE: Mensaje de error
STATUS: El estado del mensaje
DELIVERYDATE : Fecha y hora de entrega, si es que el mensaje tiene status DELIVERED
Ejemplo:
enquireMsgStatus('5629140003','passwd1234','1550123')

Retorna:

{'STATUS': 'CONFIRMED DELIVERY', 'DELIVERYDATE': '2009-04-24 20:11:04.931309', 'MESSAGE': 'Success', 'CODE': 0, 'ID':
1550123}

Posibles status de salida para enquireMsgStatus


Status

Descripcin

UNKNOWN

El mtodo fue llamado con parmetros errneos

DEFERRED

El mensage no ha podido ser entregado an

ROUTING

La plataforma se encuentra buscando la ruta ptima para la


entrega del mensaje

INCOMMING

Mensaje en la cola activa, listo para su entrega

SENT

El mensaje fue enviado, sin solicitud de confirmacin

UNDELIVERED

Se confirm que el mensaje no pudo ser entregado

CONFIRMED DELIVERY

Se confirm la entrega del mensaje

WAITING FOR CONFIRMATION

Wl mensaje fue enviado. No se ha recibido la confirmacin de su


entrega

1.1.4 Consulta de crditos


Objetivo: Averiguar la cantidad de crditos disponibles para envo de mensajes
Nombre del mtodo: getMyCredits
Parmetros:
clientId (ASCII string): el nombre de usuario del cliente de TELECO CHILE
clientPassword (ASCII string): la contrasea del cliente de TELECO CHILE
Salida:
Arreglo asociativo con las siguientes llaves:
CODE: Cdigo de salida. 0 significa Sin error
MESSAGE: Mensaje de error
CREDITS: La cantidad de crditos disponibles
Ejemplo:
getMyCredits('5629140003','passwd1234')

Retorna:
{"CODE":0,"MESSAGE":"Success","CREDITS":20}Posibles

codigos y mensajes de salida para getMyCredits

Codigo

Mensaje

Descripcin

-1

Invalid userId/Password

El mtodo fue llamado con parmetros errneos

Success

Se retorna exitsamente el nmero de crditos

19

Unknown Error

Error en la plataforma

1.1.5 Recepcin de Mensajes


Objetivo: Obtener los mensajes enviados por usuarios finales al nmero del abonado Teleco. El mtodo
devuelve todos los mensajes recibidos durante los ltimos 7 das a el o los nmeros asociados al
abonado.
Nombre del mtodo: getReceivedMessages
Parmetros:
clientId (ASCII string): el nombre de usuario del cliente de TELECO CHILE
clientPassword (ASCII string): la contrasea del cliente de TELECO CHILE
count (integer, opcional): Nmero mximo de mensajes a recibir
minId (integer, opcional): ID de mensaje mnimo a recibir
Salida:
Arreglo asociativo con las siguientes llaves:
CODE: Cdigo de salida. 0 significa Sin error
MESSAGE: Mensaje de error
MESSAGES: Tupla con mensajes. Cada mensaje es, a su vez, un arreglo asociativo con la siguiente
estructura:

id : Identificador del mensaje recibido

from: ANI del mensaje recibido

to: DNIS del mensaje recibido. Usualmente corresponde con el nmero del abonado

message: El cuerpo del mensaje, codificado en UTF8

arrived: Fecha y hora de recepcin del mensaje

Ejemplo:
getReceivedMessages('5629140003','passwd1234')

Retorna:
{'STATUS': 'SUCCESS', 'MESSAGE': '2 Messages Found', 'CODE': 0, 'MESSAGES': [{'to': '10571', 'message': 'Si', 'arrived':
'2012-09-06 16:16:04.730972', 'id': 203161, 'from': '56976584141'}, {'to': '10571', 'message': 'Si', 'arrived': '2012-09-06
14:51:42.560203', 'id': 203156, 'from': '56979781506'}], 'ID': '-1'}

Posibles codigos y mensajes de salida para getReceivedMessages


Codigo

Mensaje

Descripcin

Invalid userId/Password

El mtodo fue llamado con parmetros errneos

Success

Se retorna exitsamente el nmero de crditos

19

Unknown Error

Error en la plataforma

5. Recepcin de Eventos desde la plataforma TELECO CHILE


Servicios Soportados
En la presente versin del documento la plataforma ofrece los siguientes servicios a los clientes de
TELECO CHILE:
5. Entrega de mensajes MO recibidos por la plataforma TELECO CHILE hacia un webservice
implementado por el cliente

Protocolo
La plataforma TELECO CHILE utiliza el protocolo XML-RPC, debido a su ubicuidad y simplicidad.
El cliente deber implementar un servicio XML-RPC sobre un servidor web instalado en sus
dependencias. La plataforma TELECO CHILE llamar este web service con la informacin relevante.
El cliente tendr la responsabilidad de autorizar el acceso al puerto de operacin del web service desde
las Ips de TELECO CHILE.

Mtodos
Notificacin de recepcin de mensaje
Objetivo: Esta notificacin tiene como objetivo entregar al cliente de manera instantnea los mensajes
recibidos por sus nmeros asignados en la plataforma TELECO CHILE. Esta ltima, al recibir el mensaje,
revisar en su tabla configuracin si existe un web service al cual notificar asociado a ese DNIS. Si es as,
llamar al webservice registrado con la informacin del mensaje.

Ser posible implementar, para cada nmero perteneciente al rango de numeracin de TELECO CHILE y
asignado al cliente, un mtodo distinto. De esta manera, si el cliente tiene asignados dos nmeros (el
5629146000 y

5629146001) es posible registrar mtodos distintos para cada uno de ellos.

Alternativamente, al llamar el mtodo, TELECO CHILE entrega como parmetro el nmero que recibi el
mensaje.
Los mtodos no tienen restricciones en cuanto al nombre, excepto que no puede sobrepasar los 64
caracteres.
Nombre del mtodo: <definido por el cliente>
Parmetros:
user:
string(32). Nombre de usuario de autenticacin para poder hacer uso del webservice. Debe
ser entregado a TELECO CHILE.
password:
string(32). Contrasea de autenticacin para poder hacer uso del webservice. Debe ser
entregado a TELECO CHILE.
ani:
string(32). Nmero telefnico del remitente.
dnis:

string(32). Nmero telefnico del destinatario. Este nmero pertenece a la red TELECO
CHILE.
mensaje:
string(160). Cuerpo del mensaje.
datoAdicional:
Es posible configurar, para cada nmero de telfono registrado, informacin adicional que
se enviar al webservice. Esto tiene como objetivo entregar ms flexibilidad al momento de
la implementacin.
Salida:
True (xito) o False (Fracaso)

EJEMPLO

Los parmetros de la funcin tienen que ser: user, password, ani, dnis, mensaje, datoAdicional respetando
el mismo orden, y las letras maysculas.
Ejemplo en Python:
Este ejemplo nicamente recibe e imprime los mensajes con los datos de la cuenta en la pantalla del
servidor.

#Lenguage de programacin: Python 3.1


#import the SimpleXMLRPCServer class
from xmlrpc.server import SimpleXMLRPCServer

#Este es el mtodo el cual llama el servidor smpp en equipo de recepcin.


def recsms(user,password,ani,dnis,mensaje,datoAdicional):
#Autentifica el nombre de usuario y contrasea.
if(user == "hola" and password == "como"):
#Imprime en pantalla el usuario, la password, el ani, el dnis y el mensaje.
print(user + " " + password + " " + ani + " " + dnis + " " + mensaje)
#Para retornarle al servidor que el mensaje fue recibido, estos es muy importante, para sacar
#los mensajes de la cola activa, de no devolver el valor true, el servidor va a seguir envindolos
#produciendo as la duplicacin de los mensajes en su servidor.
if(user == "hola" and password == "como"):
return True
#Esta es la configuracin del servidor para que escuche a cualquier IP en el Puerto 4040
server = SimpleXMLRPCServer(("0.0.0.0", 4040))
print("Listening on port 4040...")
#Registra el mtodo al cual va a llamar cuando el servidor de TELECO CHILE enve un SMS
server.register_function(recsms, "recsms")
#Para que escuche para siempre

Vous aimerez peut-être aussi