Layer-api-message-rules-service
Servicio encargado de recibir la petición para usar la plataforma de mensajería, validar si la aplicación que hace la petición, puede enviar mensajes, evaluar las reglas para determinar qué tipo de mensaje se enviará y por cuál proveedor saldrá el mensaje. Envía un callback son la información de los mensajes enviados o en caso de algún problema con el envío del mensaje, también muestra el detalle.
Sumario
Dependencias
Dependencias que necesita el servicio para poder funcionar de cuerdo a la validación de negocio que se necesite.
layer-api-rate-consumer-service
Máquina de estados
Bases de datos
El servicio cuenta con su propia base de datos interna, la cual tiene dos tablas, la de proveedores en la cual se dan de alta los diferentes tipos de proveedores que pueden enviar algún tipo de mensaje, y la tabla de configuraciones, en la cual permanecen las reglas de jmespath que serán evaluadas.
Schema | Tablas |
serv_layer_api_message_rules_service |
TABLE proveedores ( TABLE configuraciones ( |
Endpoints
/messenger/send/message [POST]
Este endpoint es la entrada a la plataforma, se encarga de validar, evaluar reglas, enviar mensajes y llamar a un callback indicando el resultado del envío.
request
{ "idMensaje": "ed08dafd-fd39-4520-b3ae-b3fc7e5a5ac2", "appName": "cobranza-fisa", "reglas": { "template": "contacto-cliente-1" }, "callback": "https://algun-servicio/path/callback", "data": { "celular": "4961170373", "nombre": "Chava", "email": "sbuendia@independencia.com.mx" } } |
response [OK 200]
{"mensajesEnviados": [ { "result": { "code": 200, "resolve": true, "response": { "traceId": null, "payload": "74183bd1-0dcf-11ed-9689-0050569e7799", "technicalMessage": "SMS enviado al número 4961170373", "functionalMessage": "Servicio invocado correctamente", "successful": true } }, "tipoMensaje": "sms", "proveedor": "COA" }, { "result": { "code": 200, "resolve": true, "response": { "enviados": [ { "proveedor": "cuenta-prueba", "id_destinatario": "[\"sbuendia@independencia.com.mx\"]", "uuid": "f62b47f0-aaad-4194-be2f-d0cf79e820e2" }], "encolados": [], "errores": [] } }, "tipoMensaje": "correo", "proveedor": "COA" } ]} |
Elementos que lo consumen
ejemplo* - DAG: task-publisher - Interprete web: podlet-web-captura
Swagger
link de swagger de calidad swagger