Envío de SMS con Confirmación de Entrega

Perspectiva general

La API de mensajería Atmosphere® facilita el envío y recepción de SMS a través de sus números de teléfono IntelePeer DID o Toll-Free. Los códigos cortos y los códigos alfanuméricos también están disponibles. Send-only para SMS a través de códigos alfanuméricos. En este documento encontrará instrucciones sobre la configuracion de sus números para enviar SMS con confirmación de entrega.


Envío de un SMS único

Puede enviar un SMS con una sola llamada a la API de mensajería Atmosphere®. Asegúrese de seguir los convenciones API de IntelePeer.

 

URI

Enviar un POST a https://api.intelepeer.com/_rest/v4/app/sms/send

 

Parameters

Este método API requiere un token de autorización. Conozca más sobre el token de autorización en Atmosphere® API Authentication.

 

ParameterData TypeRequiredContent

from

 

 

 

 

 

 

 

 

stringrequired

Código de inventario del cliente con el formato correcto (código largo, código corto, identificación alfanumérica del remitente)  (e.g., 1-12345, 57-Hello8, +13031112222) see: Code Formatting

 

to

 

 

 

 

stringrequired

Número con formato E.164 al que se envía el mensaje (e.g., +13038675309)

 

text

 

stringrequired

El mensaje a enviar

 

dlr

 

 

 

booleanoptional

True para habilitar el recibo de entrega de la solicitud, (default=false)

 

guidstringoptional

Un identificador que se agregara al mensaje en el Message Detail Record para su correlacion con otros sistemas.

 

 

Ejemplo de solicitud para códigos largos

El parámetro «to» para enviar desde códigos largos debe estar en formato E.164.

 

{

"from": "+12191112222",

"to": "+13038675309",

"text": "Hello World!",

"dlr": true,

"guid": "1123123123123123"

}

Envío de SMS con Confirmación de Entrega 

Una confirmación de entrega (DLR) le da detalles sobre el envio o no de sus SMS salientes. Hay tres fases en las que se puede confirmar el progreso:

 

  • Reconocimiento de la API – IntelePeer enviará un reconocimento a la llamada API a nuestros sistemas. Un mensaje 202 significa que el mensaje está progresando. Puede encontrar más detalles sobre los códigos de respuesta en: https://www.intelepeer.com/products/documentation/sms/api/send-sms-messages/
  • Comprobación del status del mensaje – Una vez que los servidores IntelePeer han enviado un mensaje, los registros detallados de mensajes [MDR] se actualizan con un estado adicional que se puede encontrar en https://www.intelepeer.com/products/documentation/sms/api/check-message-status/
  • Reconocimiento de operador optional/confirmacion – IntelePeer ofrece un parámetro opcional en un mensaje saliente para recibir un Recibo de Entrega [DLR] del proveedor mobil al que se envía el mensaje. Se pueden encontrar más detalles en esta página.

 

Tipos de recibo de entrega

 

  • Reconocimiento de operador: El mensaje saliente ha llegado al operador SMSC con éxito y se está procesando para enviarlo al usuario final para A2P. Para los operadores de telefonía celular en muchos países, la confirmación de que el mensaje ha llegado al SMSC es lo único disponible.
  • Confirmación del operador – El operador ha enviado el mensaje saliente al dispositivo móvil del usuario final.

 

El estado del mensaje enviado para reconocimiento de operador y confirmacion del operador son los mismos. Su ingeniero de soluciones IntelePeer podrá contarle qué está disponible para proveedores específicos en un país.

 

Estados de mensaje de recibo de entrega

 

Estado del mensajeStatusDescripción

DELIVERED

 

 

DELIVRDEl mensaje ha sido enviado
al destinatario

EXPIRED

 

 

EXPIREDEl período de validez del mensaje expiró

DELETED

 

DELETEDEl mensaje se ha borrado

UNDELIVERABLE

 

UNDELIVEl mensaje no se puede enviar

ACCPTED

 

 

 

 

 

ACCEPTD

El mensaje está en estado aceptado (es decir, el servicio al cliente lo ha leído manualmente en nombre del suscriptor)

 

UNKNOWN

 

