3.3. MT: Web Service tipo SOAP
Este API está basado en la comunicación de servicios web a través de SOAP, permite además realizar envío de peticiones con las siguientes funcionalidades:
Envíos por lotes de mensajes: Posibilidad de enviar el mismo mensaje a una lista de destinatarios en una misma petición, la respuesta de la petición retorna la información de cada mensaje por lo que se recomiendan lotes de hasta 50 SMS. Permite también el envío de mensajes personalizados por cada destinatario de la petición.
Envíos Tipo Flash: Previa configuración y de acuerdo a la disponibilidad de la tecnología por operador/país, podrá realizar envío de peticiones tipo Flash.
Programación de envíos: Podrá realizar peticiones con un parámetro de fecha/hora en
la que realizarán el envío.
URLs Cortas: este servicio permite el envío de URL corta, al usarse en batches podrá enviar el mismo vínculo a todos los destinatarios o una diferente a cada contacto.
CorrelationLabel: Permite añadir un identificador de mensajes que podrá consultar en reportes para agrupar peticiones.
WSDL del servicio expuesto:
https://apitellit.aldeamo.com/sms/SmsSendSoap.wsdl
Autenticación
La autenticación en este servicio se realiza por medio de Basic Authentication, en el que se deberá enviar el usuario y la contraseña asignada.
Método Remoto
Para el envío de mensajes se debe implementar el método getSmsSoapRequest con los siguientes parámetros:
Parámetros:
Tabla 5 Parámetros Petición SOAP
Parámetro | Descripción | Obligatoriedad |
---|---|---|
Usuario | Usuario de las credenciales creadas para el cliente. | Obligatorio |
Contraseña | Contraseña asignada para el cliente. | Obligatorio |
Código País | Código Internacional asignado para el país. | Obligatorio |
Mensaje | Texto del mensaje; no debe tener caracteres que afecten la URL de la petición.
Nota: para incluir Saltos de Línea* en los mensajes, use la etiqueta . *Esta funcionalidad no está disponible en todos los operadores/países, por favor valide con su asesor comercial la disponibilidad de la llegada del salto de línea en su destino de SMS. |
Obligatorio |
Formato | Tipo de mensaje a enviar, puede ser: SMS normal (1) SMS Flash (2) – Requiere configuración previa. |
Opcional |
AdresseeList | Lista de destinatarios del mensaje: Encoding: Tipo de codificación en la que se recibe el texto del mensaje (ej: GSM7) |
Opcional |
Mobile: Destinatario del mensaje (número celular o GSM) | Obligatorio | |
URL: Dirección que se desea mandar al servicio para que sea acortada y agregada en el mensaje. | Opcional | CorrelationLabel: Identificador de correlación de cada mensaje en la petición, úselo para poder agrupar y asociar transacciones en reportes. | Opcional |
dateToSend | Fecha y hora en la que se desea enviar el mensaje; el formato de la fecha DEBE ser "yyyy-MM-dd HH:mm:ss". La zona horaria asignada a la fecha es la del país de destino; si no o se envía, se asume que es un mensaje inmediato. | Opcional |
XML petición:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:hab="http://habitatclient.service.soapws.core.axesnet.com/">
<soapenv:Header/>
<soapenv:Body>
<hab:getSmsSoapRequest>
<hab:country>57</hab:country>
<hab:message>Hola esto es una prueba</hab:message>
<hab:encoding></hab:encoding>
<hab:messageFormat></hab:messageFormat>
<hab:dateToSend></hab:dateToSend>
<!--1 o más peticiones para envíos por batch:-->
<hab:addresseeList>
<hab:mobile>3229462890</hab:mobile>
<hab:url></hab:url>
<hab:transactionId></hab:transactionId>
<hab:correlationLabel></hab:correlationLabel>
<hab:message>Hola test 1</hab:message>
</hab:addresseeList>
<hab:addresseeList>
<hab:mobile>3229462890</hab:mobile>
<hab:url></hab:url>
<hab:transactionId></hab:transactionId>
<hab:correlationLabel></hab:correlationLabel>
<hab:message>Hola test 2</hab:message>
</hab:addresseeList>
</hab:getSmsSoapRequest>
</soapenv:Body>
</soapenv:Envelope>
XML respuesta envío exitoso (petición batch 2 mensajes):
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:getSmsSoapResponse xmlns:ns2="http://habitatclient.service.soapws.core.axesnet.com/">
<ns2:status>1</ns2:status>
<ns2:result>
<ns2:failedRequests/>
<ns2:receivedRequests>
<ns2:mobile>3229462890</ns2:mobile>
<ns2:reason>Request Received</ns2:reason>
<ns2:status>1</ns2:status>
<ns2:transactionId>soapT3169L57G3229462890R1cte2Psmsi</ns2:transactionId>
</ns2:receivedRequests>
<ns2:receivedRequests>
<ns2:mobile>3229462890</ns2:mobile>
<ns2:reason>Request Received</ns2:reason>
<ns2:status>1</ns2:status>
<ns2:transactionId>soapT3169L57G3229462890Rn3eiuPsmsi</ns2:transactionId>
</ns2:receivedRequests>
<ns2:totalFailed>0</ns2:totalFailed>
<ns2:totalRequest>2</ns2:totalRequest>
</ns2:result>
<ns2:reason>Request Received</ns2:reason>
</ns2:getSmsSoapResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Descripción de la respuesta:
• status: Código del resultado de la solicitud (número)
• reason: Resultado de la solicitud (texto)
• result: Detalle del resultado de la solicitud
– totalRequest: Total de destinatarios recibidos en la solicitud
– totalFailed: Total de destinatarios recibidos que NO se enviarán
– ReceivedRequests: Lista detallada de destinatarios a los que se les enviará el mensaje
▪ mobile: Número celular (GSM)
▪ transactionId: Código de transacción del mensaje
▪ status: Código de la razón de la falla
▪ reason: Estado de la transacción/Razón de la falla
– failedRequests: Lista de detalles de los destinatarios que NO se enviarán
▪ mobile: Número celular (GSM)
▪ transactionId: Código de transacción del mensaje único por mensaje.
Ej. getT02917L57G3118644939RdrvaxPsmsi
▪ status: Código de la razón de la falla
▪ reason: Estado de la transacción/Razón de la falla
– dateToSend: Fecha y hora a la que saldrá el envío
– timeZone: Zona horaria de la fecha a la que saldrá el envío
Código de Respuesta – Status:
Tabla 6 Parámetros Respuesta SOAP
Código | Descripción | Nivel |
---|---|---|
1 | Petición recibida con éxito | General/Detallado |
-1 | Error de autenticación | General |
-2 | Ruta no configurada | Detallado |
-3 | Número celular inválido | Detallado |
-4 | Crédito insuficiente | General |
-5 | Error interno de la transacción | General/Detallado |
-6 | URL a acortar inválida | Detallado |
-7 | Fecha de envío inválida | General |
-8 | Petición con formato inválido | General |
-9 | Usuario bloqueado por intentos fallidos | General |
-10 | Código de país inválido | General |
-11 | Mensaje del cuerpo inválido | General |
-12 | ID de transacción Inválida | Detallado |