Layer-api-template-service
Servicio encargado de administrar los templates usados por el servicio de mensajería. Permite consultar, editar, agregar y renderizar los temples con la información que se le envíe.
Sumario
Dependencias
Dependencias que necesita el servicio para poder funcionar de cuerdo a la validación de negocio que se necesite.
Máquina de estados
Bases de datos
El servicio cuenta con su propia base de datos para almacenarlos y posteriormente manipularlos.
Schema | Tablas |
serv_layer_api_template_service |
TABLE template (
id_template varchar(30), tipo_template varchar(30) NOT NULL,
template varchar(2000),
updated_at timestamp
NULL,
created_at timestamp
NULL, CONSTRAINT configuraciones_id_template_key UNIQUE (id_template) ); |
Endpoints
/edit
- /template/edit
Este endpoint de tipo post permite agrega o modifica un template, recibe un objeto con un campo id, una clasificación o tipo y el template en sí mismo. Los templates tienen la facilidad de llevar variables que se llenaran con información desde el servicio de Layer-api-message-rules-service, estas variables se especifican con un nombre entre corchetes [ ]. Se presentará un ejemplo de body.
{ "id_template": "template_1", "tipo_template": "template_sms", "template": "Hola [nombre], gusto en saludarte" }
Este body es usado tanto para agregar un nuevo template como para editar.
{ "id_template": "template_1", "tipo_template": "template_sms", "template": "Hola [nombre], que tengas un día lleno de [emocion]" }
Para ambos casos recibiremos un objeto con los mismos datos que especificamos.
200 OK Response body { "id_template": "template_1", "tipo_template": "template_sms", "template": "Hola [[${nombre}]], que tengas un día lleno de [[${emocion}]]", "created_at": 1659481158615, "updated_at": 1659481158615 }
Internamente el servicio cambia la notación de las variables para que sea mas amigable con nuestro sistema.
/delete
- /template/delete
Para eliminar un template solo es necesario enviarle un objeto con el identificador del template.
{ "id_template": "template_1" }
Este endpoint nos regresará un codigo de confirmación.
204 OK
/show
- /template/show
Este endpoint permite visualizar todos o un solo template en específico. Se presentará un ejemplo de body.
{ "id_template": "template_1" }
Este body es usado para mostrar solo el templete identificado como "template_1", recibiremos una lista con los datos que especificamos.
200 OK Response body [ { "id_template": "template_1", "tipo_template": "template_sms", "template": "Hola [[${nombre}]], que tengas un día lleno de [[${emocion}]]", "created_at": 1659481158615, "updated_at": 1659481158615 } ]
/render
- /template/render
Este endpoint puede recibir un json en forma de texto o el json con el identificador del template y la data que se usara para reemplazar en las variables del mismo de la siguiente manera:
{ "id_template": "template_1", "data":{ "nombre":"Paco", "emocion":"alegria" } }
Una vez el servicio renderiza el mensaje con las variables que le enviemos nos regresara el texto final.
200 OK Response body { "renderTemplate": "Hola Paco, que tengas un día lleno de alegria" }
Elementos que lo consumen
El servicio es consumido por:
Layer-api-message-rules-service
Swagger
link de swagger de calidad swagger