Enviar Notificación

Notification.SendOperation

Descripción

Envía una notificación a través de uno o más canales (Email, SMS, WhatsApp) usando una plantilla configurada para el tenant.

Propiedad Valor
Operation Name
Notification.SendOperation
Método HTTP
POST
Content-Type
application/json

Request — NotificationRequestDTO

Parámetros del cuerpo de la solicitud:

Campo Tipo Requerido Descripción
Title
string No
Título de la notificación
PhoneNumber
string Condicional
Número de teléfono destino. Requerido para canal SMS o WhatsApp
Email
string Condicional
Correo electrónico destino. Requerido para canal Email
TemplateCode
string No
Código de la plantilla a utilizar. Default: "Default"
Parameters
string[] No
Parámetros dinámicos para la plantilla. Default: []
SystemType
SystemDefType No
Tipo de sistema del dispositivo (Android, iOS, Default)
TokenDeviceForAndroid
string No
Token FCM del dispositivo Android (para notificaciones push)
Channel
NotificationChannel
Canal(es) de envío: Email, SMS, WhatsApp, All. Soporta flags
Type
OTPType No
Tipo OTP asociado al mensaje. Default: "Authentication"
FireAndForget
bool No
Si es true, no espera respuesta del proveedor. Default: true

Ejemplo de Request

Payload (solo para propósitos de serialización)
Payload JSON
{
    "Title": "Código de verificación",
    "PhoneNumber": "573001234567",
    "Email": "usuario@ejemplo.com",
    "TemplateCode": "Default",
    "Parameters": ["123456", "5"],
    "Channel": "SMS",
    "Type": "Authentication",
    "FireAndForget": true
}
Request completo
Request JSON
{
    "Data": {
        "Token": {
            "Id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
        },
        "Operation": {
            "Version": "1.0",
            "Name": "Notification.SendOperation",
            "Payload": "{\"Title\":\"Código de verificación\",\"PhoneNumber\":\"573001234567\",\"Email\":\"usuario@ejemplo.com\",\"TemplateCode\":\"Default\",\"Parameters\":[\"123456\",\"5\"],\"Channel\":\"SMS\",\"Type\":\"Authentication\",\"FireAndForget\":true}"
        }
    }
}

Response — NotificationResponseDTO

Estructura de respuesta de la operación:

Campo Tipo Descripción
Successful
bool
true si al menos un canal fue procesado
Identifier
string
Identificador cifrado del registro en tabla SentCode
Status
string
Estado del envío
Collection
NotificationResponseDTO[]
Detalle del resultado por cada canal enviado
Message
string
Mensaje de error o informativo

Ejemplos de Response

Response exitoso
Response — Éxito
{
    "Successful": true,
    "Identifier": "a1b2c3d4-encrypted-identifier",
    "Status": "Sent",
    "Collection": [
        {
            "Successful": true,
            "Status": "Sent",
            "Identifier": "a1b2c3d4-encrypted-identifier",
            "Collection": []
        }
    ],
    "Message": null,
    "ErrorCode": null,
    "ExceptionMessage": null,
    "UserMessage": null
}
Response con error
Response — Error (tenant no configurado)
{
    "Successful": false,
    "Identifier": null,
    "Status": null,
    "Collection": [],
    "Message": "El cliente no existe o no está configurado.",
    "ErrorCode": null,
    "ExceptionMessage": null,
    "UserMessage": null
}