0% encontró este documento útil (0 votos)
1K vistas9 páginas

Envío de SMS mediante API HTTP

Este documento describe cómo enviar SMS a través de una API HTTP. Se puede enviar hasta 500 SMS por solicitud a múltiples destinatarios. Existen limitaciones en la longitud de los mensajes dependiendo del tipo de codificación utilizado (GSM7 u UCS2). También se proporcionan ejemplos de solicitudes y respuestas exitosas y fallidas con sus respectivos códigos de error.

Cargado por

sarasa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas9 páginas

Envío de SMS mediante API HTTP

Este documento describe cómo enviar SMS a través de una API HTTP. Se puede enviar hasta 500 SMS por solicitud a múltiples destinatarios. Existen limitaciones en la longitud de los mensajes dependiendo del tipo de codificación utilizado (GSM7 u UCS2). También se proporcionan ejemplos de solicitudes y respuestas exitosas y fallidas con sus respectivos códigos de error.

Cargado por

sarasa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción

Este documento describe el envío de SMS salientes (MT) sobre una interfaz de servicios
HTTP perteneciente a la API de Sondeos. Se detallan operación, URL, limitaciones,
parámetros, invocaciones de muestra y códigos de error.

Operación

Mediante la operación ​SubmitSMS​ es posible enviar SMS a múltiples destinatarios.

URL:​ ​http://wsfrontera2.sondeosglobal.com

Limitaciones

Cantidad de caracteres
El data-coding por defecto utilizado al enviar los mensajes via WebService es GSM7 (7bits).

El data-coding GSM7 tiene un máximo de 160 caracteres por mensaje y no soporta tildes, ñ,
ni caracteres especiales.

Es posible enviar mensajes con más de 160 caracteres utilizando la función de concatenar,
dicha función se habilita con el parámetro extendedMessage con valor 1.

Para mensajes concatenados, los mensajes con encoding GSM7 permiten un máximo de 153
caracteres por parte, debido a que el protocolo requiere agregar el encabezado UDH.

Tener en cuenta que cada parte de un mensaje concatenado se tarifa como 1 SMS
individual.

Caracteres Especiales
Para soportar tildes, ñ y caracteres especiales es necesario enviar los SMS con encoding
UCS2. Este encoding soporta más caracteres, pero limita cada mensaje a 70 caracteres.

Para habilitar el encoding UCS2 se debe enviar el parámetro dataCoding con valor 8.

Para mensajes concatenados, los mensajes con encoding UCS2 permiten un máximo de 67
caracteres por parte, debido a que el protocolo requiere agregar el encabezado UDH.
1
Cantidad de mensajes por request
La operación permite un máximo de 500 mensajes por invocación.

Flujo

Detalle Request

Operación SubmitSMS
Descripción Envía uno o múltiples SMS’s a un número especificado.

2
Parámetro Obligatorio Default Notas

Acceso
Parámetros usuario X Usuario del cliente
de la API
password X Password del
cliente de la API
Servicio
provision X CMPSMS
operación X SubmitSMS
Parámetros
sourceAddress X Número Corto
Formato:
54 + 10 digitos.
destAddress X (Sin 9 y sin 15)
shortMessage X Mensaje
consultaEstado 0 0(Sin DLR)
3(Con DLR)
celco ar.personal
ar.movistar
ar.claro
ar.nextel
customerId str, int Permite marcar los
SMS con ID propio
extendedMess 0 Para enviar
age mensajes
concatenados
valor = 1
dataCoding 0 0 = GSM7
3 = Latin1
8 = UCS2

Detalle Response

Response
Parámetros Descripción
Resultado
Estado Numérico. 0 indica que la ejecución
del Web Service fue exitosa.
De otra manera, indica un codigo de
error.

3
mensaje String, indicando la palabra asociada
al campo “estado”.
Response
Codigo Numérico, indicando si la operación
fue o no exitosa.
descripción String. Mensaje asociado a“código”.
sourceAddress Numero de donde fue enviado, como
referencia.
destAddress Numero a donde fue enviado, como
referencia.
shortMessage Mismo mensaje que el enviado, como
referencia.
id_mensaje ID del proceso SMS, como referencia.

Ejemplo request
{
"auth" : {
"usuario" : ​"{usuario}"​,
"password" : ​"{password}"
},
"service" : {
"provision" : ​"CMPSMS"​,
"operacion" : ​"SubmitSMS"

4
},
"parameters" : [
{
"destAddress" : ​"541155153377"​,
"shortMessage" : ​"Mensaje de prueba 1"​,
"sourceAddress" : ​"1234"​,
"consultaEstado" : ​"0"
},
{
"destAddress" : ​"541155512299"​,
"shortMessage" : ​"Mensaje de prueba 2"​,
"sourceAddress" : ​"1234"​,
"consultaEstado" : ​"0"
}
]
}

