# Sms
# Conceptos
# GSM7
GSM-7 es el alfabeto estándar utilizado para los mensajes SMS. En caso de envíar caracteres fuera del alcance de GSM-7, serán reemplazados por su parecido más próximo. Ej.: Una 'í' será reemplazado por una 'i' sin tílde.
Los caracteres admitidos por la codificación GSM7 son:

# Contabilización de mensajes
Los mensajes SMS permiten envíar hasta 160 caracteres para ser considerados como 1 mensaje, en caso se envíen más caracteres se contabilizará como lo indica la siguiente tabla:
| Cant. Caracteres | Costo |
|---|---|
| hasta 160 | 1 mensaje |
| hasta 305 | 2 mensajes |
| hasta 450 | 3 mensajes |
# POST Mensajes
Requisitos:
Contar con token de sesión obtenido del servicio Autenticación -> Generar token de sesión.
Este servicio API permite enviar un SMS a una lista de números telefónicos. Debe considerar el contenido del mensaje en formato GSM-7. Para tener en cuenta los caracteres admitidos, ver Codificación GSM7
# Endpoint
https://api.enviamas.pe/api/sms/create_campaign
# Headers
| Tables | Are |
|---|---|
| Type | POST |
| Content-Type | application/json |
| Authorization | token de sesión |
# Payload
{
"campaign_name": "Nombre de la campaña",
"messages": [
{
"phone": 9573144449,
"text": "Mensaje 1",
"message_id": "id-123"
},
{
"phone": 966278731,
"text": "Mensaje 2",
"message_id": "id-4321"
}
],
"options": {
"push": true,
"is_bidireccional": false
}
}
# Response
{
"succcess": true,
"message": "Campaña creada exitosamente",
"data": {
"campaign_id": "MjAyNzY3"
}
}
# POST Mensajes prioritarios
Restricción:
Este servicio API no está diseñado para campañas de marketing. Recomendamos utilizar nuestro servicio API SMS (opens new window) específico para ese propósito. El servicio de Mensajes prioritarios debe reservarse exclusivamente para el envío de mensajes que requieren atención inmediata, como notificaciones críticas, claves de seguridad, tokens y autenticación de dos factores (2FA).
Requisitos:
Contar con token de sesión obtenido del servicio Generar token de sesión.
Este servicio API permite enviar un SMS prioritario o SMS OTP (One Time Password), este tipo de mensajes utilizan una ruta de entrega inmediada. Para tener en cuenta los caracteres admitidos, ver Codificación GSM7
# Endpoint
https://api.enviamas.pe/api/sms/create_campaign_otp
# Headers
| Tables | Are |
|---|---|
| Type | POST |
| Content-Type | application/json |
| Authorization | token de sesión |
# Payload
{
"message_otp": {
"phone": 957314449, //no considerar código de país
"text": "Contenido del mensajes",
"message_id": "id-1234" //identificador opcional
},
"options": {
"push": true, //mensaje sms clase 0
"is_bidireccional": false //permise recibir mensajes
}
}
# Response
{
"succcess": true,
"message": "Mensaje enviado exitosamente",
"data": {
"campaign_id": "Mj...zY2"
}
}
# GET Reportes
Requisitos:
Contar con token de sesión obtenido del servicio Generar token de sesión.
Requiere el campaign_id obtenido de los Mensajes y Mensajes prioritarios.
Este servicio API permite obtener un reporte detallado de los mensajes enviados en los servicios Mensajes y Mensajes prioritarios.
# Endpoint
https://api.enviamas.pe/api/sms/report_campaign/{campaign_id}
# Headers
| Tables | Are |
|---|---|
| Type | POST |
| Content-Type | application/json |
| Authorization | token de sesión |
# Response
{
"success": true,
"message": "Reporte de mensajes por campaña",
"data": [
{
"message_id": "id-1234",
"phone": "9573144449",
"text": "Contenido del mensajes",
"send_at": "2023-09-15 13:34:03",
"status": "REJECTED",
"carrier": "ENTEL PERÚ"
}
]
}
# WEBHOOK Reportes
Este servicio permite a EnviaMas entregar a nuestros clientes el status de los mensajes SMS. Esto se realiza mediante una ejecución POST a un EndPoint que el cliente deberá habilitar para recibir estas notificaciones. La entrega de los status se dará en los próximos segundos de enviado el mensaje, y dependerá del operador telefónico que corresponda que el status sea entregado en tiempo y forma.
El servicio web a desarrollar debe atender a una solicitud POST del protocolo HTTP, el cuál recibe cadenas JSON y devuelve un resultado en texto plano. A continuación, se muestra la información necesaria para realizar la conexión del servicio:
# payload
{
"phone": "957314449",
"message_id": 12345678, //Tu message_id enviado en el api
"statusDelivery": "DELIVERED",
"sendDate": 1699996153513,
"carrier": "CLARO_PE"
}
Para configurar la URL del endpoint, debe hacerlo desde la plataforma APP EnviaMas, deberá irse a la sección Mi Cuenta, ubicado en la parte superior derecha, en ella se debe activar la opción DLR SMS, ingresar la URL, y si corresponde el usuario y contraseña para la autenticación Basic Auth que será enviado en la solicitud enviada por el servicio.