Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:integrations:msadaemailservice

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:integrations:msadaemailservice [2023/06/02 20:10]
192.168.175.173
ada:howto:sicoferp:factory:integrations:msadaemailservice [2023/06/05 15:10] (actual)
192.168.175.173 [Consideraciones]
Línea 7: Línea 7:
  
 //*Requiere generación de clave de aplicaciones//​ //*Requiere generación de clave de aplicaciones//​
 +
 +===== Nueva Implementación =====
 +Se adiciona soporte API MailerSend para envios masivos por medio de tokens de autorización. Favor ver [[#​Liberación Versión 2.0.0 Correos Masivos|Versión 2.0.0]] para más información. A partir de la fecha 05/06/2023 la versión 1.0.0 queda obsoleta y no debe ser utilizada para procesos de producción((Se prevee eliminar el soporte de esa versión en liberaciones posteriores)).
  
 ===== Descripción del Servicio ===== ===== Descripción del Servicio =====
  
 ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^ ^Nombre^Descripción^Tipo Servicio^Tecnología^Lenguaje^Tipo Desarrollo^Versión Desarrollo^Archivo de Configuración^
-|AdaEmailServie|Permite el envío de correos electrónicos.|Rest|SpringBoot 2.6.4|Java 11.0.315|Nuevo|11.6.0.1|application.properties|+|AdaEmailServie|Permite el envío de correos electrónicos.|Rest|SpringBoot 2.7.6|Java 11.0.315|Nuevo|11.6.0.1|application.properties|
 ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^ ^Tipo Empaquetado^Gestor de Dependencias^Servidor de Despliegue^IDE Proyecto^Tipo Repositorio^Url Desarrollo^Url Calidad^Url Producción^
-|war|Maven 3.8.1|WildFly 20|SpringTools 4.6|Subversión|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​branches/​development/​core/​Microservicios/​AdaEmailService+|war|Maven 3.8.1|WildFly 20|SpringTools 4.16.1|Subversión|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​branches/​development/​core/​Microservicios/​AdaEmailService
 |SVN branches]]|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​trunk/​development/​core/​Microservicios/​AdaEmailService |SVN branches]]|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​trunk/​development/​core/​Microservicios/​AdaEmailService
 |SVN trunk]]|[[|SVN tags]]| |SVN trunk]]|[[|SVN tags]]|
Línea 22: Línea 25:
 |org.springframework.boot|spring-boot-devtools||N/​A|runtime|true|Recarga de aplicaciones|| |org.springframework.boot|spring-boot-devtools||N/​A|runtime|true|Recarga de aplicaciones||
 |org.projectlombok|lombok||N/​A|N/​A|true|API de anotaciones para reducción de código|| |org.projectlombok|lombok||N/​A|N/​A|true|API de anotaciones para reducción de código||
-|org.springframework.cloud|spring-cloud-sleuth-zipkin||N/​A|N/​A|true|API de gestión de logs centralizados|| 
 |org.springframework.boot|spring-boot-starter-test||N/​A|test|N/​A|Core Springboot|| |org.springframework.boot|spring-boot-starter-test||N/​A|test|N/​A|Core Springboot||
 |org.postgresql|webjars-locator-jboss-vfs||0.1.0|N/​A|N/​A|Plugins para  despliegue en Wildfly|| |org.postgresql|webjars-locator-jboss-vfs||0.1.0|N/​A|N/​A|Plugins para  despliegue en Wildfly||
Línea 30: Línea 32:
 |org.springframework.boot|spring-boot-starter||N/​A|N/​A|N/​A|Core Springboot|| |org.springframework.boot|spring-boot-starter||N/​A|N/​A|N/​A|Core Springboot||
 |com.sun.mail|javax.mail||1.6.2|N/​A|N/​A|Envío de correos|| |com.sun.mail|javax.mail||1.6.2|N/​A|N/​A|Envío de correos||
 +|org.freemarker|freemarker||N/​A|N/​A|N/​A|Plantillas de Texto||
 +|com.mailersend|java-sdk||1.0.0|N/​A|N/​A|Envío de correos por medio del API MailerSend||
 ^Documentación Operaciones^^^^^^^^ ^Documentación Operaciones^^^^^^^^
 ^Tipo^Documentación^^^^^^Visor^ ^Tipo^Documentación^^^^^^Visor^