Ejemplo response exitoso


{
"service" : {
"provision" : ​"CMPSMS"​,
"operacion" : ​"SubmitSMS"​,
"version" : ​"1_3_0_0"​,
"response_date" : ​"2017-05-04 09:54:54"​,
},
"result" : {
"estado" : ​"0"​,
"mensaje" : ​"La operacion se realizo correctamente"​,

5
},
"response" : {
"message" : [
{
"codigo" : ​"000"​,
"descripcion" : ​"SMS were successfully delivered."​,
"sourceAddress" : ​"541155153377"​,
"destAddress" : ​"1234"​,
"shortMessage" : ​"Mensaje de prueba 1"​,
"id_mensaje" : ​"590b249ee9fc0b6fbf06c137"
},
{
"codigo" : ​"000"​,
"descripcion" : ​"SMS were successfully delivered."​,
"sourceAddress" : ​"541155512299"​,
"destAddress" : ​"1234"​,
"shortMessage" : ​"Mensaje de prueba 2"​,
"id_mensaje" : ​"095c942ff9gh0b5fbf05c200"
}
]
}
}

Ejemplo response fallido


{
"service": {
"provision": ​"CMPSMS"​,
"operacion": ​"SubmitSMS"​,
"response_date": ​"2018-06-11 12:43:00"
},
"result": {
"estado": ​600​,
"mensaje": ​"El usuario 'NoIDuser' no existe"
},

6
"response": ​null
}

Códigos de Error
A continuación un detalle de los códigos de error.

Generico

0 Estado Exitoso. La ejecución del webservice no produjo ningún error.

1 Exception / Estado genérico de error. Ocurre en caso de que el excepción lanzada no


WebserviceRuntimeException especifique un estado o de que se trate de un error no manejable.

Request

500 InvalidRequestUriException La ruta especificada por la URI describe el nombre de la


provisión pero no de la operación.

501 InvalidJSONRequestException La request entrante no corresponde a un valor JSON válido.

502 MissingAuthenticationException La sección ‘auth’ de la request JSON entrante no viene definida.

503 InvalidAuthenticationException La sección ‘auth’ de la request JSON entrante no es un objeto.

504 MissingRequestUserException El usuario no viene definido en la request.

505 InvalidRequestUserException El usuario de la request no es un string válido.

506 MissingRequestPasswordException La password no viene definida en la request.

507 InvalidRequestPasswordException La password no es un string válido.

508 MissingServiceException La sección ‘service’ de la request no viene definida.

509 MissingRequestServiceException El nombre de la provisión no está definido.

510 InvalidRequestServiceException El nombre de la provisión no es un string válido.

511 MissingRequestOperationException El nombre de la operación no está definido.

7
512 InvalidRequestOperationException El nombre de la operación no es un string válido.

515 InvalidRequestContentException No pudo determinarse el tipo de contenido de la request.

516 InvalidRequestTypeException El contenido enviado no puede ser manejado por la provisión


invocada.

517 UndefinedRequestTypeException El tipo de contenido manejado por la operación no pudo ser


determinado ni desde la misma operación ni desde la clase
invocada.

518 ForbiddenAccessException La operación invocada no está disponible para acceso REST.

519 InvalidRESTRequestException La invocación REST realizada no contiene la cantidad de


parámetros definidos en la operación.

520 ForbiddenProtocolException El servicio no permite el acceso por HTTP no seguro a esta


operación (HTTPSecurity).

Authentication

600 MissingUserException El usuario especificado no se encuentra cargado en la base de


datos.

601 InvalidUserException El usuario está cargado pero se encuentra en estado inactivo.

602 UserAuthenticationException La password del usuario es incorrecta.

603 InvalidAddressException La operación invocada no permite el acceso a través de esta


dirección IP (IPSecurity).

604 MissingPermissionException El usuario no tiene permiso de ejecución para la operación


solicitada.

605 MissingSessionTokenException El token de autenticado REST no fue suministrado en la request


(RESTSecurity).

606 SessionTokenNotFoundException El token de autenticado REST es inválido (RESTSecurity).

607 InvalidSessionException El token de sesión corresponde a una sesión inactiva


(RESTSecurity).

608 SessionTimeoutException La sesión especificada ya está vencida.

609 ServiceAddressException El servicio invocado no puede ser invocado desde esta IP


(ServiceIPSecurity).

610 UserAddressException El usuario no tiene permitido el acceso a través de esta IP


(UserIPSecurity).

611 UserPrivilegesException El usuario debe ser de tipo administrador/root para ejecutar esta
operación (AdminSecurity, RootSecurity).

8
9

También podría gustarte