Se necesita un servicio de envío y tracking de notificaciones escalable, que permita leer notificaciones desde un único origen de datos, y luego enviarlas por diferentes canales en función de una configuración.
Las notificaciones contendrán datos respectivos a su origen, destino, metadatos y configuración para su envío. El formato estará basado en plantillas por canal, que podrán utilizar los datos y metadatos de las notificaciones para crear el resultado final a enviar.
El servicio debe ser capaz de procesar dos millones de notificaciones en un tiempo de hasta seis horas, y simultáneamente procesar y actualizar los datos correspondientes a los eventos de tracking de las mismas, que pudieran producirse según el canal.
El servicio debe ser construido en C# .Net con el .Net framework 4.5 o superior. El origen de los datos y destino de la traza es MongoDb 3.2 o superior. Los servicios de envíos deben correr como WebJob de Azure o bien como servicio de Azure Cloud, mientras que los de tracking pueden ser además WebApps.
Al ser un servicio escalable, el mismo debe ser capaz de sincronizar la lectura del origen de datos para evitar que una notificación se envíe más de una vez o quede sin enviar.
Cuando el canal sea e-mail, se requiere el uso de la plataforma SendGrid, su api y webhooks para la obtención de los datos de tracking de su estado en cada momento. Se podrá aceptar el uso de un servicio diferente, siempre que se equipare en costos con la plataforma SendGrid y ofrezca mínimamente la funcionalidad que ofrece la misma en términos de api y webhooks.
Para canales diferentes de e-mail, se requiere contemplar interfaces para el envío de SMS, Telegram y Facebook bot, sin la necesidad de implementarlas para esta primera etapa.
El envío de todas las notificaciones se debe realizar por canales de comunicación seguros y pertenecientes a la compañía contratante. El servicio deberá estar disponible a toda hora y permitir su trazabilidad y diagnóstico, para anticipar su escalamiento.
La forma de pago del desarrollo es contra entrega, no hay adelantos ni pago contra etapas. Ud entrega, yo
pago.El postulante debe acreditar experiencia en el rubro. Las ofertas se analizarán cualitativamente y por precio, siendo los dos items igualmente importantes.
La mejor oferta calidad / precio gana.
Delivery term: Not specified