UNKNOWN

El mensaje está en estado inválido

 

REJECTEDREJECTDEl mensaje está en estado rechazado

 

Los operadores de telefonía móvil proporcionan los estados de mensaje de recibo de entrega a IntelePeer y nosotros los transferimos a nuestros clientes sin modificaciones. Hay algunos elementos a tener en cuenta al considerar un DLR:

 

  • No todos los operadores retornan DLR
  • Algunos operadores que retornan DLR quizá no siempre lo hagan de manera confiable. Se sabe que los operadores de todo el mundo cambian esta oferta sin previo aviso; por lo tanto, la falta de un DLR puede no indicar un problema con el sistema.
  • Como se menciona anteriormente, en algunos casos, un DLR representa la entrega de un mensaje al SMSC [reconocimiento del operador] y en otros la entrega de un mensaje al teléfono [confirmación del operador].
  • Los operadores enviarán el DLR antes de aplicar los filtros de SPAM. Esto se hace para evitar que los spammers traten de eludir los algoritmos del filtro SPAM de operadores.
  • El status de mensaje intermedio no está disponible actualmente.

 

Configuración de su sistema para recibir DLR

Los DLR de SMS se entregan de la misma manera que se entrega un mensaje entrante: a un webhook dedicado al cliente

 

Hay tres pasos para configurar y testear los recibos de entrega, después de que se haya configurado el SMS en una cuenta y (al menos) se haya proporcionado un número.

 

El formato para los DLR es application/json y se envían a su webhook DLR en el siguiente formato:

 

Al enviar un SMS, el mensaje puede dividirse en múltiples segmentos en tránsito. Si el operador final admite DLR, usted deberá recibir un POST de webhook DLR para cada segmento. El número de segmentos en los que se divide su mensaje se devuelve en la solicitud de envío original.

 

Tarea 1: Configure su servidor web para recibir webhooks DLR

Al igual que su servidor web de SMS entrantes, debería admitir la recepción de mensajes HTTP POST en un extremo con un tipo de contenido esperado de application/json.

 

Tarea 2: Configure el webhook DLR de su cuenta

A diferencia de los mensajes SMS entrantes, donde cada código puede tener un webhook único para la entrega, todos los DLR se entregan al mismo webhook. Para configurar este webhook, proporcione la URL a través del extremo «configuración de cuenta» existente, pero proporcione un parámetro «dlrwebhook» a su solicitud JSON.

 

Ejemplo de DLR

{

"content": "DLR",

"from": "+18001112222",

"to": "+12223334444",

"refid": "SM5C59B99900012345671000F9170FDB",

"status": "DELIVRD",

"message_state": "DELIVERED"

}

Nombre del campoDescripción

content

 

“Always DLR”

from

 

El código de envío

to

 

El terminal telefónico receptor con SMS habilitado

 

refid

 

 

El identificador de referencia para el mensaje, que se devolvió en la solicitud de envío original

 

status

 

 

El status final del mensaje. Valores según la especificación de protocolo SMPP v3.4, tabla B-2

 

message_state

Debe estar presente para recibos de entrega de SMSC y notificaciones intermedias. Se establecerá en null cuando no esté disponible.


Valores según la especificación de protocolo SMPP v3.4, 5.2.28

 

Código de muestra (Python 2.7+):



import requests



url = "https://api.intelepeer.com/sms/v4/accountcfg/"



payload = {

"dlrwebhook": "https://www.mycompany.com/sms/dlr"

}

headers = {

"Authorization": "Bearer INSERT_API_TOKEN_HERE",

"Content-Type": "application/json",

"cache-control": "no-cache"

}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

 

Este mismo extremo también se utiliza para configurar su cuenta secreta la cual se puede proporcionar en la misma solicitud bajo el parámetro «secret».

 

Tarea 3: Envíe un mensaje SMS utilizando la API (con DLR habilitado en la solicitud).

 

Tarea 4: Valide que los recibos de entrega se estén entregando a su webhook.

Al enviar un SMS y recibirlo en un teléfono celular, cabe esperar que su webhook reciba una solicitud por segmento en la que se dividió ese SMS.