-|Swagger|[[http://srv-appeon-000-w23.adacsc.co/​AdaEmailService/​api-docs|Ver Documento Json]]||||||https://​editor.swagger.io/​|+|Swagger|[[https://factory-ws-utilities17.adacsc.co/​AdaEmailService/v3/​api-docs|Ver Documento Json]]||||||https://​editor.swagger.io/​|
 |Javadoc|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​branches/​development/​core/​Microservicios/​AdaEmailService/​doc|Directorio Javadoc]]||||||Navegador Web| |Javadoc|[[http://​adacsc.co:​1443/​svn/​repository/​ADA/​SICOFERP/​fuentes/​branches/​development/​core/​Microservicios/​AdaEmailService/​doc|Directorio Javadoc]]||||||Navegador Web|
 ^Ambientes de Despliegue^^^^^^^^ ^Ambientes de Despliegue^^^^^^^^
Línea 38: Línea 42:
 |Desarrollo:​|http://​localhost:​8080||Ambiente de desarrollo||||| |Desarrollo:​|http://​localhost:​8080||Ambiente de desarrollo|||||
 |Calidad:​|http://​srv-appeon-000-w23.adacsc.co/​AdaEmailService||Ambiente de validación||||| |Calidad:​|http://​srv-appeon-000-w23.adacsc.co/​AdaEmailService||Ambiente de validación|||||
-|Producción:​| ||Ambiente de producción|||||+|Producción:​|https://​factory-ws-utilities17.adacsc.co/​AdaEmailService||Ambiente de producción|||||
  
  
Línea 57: Línea 61:
 === Notas === === Notas ===
  
-  * Debe contar con VPN +  * URL Base Local - Index: http://​localhost:​8088 
-  * Ejemplo de Consumo ​QA - Index: http://​srv-appeon-000-w23.adacsc.co/​AdaEmailService +  * URL Base QA - Index: http://​srv-appeon-000-w23.adacsc.co/​AdaEmailService 
-  * Ejemplo de consumo QA Doc Swaggerhttp://srv-appeon-000-w23.adacsc.co/​AdaEmailService/api-docs+  * URL Base Producción ​Indexhttps://factory-ws-utilities17.adacsc.co/​AdaEmailService
  
 ===== Ejemplos de envio de correos ===== ===== Ejemplos de envio de correos =====
  
 ==== Envio servidor Ionos ==== ==== Envio servidor Ionos ====
 +Esta versión esta Obsoleta. Por favor utilice la [[#​Liberación Versión 2.0.0 Correos Masivos|Versión 2.0.0]]
 +
 <code yaml> <code yaml>
 +//URL: email/​v1/​send
 +
 { {
   "​smtpHost":​ "​smtp.ionos.com",​   "​smtpHost":​ "​smtp.ionos.com",​
Línea 98: Línea 106:
  
 ==== Envio servidor Outlook ==== ==== Envio servidor Outlook ====
 +Esta versión esta Obsoleta. Por favor utilice la [[#​Liberación Versión 2.0.0 Correos Masivos|Versión 2.0.0]]
  
 <code yaml> <code yaml>
 +//URL: email/​v1/​send
 { {
   "​smtpHost":​ "​smtp.outlook.com",​   "​smtpHost":​ "​smtp.outlook.com",​
Línea 133: Línea 143:
  
 ==== Envio servidor Gmail ==== ==== Envio servidor Gmail ====
 +Esta versión esta Obsoleta. Por favor utilice la [[#​Liberación Versión 2.0.0 Correos Masivos|Versión 2.0.0]]
  
-<​code ​Yaml>+<​code ​yaml> 
 +//URL: email/​v1/​send
 { {
   "​smtpHost":​ "​smtp.gmail.com",​   "​smtpHost":​ "​smtp.gmail.com",​
Línea 168: Línea 180:
  
 ===== Liberación Versión 2.0.0 Correos Masivos ===== ===== Liberación Versión 2.0.0 Correos Masivos =====
-Se libera versión con soporte de envios masivos sin necesidad de servidor SMTP.+Se libera versión con soporte de envios masivos sin necesidad de servidor SMTP utilizando el API de envios masivos [[https://​app.mailersend.com/​|MailerSend]].
  
 ==== Documentación Técnica Javadoc ==== ==== Documentación Técnica Javadoc ====
Línea 177: Línea 189:
  
 ==== Documentación Técnica OpenAPI ==== ==== Documentación Técnica OpenAPI ====
-Se libera documentación OpenAPI V3 la cual se comparte a continuación y puede se utiliza ​en el [[https://​editor.swagger.io/​|visor swagger]]+Se libera documentación OpenAPI V3 la cual se comparte a continuación y puede ser visualizada ​en el [[https://​editor.swagger.io/​|visor swagger]]
  
-<​code ​json+=== Nota === 
-{"​openapi":"​3.0.1","​info":​{"​title":"​OpenAPI definition","​version":"​v0"​},"​servers":​[{"​url":"​http://​localhost:​8088","​description":"​Generated server url"​}],"​tags":​[{"​name":"​EmailController","​description":"​Controlador que gestiona los envíos de correos electrónicos en las aplicaciones."​}],"​paths":​{"/​email/​v2/​sendMasive":​{"​post":​{"​tags":​["​EmailController"​],"​summary":"​sendMasive","​description":"​Envía correos electrónicos de forma masiva.","​operationId":"​sendMasive","​parameters":​[{"​name":"​token","​in":"​header","​description":"​Token API utilizado para realiza el envío. Si no se especifica se utiliza uno genérico.","​required":​false,"​schema":​{"​type":"​string"​},"​example":"​eyFDSFDSF4%$#​%$#​%VFDvcxvkxkvljxkljelkrjklcjvklcxjvklxjv"​},​{"​name":"​emailDto","​in":"​query","​description":"​Objeto con la configuración del envio y contenido del correo electrónico que será enviado","​required":​true,"​schema":​{"​$ref":"#/​components/​schemas/​EmailDto"​}}],"​responses":​{"​500":​{"​description":"​Se han generado inconsistencias al crear el registro.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}},"​202":​{"​description":"​Correo electrónico enviado correctamente.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}},"​503":​{"​description":"​No se puede enviar el correo electrónico.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}}}}},"/​email/​v1/​send":​{"​post":​{"​tags":​["​EmailController"​],"​summary":"​send","​description":"​Envía correos electrónicos.","​operationId":"​send","​parameters":​[{"​name":"​emailConfigDto","​in":"​query","​description":"​Objeto con la configuración del envio y contenido del correo electrónico que será enviado","​required":​true,"​schema":​{"​$ref":"#/​components/​schemas/​EmailConfigDto"​},"​example":​{"​smtpHost":"​smtp.ionos.com","​smtpPort":​587,"​smtpAuth":"​true","​smtpMailUser":"​email.test@ada.co","​smtpMailPassword":"​password","​smtpStartTlsEnabled":​false,"​smtpSessionDebug":​true,"​subject":"​Título de Prueba","​content":"​Contenido de prueba","​html":​false,"​toEmail":​[{"​address":"​notififacionTo.test@ada.co","​persona":"​Notificación To"​}],"​ccEmail":​[{"​address":"​notififacionCc.test@ada.co","​persona":"​Notificación Cc"​}],"​bccEmail":​[{"​address":"​notififacionBcc.test@ada.co","​persona":"​Notificación Bcc"​}]}}],"​responses":​{"​500":​{"​description":"​Se han generado inconsistencias al crear el registro.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}},"​202":​{"​description":"​Correo electrónico enviado correctamente.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}},"​503":​{"​description":"​No se puede enviar el correo electrónico.","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​GenericResponseDto"​}}}}},"​deprecated":​true}},"/​email/":​{"​get":​{"​tags":​["​EmailController"​],"​summary":"​index","​description":"​Método de validación de estado del microservicio","​operationId":"​index","​responses":​{"​200":​{"​description":"​Microsericio en linea","​content":​{"​application/​json":​{"​schema":​{"​$ref":"#/​components/​schemas/​EmailController"​}}}}}}}},"​components":​{"​schemas":​{"​AddressConfigDto":​{"​type":"​object","​properties":​{"​address":​{"​type":"​string"​},"​persona":​{"​type":"​string"​}},"​description":"​Clase Dto que contiene la configuración de la dirección de correo electronico."​},"​AttachmentConfigDto":​{"​type":"​object","​properties":​{"​fileName":​{"​type":"​string"​},"​fileContentStringBase64":​{"​type":"​string"​},"​typeContent":​{"​type":"​string"​}},"​description":"​Clase Dto que contiene la configuración del archivo que se adjuntará al correo electrónico."​},"​EmailDto":​{"​type":"​object","​properties":​{"​from":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​},"​subject":​{"​type":"​string"​},"​content":​{"​type":"​string"​},"​html":​{"​type":"​boolean"​},"​attachmentBase64":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AttachmentConfigDto"​}},"​toEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}},"​ccEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}},"​bccEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}}},"​description":"​Clase Dto que contiene la configuración e información del correo electrónico."​},"​GenericResponseDto":​{"​type":"​object","​properties":​{"​code":​{"​type":"​integer","​format":"​int64"​},"​message":​{"​type":"​string"​},"​content":​{"​type":"​object"​}},"​description":"​Dto generico utilizado para respuestas en servicios."​},"​EmailConfigDto":​{"​type":"​object","​properties":​{"​smtpHost":​{"​type":"​string"​},"​smtpPort":​{"​type":"​string"​},"​smtpAuth":​{"​type":"​string"​},"​smtpMailUser":​{"​type":"​string"​},"​smtpMailPassword":​{"​type":"​string"​},"​smtpStartTlsEnabled":​{"​type":"​string"​},"​smtpSslTrust":​{"​type":"​string"​},"​smtpSessionDebug":​{"​type":"​boolean"​},"​subject":​{"​type":"​string"​},"​content":​{"​type":"​string"​},"​html":​{"​type":"​boolean"​},"​attachmentBase64":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AttachmentConfigDto"​}},"​toEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}},"​ccEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}},"​bccEmail":​{"​type":"​array","​items":​{"​$ref":"#/​components/​schemas/​AddressConfigDto"​}}},"​description":"​Clase Dto que contiene las configuraciones de autenticación y envío del correo electrónico."​},"​EmailController":​{"​type":"​object"​}}}}+Copie el siguiente texto en formato JSON y peguelo en el panel izquierdo del visor [[https://​editor.swagger.io/​|visor swagger]] 
 + 
 + 
 +<​code ​yaml
 +{ 
 +    ​"​openapi":​ "​3.0.1",​ 
 +    ​"​info":​ { 
 +        ​"​title":​ "​OpenAPI definition",​ 
 +        ​"​version":​ "​v0"​ 
 +    ​}, 
 +    ​"​servers":​ [ 
 +        ​{ 
 +            ​"​url":​ "​http://​factory-ws-utilities17.adacsc.co/​AdaEmailService", 
 +            ​"​description":​ "​Generated server url" 
 +        ​} 
 +    ​], 
 +    ​"​tags":​ [ 
 +        ​{ 
 +            ​"​name":​ "​EmailController",​ 
 +            ​"​description":​ "​Controlador que gestiona los envíos de correos electrónicos en las aplicaciones."​ 
 +        ​} 
 +    ​], 
 +    ​"​paths":​ { 
 +        ​"/​email/​v2/​send": { 
 +            ​"​post":​ { 
 +                ​"​tags":​ [ 
 +                    ​"​EmailController"​ 
 +                ​], 
 +                ​"​summary":​ "send", 
 +                ​"​description":​ "​Envía correos electrónicos ​utilizando el API de envio masivo MailerSend.", 
 +                ​"​operationId":​ "send", 
 +                ​"​parameters":​ [ 
 +                    ​{ 
 +                        ​"​name":​ "​token",​ 
 +                        ​"​in":​ "​header",​ 
 +                        ​"​description":​ "Token API utilizado para realiza el envío. Si no se especifica se utiliza uno genérico.",​ 
 +                        ​"​required":​ false, 
 +                        ​"​schema":​ { 
 +                            ​"​type":​ "​string"​ 
 +                        ​}, 
 +                        ​"​example":​ "​eyFDSFDSF4%$#​%$#​%VFDvcxvkxkvljxkljelkrjklcjvklcxjvklxjv"​ 
 +                    ​}, 
 +                    ​{ 
 +                        ​"​name":​ "​emailDto",​ 
 +                        ​"​in":​ "​query",​ 
 +                        ​"​description":​ "​Objeto con la configuración del envio y contenido del correo electrónico que será enviado",​ 
 +                        ​"​required":​ true, 
 +                        ​"​schema":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​EmailDto"​ 
 +                        ​} 
 +                    ​} 
 +                ​], 
 +                ​"​responses":​ { 
 +                    ​"​500":​ { 
 +                        ​"​description":​ "Se han generado inconsistencias al crear el registro.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​}, 
 +                    ​"​202":​ { 
 +                        ​"​description":​ "​Correo electrónico enviado correctamente.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​}, 
 +                    ​"​503":​ { 
 +                        ​"​description":​ "No se puede enviar el correo electrónico.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​} 
 +                ​} 
 +            ​} 
 +        ​}, 
 +        ​"/​email/​v1/​send":​ { 
 +            ​"​post":​ { 
 +                ​"​tags":​ [ 
 +                    ​"​EmailController"​ 
 +                ​], 
 +                ​"​summary":​ "​send",​ 
 +                ​"​description":​ "​Envía correos electrónicos.",​ 
 +                ​"​operationId":​ "send_1", 
 +                ​"​parameters":​ [ 
 +                    ​{ 
 +                        ​"​name":​ "​emailConfigDto",​ 
 +                        ​"​in":​ "​query",​ 
 +                        ​"​description":​ "​Objeto con la configuración del envio y contenido del correo electrónico que será enviado",​ 
 +                        ​"​required":​ true, 
 +                        ​"​schema":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​EmailConfigDto"​ 
 +                        ​}, 
 +                        ​"​example":​ { 
 +                            ​"​smtpHost":​ "​smtp.ionos.com",​ 
 +                            ​"​smtpPort":​ 587, 
 +                            ​"​smtpAuth":​ "​true",​ 
 +                            ​"​smtpMailUser":​ "​email.test@ada.co",​ 
 +                            ​"​smtpMailPassword":​ "​password",​ 
 +                            ​"​smtpStartTlsEnabled":​ false, 
 +                            ​"​smtpSessionDebug":​ true, 
 +                            ​"​subject":​ "​Título de Prueba",​ 
 +                            ​"​content":​ "​Contenido de prueba",​ 
 +                            ​"​html":​ false, 
 +                            ​"​toEmail":​ [ 
 +                                ​{ 
 +                                    ​"​address":​ "​notififacionTo.test@ada.co",​ 
 +                                    ​"​persona":​ "​Notificación To" 
 +                                ​} 
 +                            ​], 
 +                            ​"​ccEmail":​ [ 
 +                                ​{ 
 +                                    ​"​address":​ "​notififacionCc.test@ada.co",​ 
 +                                    ​"​persona":​ "​Notificación Cc" 
 +                                ​} 
 +                            ​], 
 +                            ​"​bccEmail":​ [ 
 +                                ​{ 
 +                                    ​"​address":​ "​notififacionBcc.test@ada.co",​ 
 +                                    ​"​persona":​ "​Notificación Bcc" 
 +                                ​} 
 +                            ​] 
 +                        ​} 
 +                    ​} 
 +                ​], 
 +                ​"​responses":​ { 
 +                    ​"​500":​ { 
 +                        ​"​description":​ "Se han generado inconsistencias al crear el registro.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​}, 
 +                    ​"​202":​ { 
 +                        ​"​description":​ "​Correo electrónico enviado correctamente.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​}, 
 +                    ​"​503":​ { 
 +                        ​"​description":​ "No se puede enviar el correo electrónico.",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​GenericResponseDto"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​} 
 +                ​}, 
 +                ​"​deprecated":​ true 
 +            ​} 
 +        ​}, 
 +        ​"/​email/":​ { 
 +            ​"​get":​ { 
 +                ​"​tags":​ [ 
 +                    ​"​EmailController"​ 
 +                ​], 
 +                ​"​summary":​ "​index",​ 
 +                ​"​description":​ "​Método de validación de estado del microservicio",​ 
 +                ​"​operationId":​ "​index",​ 
 +                ​"​responses":​ { 
 +                    ​"​200":​ { 
 +                        ​"​description":​ "​Microsericio en linea",​ 
 +                        ​"​content":​ { 
 +                            ​"​application/​json":​ { 
 +                                ​"​schema":​ { 
 +                                    ​"​$ref":​ "#/​components/​schemas/​EmailController"​ 
 +                                ​} 
 +                            ​} 
 +                        ​} 
 +                    ​} 
 +                ​} 
 +            ​} 
 +        ​} 
 +    ​}, 
 +    ​"​components":​ { 
 +        ​"​schemas":​ { 
 +            ​"​AddressConfigDto":​ { 
 +                ​"​type":​ "​object",​ 
 +                ​"​properties":​ { 
 +                    ​"​address":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​persona":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​} 
 +                ​}, 
 +                ​"​description":​ "Clase Dto que contiene la configuración de la dirección de correo electronico."​ 
 +            ​}, 
 +            ​"​AttachmentConfigDto":​ { 
 +                ​"​type":​ "​object",​ 
 +                ​"​properties":​ { 
 +                    ​"​fileName":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​fileContentStringBase64":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​typeContent":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​} 
 +                ​}, 
 +                ​"​description":​ "Clase Dto que contiene la configuración del archivo que se adjuntará al correo electrónico."​ 
 +            ​}, 
 +            ​"​EmailDto":​ { 
 +                ​"​type":​ "​object",​ 
 +                ​"​properties":​ { 
 +                    ​"​from":​ { 
 +                        ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                    ​}, 
 +                    ​"​subject":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​content":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​html":​ { 
 +                        ​"​type":​ "​boolean"​ 
 +                    ​}, 
 +                    ​"​attachmentBase64":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AttachmentConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​toEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​ccEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​bccEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​} 
 +                ​}, 
 +                ​"​description":​ "Clase Dto que contiene la configuración e información del correo electrónico."​ 
 +            ​}, 
 +            ​"​GenericResponseDto":​ { 
 +                ​"​type":​ "​object",​ 
 +                ​"​properties":​ { 
 +                    ​"​code":​ { 
 +                        ​"​type":​ "​integer",​ 
 +                        ​"​format":​ "​int64"​ 
 +                    ​}, 
 +                    ​"​message":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​content":​ { 
 +                        ​"​type":​ "​object"​ 
 +                    ​} 
 +                ​}, 
 +                ​"​description":​ "Dto generico utilizado para respuestas en servicios."​ 
 +            ​}, 
 +            ​"​EmailConfigDto":​ { 
 +                ​"​type":​ "​object",​ 
 +                ​"​properties":​ { 
 +                    ​"​smtpHost":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpPort":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpAuth":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpMailUser":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpMailPassword":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpStartTlsEnabled":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpSslTrust":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​smtpSessionDebug":​ { 
 +                        ​"​type":​ "​boolean"​ 
 +                    ​}, 
 +                    ​"​subject":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​content":​ { 
 +                        ​"​type":​ "​string"​ 
 +                    ​}, 
 +                    ​"​html":​ { 
 +                        ​"​type":​ "​boolean"​ 
 +                    ​}, 
 +                    ​"​attachmentBase64":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AttachmentConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​toEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​ccEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​}, 
 +                    ​"​bccEmail":​ { 
 +                        ​"​type":​ "​array",​ 
 +                        ​"​items":​ { 
 +                            ​"​$ref":​ "#/​components/​schemas/​AddressConfigDto"​ 
 +                        ​} 
 +                    ​} 
 +                ​}, 
 +                ​"​description":​ "Clase Dto que contiene las configuraciones de autenticación y envío del correo electrónico."​ 
 +            ​}, 
 +            ​"​EmailController":​ { 
 +                ​"​type":​ "​object"​ 
 +            ​} 
 +        ​} 
 +    ​} 
 +}
 </​code>​ </​code>​
  
 +==== Ejemplo de Consumo ====
 +El siguiente es un ejemplo de consumo del nuevo servicio. Los parametros de consumo se describen como se configurarían en un cliente Rest como Postman.
  
 +<code yaml>
 +//Http: POST
 +//URL: https://​factory-ws-utilities17.adacsc.co/​AdaEmailService/​email/​v2/​send
 +//Header: token = Token API utilizado para realiza el envío. Si no se especifica se utiliza uno genérico.
 +//Parametro en el Body: Ver el json a continuación
  
 +{
 +  "​from":​ {
 +    "​address":​ "​dirección de correo de origen",​
 +    "​persona":​ "​Nombre de la cuenta de origen"​
 +  },
 +  "​subject":​ "​Asunto del correo",​
 +  "​content":​ "​Contenido del correo, puede ser un bloque html o texto plano",​
 +  "​html":​ true,
 +  "​attachmentBase64":​ [
 +    {
 +      "​fileName":​ "​Nombre del archivo con extensión",​
 +      "​fileContentStringBase64":​ "​Contenido del archivo en Base64",​
 +      "​typeContent":​ "Mime type del archivo Ej: Para un PDF sería application/​pdf"​
 +    }
 +  ],
 +  "​toEmail":​ [
 +    {
 +      "​address":​ "​Correo de destino",​
 +      "​persona":​ "​Nombre asociado al correo de destino."​
 +    }
 +  ],
 +  "​ccEmail":​ [
 +    {
 +      "​address":​ "​Correo de copia",​
 +      "​persona":​ "​Nombre asociado al correo de copia."​
 +    }
 +  ],
 +  "​bccEmail":​ [
 +    {
 +      "​address":​ "​Correo de copia oculta",​
 +      "​persona":​ "​Nombre asociado al correo de copoa oculta."​
 +    }
 +  ]
 +}
 +</​code>​
  
 +==== Ejemplo de Respuesta exitosa de Consumo ====
 +<code yaml>
 +{
 +    "​code":​ 1,
 +    "​message":​ "​Correo electronico enviado correctamente:​ ID 647a19cc646885576c0b2524",​
 +    "​content":​ null
 +}
 +</​code>​
  
-[[ada:​howto:​sicoferp:​factory:​integrations|←Volver atrás]]+==== Consideraciones ==== 
 +A partir de al fecha el componente está publicado y disponible para envios de correos. Favor tener presente las siguientes consideraciones para el correcto uso del componente.
  
 +  * Cada aplicación que requiera el uso del envio de correo debe solicitar a TI la generación de un token de autorización con el cual se puede consumir el servicio. De esta forma se puede hacer seguimiento.
 +  * El correo puede hacer envios masivos pero por control el máximo de envio se establece a 100 por correo.
 +  * El API soporta un maximo de 10 correos para copias.
 +  * El API soporta un maximo de 10 correos para copias ocultas.
 +  * Los archivos adjuntos se deben enviar en String Base64
  
 +[[ada:​howto:​sicoferp:​factory:​integrations|←Volver atrás]]
ada/howto/sicoferp/factory/integrations/msadaemailservice.1685736649.txt.gz · Última modificación: 2023/06/02 20:10 por 192.168.175.173