Saltearse al contenido

Enviando notificaciones activas

Este servicio ejecuta plantillas de notificación y las envía a los usuarios a través de WhatsApp.

Propiedades JSON

  • hash: Hash de la empresa donde el template está registrado.
  • ANNAEXEC: El IV que se generó, debe utilizarse para encriptar los valores de otras variables.
  • templateName: Nombre de la plantilla que se enviará.
  • templateNamespace: Espacio de nombres de la plantilla que se enviará.
  • templateData: Contiene la lista de números de teléfono y macros/variables para la plantilla que se enviará.
    • DeliveryDate: (Opcional) Use esta propiedad para programar el envío. El formato debe ser completado como YYYYMMDDHHMMSS
    • Reference: (Opcional) Utiliza este campo para tomar notas sobre el envío.
    • PhoneList: Lista de teléfonos separados por punto y coma, por ejemplo, “551199999999;551388888888”
    • Prop_Keys: Contiene la lista de macros que serán reemplazadas y sus valores.
      • PropName: ID de la macro. Puede ser usada como {{0}}, {{1}}, {{2}},…
        NOTA: El espacio {{0}} está reservado para archivos de medios y el valor debe ser una URL
      • PropValue: Valor que reemplazará a macro.
    • Prop_Parms: Contiene la lista de parámetros que se agregarán a la ejecución.
      • PropName: Nombre del parámetro
      • PropValue: Valor del parámetro
  • ReturnMode: (Opcional) Define el tipo de retorno. Si no se proporciona, se considerará el valor por defecto.
    • DEFAULT: Retorna una lista de teléfonos con sus respectivos estados de envío.
    • RESUME: Devuelve un JSON con datos del envío.
      • RequestStatus: Estado del envío
        • CANCELED: Todas las notificaciones han sido canceladas.
        • QUEUED: En cola para enviar
        • PROCESSED: Todas las notificaciones han sido enviadas.
        • PROCESSING: El sistema está enviando las notificaciones.

Ejemplos

Algunos ejemplos de cómo implementar el envío de notificaciones de AnnA:

var httpClient = new HttpClient
{
BaseAddress = new Uri("YOUR_ANNA_URL")
};
var result = await httpClient.PostAsJsonAsync("REST/Credentials/GetToken", new
{
hash = "COMPANY_HASH",
user = "USER",
pass = "PASSWORD"
});
var tokenResponse = await result.Content.ReadFromJsonAsync<GetTokenResponse>();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenResponse?.Data.Token);
var notificationsResponse = await httpClient.PostAsJsonAsync("REST/Notifications/Send", new
{
hash = "COMPANY_HASH",
templateName = "TEMPLATE_NAME",
templateNamespace = "TEMPLATE_NAMESPACE",
templateData = new List<object>
{
new
{
PhoneList = "5511111111111;5522222222222",
Prop_Keys = new List<object>
{
new
{
PropName = "{{1}}",
PropValue = "Value 1"
}
},
Reference = "Test"
}
}
});
Console.WriteLine(await notificationsResponse.Content.ReadAsStringAsync());