Personalización de mensajes de correo electrónico
Cuando un usuario interactúa con la aplicación, es posible que desee enviar una respuesta o solicitar la verificación. App ID proporciona plantillas predeterminadas que puede utilizar para las interacciones. También puede utilizar las plantillas como una guía y personalizar la mensajería para ajustarla a su marca.
App ID utiliza SendGrid como servicio de reparto de correo. Todos los correos electrónicos se envían con una sola cuenta de SendGrid.
Configuración de valores de correo electrónico
Con App ID, puede optar por utilizar las credenciales predeterminadas de App ID SendGrid añadir su propia cuenta SendGrid o configurar su propio webhook personalizado para enviar mensajes de correo electrónico en Directorio Nube.
Utilización del proveedor de correo electrónico predeterminado de IBM
Por defecto, App ID utiliza SendGrid como servicio de entrega de correo electrónico para Cloud Directory.
-
Vaya a la página Cloud Directory > Plantillas de correo electrónico > Valores de correo electrónico del panel de control de servicio.
-
Seleccione Valor predeterminado. Aparece la información que tiene que especificar.
-
Configure los Detalles del remitente.
-
En Desde, escriba la dirección de correo electrónico de donde desea que los usuarios reciban los correos electrónicos.
-
En Nombre del remitente, escriba el nombre que desee asociado al correo electrónico de "Desde".
-
En Responder a, escriba la dirección de correo electrónico donde desee recibir las respuestas que alguien tuviera que mandarle por correo electrónico.
-
-
Pulse Probar para probar su configuración con un correo electrónico de prueba.
-
Pulse Guardar para habilitar la configuración.
Adición de su propia cuenta de SendGrid
Al utilizar su propia cuenta de SendGrid para enviar los correos electrónicos de Cloud Directory, tendrá el control completo. Puede decidir cómo se envían los correos electrónicos, utilizar su propio nombre de dominio y definir los detalles del remitente. Con los valores de correo electrónico personalizados, puede reducir las posibilidades de que un correo electrónico se filtre como spam, a la vez que se promueve el reconocimiento de marca para la aplicación.
Una conexión directa a su proveedor de correo electrónico puede ayudarle a obtener información sobre mensajes individuales como, por ejemplo, el número de personas que abren los correos electrónicos y qué mensajes no se han entregado. También puede ver estadísticas globales que puede utilizar para gestionar mejor las campañas de correo electrónico.
¿No dispone de una cuenta de SendGrid? Regístrese.
-
Vaya a la página Cloud Directory > Plantillas de correo electrónico > Valores de correo electrónico del panel de control de servicio.
-
Seleccione SendGrid. Aparece la información que tiene que especificar.
-
En Clave de API de SendGrid, escriba su clave de API.
-
Configure los Detalles del remitente.
-
En Desde, escriba la dirección de correo electrónico de donde desea que los usuarios reciban los correos electrónicos.
-
En Nombre del remitente, escriba el nombre que desee asociado al correo electrónico de "Desde".
-
En Responder a, escriba la dirección de correo electrónico donde desee recibir las respuestas que alguien tuviera que mandarle por correo electrónico.
-
-
Pulse Probar para probar su configuración con un correo electrónico de prueba.
-
Pulse Guardar para habilitar la configuración.
Personalización de su proveedor de correo electrónico
Al definir su propio punto de extensión personalizado para enviar correos electrónicos de Cloud Directory, tendrá el control completo. Puede decidir cómo se envían los correos electrónicos, utilizar su propio nombre de dominio y definir los detalles del remitente. Con los valores de correo electrónico personalizados, puede reducir las posibilidades de que un correo electrónico se filtre como spam, a la vez que se promueve el reconocimiento de marca para la aplicación.
Una conexión directa a su proveedor de correo electrónico puede ayudarle a obtener información sobre mensajes individuales como, por ejemplo, el número de personas que abren los correos electrónicos y qué mensajes no se han entregado. También puede ver estadísticas globales que puede utilizar para gestionar mejor las campañas de correo electrónico.
Configuración de un proveedor personalizado con la GUI
Puede utilizar el panel de control de servicio para configurar su proveedor personalizado.
-
Vaya a la página Cloud Directory > Plantillas de correo electrónico > Valores de correo electrónico del panel de control de servicio.
-
Seleccione Personalizar. Aparece la información que tiene que especificar.
-
En Webhook, escriba su URL de extensión personalizado.
-
Seleccione un Tipo de autorización. Puede elegir entre las opciones siguientes:
- Ninguna: el punto final webhook o URL no necesita ninguna cabecera de autorización.
- Básica: el punto final webhook requiere una cabecera de autenticación HTTP con cada solicitud en formato de nombre de usuario y contraseña.
- Cabeceras de autorización: la solicitud webhook requiere que pase la información de autorización para su punto final en una autorización HTTP. Por ejemplo, puede pasar una señal OAuth 2.0:
Authorization: Bearer eyJraWQiOiIyMDIwMDEyNTE2MzMiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQiOiJJ
.
-
Configure los Detalles del remitente.
-
En Desde, escriba la dirección de correo electrónico de donde desea que los usuarios reciban los correos electrónicos.
-
En Nombre del remitente, escriba el nombre que desee asociado al correo electrónico de "Desde".
-
En Responder a, escriba la dirección de correo electrónico donde desee recibir las respuestas de los correos electrónicos.
-
-
Pulse Probar para probar su configuración con un correo electrónico de prueba.
-
Pulse Guardar para habilitar la configuración.
Configuración de un proveedor personalizado con la API
Puede utilizar las API de gestión de Cloud Directory para configurar su remitente de correo electrónico personalizado.
-
Configure un punto de extensión que pueda escuchar una solicitud POST. El punto final debe poder:
- Leer la carga útil que procede de App ID.
- Enviar el correo electrónico desde su proveedor personalizado.
- Opcionalmente, valide que la carga útil de JSON que devuelve App ID no haya sido modificada por un tercero de ninguna manera. Se devuelve una serie formateada
como
{"jws": "jws-format-string"}
que contiene el ID de arrendatario, el emisor de la señal JWS, la indicación de fecha y hora de cuándo se envió el mensaje, un ID de transacción exclusivo y la información de mensaje real que incluye los detalles del remitente y el contenido del cuerpo del correo electrónico.
Su punto de extensión puede tener un aspecto similar al del ejemplo siguiente:
const sgMail = require('@sendgrid/mail'); const {promisify} = require('bluebird'); const request = promisify(require('request')); const jwtVerify = promisify(require('jsonwebtoken').verify); const jwtDecode = require('jsonwebtoken').decode; const jwkToPem = require('jwk-to-pem'); async function obtainPublicKeys() { // Your instance tenant ID const tenantId = '<tenantID>'; // Send request to App ID's public keys endpoint const keysOptions = { method: 'GET', url: `https://<region>.appid.cloud.ibm.com/oauth/v4/$<tenantID>/publickeys` }; const keysResponse = await request(keysOptions); return JSON.parse(keysResponse.body).keys; } async function verifySignature(keysArray, kid, jws) { const keyJson = keysArray.find(key => key.kid === kid); if (keyJson) { const pem = jwkToPem(keyJson); await jwtVerify(jws, pem); return; } throw new Error ("Unable to verify signature"); } async function verifyAndSendMail(jws) { // The API key for Sendgrid const sgApiKey = '<SengridApiKey>'; // Init Sendgrind sgMail.setApiKey(sgApiKey); // Decode message to get information const data = jwtDecode(jws, {complete: true}); // Extract kid from header const kid = data.header.kid; const keysArray = await obtainPublicKeys(); // Verify the signature of the payload with the public keys await verifySignature(keysArray, kid ,jws); // Send the email with Your Sendgrid account const message = data.payload.message; const msg = { to: message.to, from: message.from.address, subject: message.subject, html: message.body, }; console.log(`Sending email to ${message.to}`); let sendgridResponse = await sgMail.send(msg); return {result : 'email_sent',sendgridResponse}; }
-
Realice una solicitud PUT a
/management/v4/<tenantID>/config/cloud_directory/email_dispatcher
para proporcionar su webhook URL. Opcionalmente, puede proporcionar información de autorización. Los tipos de autorización soportados son:Basic authorization
yconstant authorization header value
.curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/email_dispatcher' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <IAMToken>' \ -d '{ "provider": "custom", "custom": { "url": "https://example.com/send_mail", "authorization": { "type": "basic", "username": "<username>", "password": "<password>" } } }'
-
Compruebe que la configuración se ha configurado correctamente probando el distribuidor de correo electrónico. Utilice la API de prueba para activar una solicitud a su remitente de correo electrónico personalizado configurado.
Plantillas de correo electrónico
Cuando envía mensajes a los usuarios, puede utilizar cualquier combinación de las plantillas siguientes. O bien, puede editar las plantillas para personalizar el mensaje.
Además de los siguientes tipos de mensaje, también puede aprovechar las plantillas MFA.
Para una mayor personalización, puede utilizar parámetros en los mensajes. Consulte la tabla siguiente para ver los parámetros que puede utilizar en todos los tipos de mensajes.
Parámetro | Descripción |
---|---|
%{display.logo} |
Muestra la imagen que ha configurado para su widget de inicio de sesión. |
%{user.displayName} |
Muestra el nombre de pantalla que elige un usuario para utilizar al interactuar con la app. |
%{user.email} |
Muestra la dirección de correo electrónico registrada del usuario. |
%{user.username} |
Muestra el nombre de usuario especificado del usuario cuando el método de autenticación se establece en nombre de usuario y contraseña. |
%{user.firstName} |
Muestra el nombre especificado del usuario. |
%{user.formattedName} |
Muestra el nombre completo del usuario. |
%{user.lastName} |
Muestra el apellido especificado del usuario. |
Correo electrónico: Bienvenido
Cuando un usuario se registra en su app, es probable que desee enviarle un mensaje de bienvenida a la app.
-
Vaya al separador Cloud Directory > Plantillas de correo electrónico > Correo electrónico de bienvenida del panel de control de servicios.
-
Establezca la opción Correo electrónico de bienvenida en Habilitado.
-
Personalice el contenido del mensaje. Puede añadir parámetros e insertar imágenes utilizando la consola. Para cambiar el idioma del mensaje, puede utilizar las API para establecer el idioma. Sin embargo, usted es el responsable del contenido y la conversión del mensaje. Consulte la tabla siguiente para ver la lista de tablas que puede utilizar en este mensaje y todos los demás mensajes que puede enviar. Si un usuario no proporciona la información que extrae el parámetro, aparecerá en blanco.
-
Pulse Guardar.
Correo electrónico: Verificación
Cuando un usuario se registra en su aplicación mediante su correo electrónico, puede enviarle un correo electrónico que le solicite confirmar su identidad. Al solicitar una verificación, se limita el número de cuentas falsas que pueden registrarse en su app. Puede restringir el acceso a su app hasta que el usuario verifique su correo electrónico, o utilizarlo como forma de gestionar los usuarios para los que ha creado perfiles.
Los usuarios que se añaden manualmente mediante el panel de control de App ID o la API de creación de usuarios no reciben este correo electrónico automáticamente.
-
Vaya al separador Cloud Directory > Plantillas de correo electrónico > Verificación de correo electrónico del panel de control de servicios.
-
Establezca la opción Verificación de correo electrónico en Habilitada.
-
Establezca Permitir a los usuarios registrarse en la app sin verificar la dirección de correo electrónico primero en Sí. Cuando se establece en sí, los usuarios pueden interactuar con la aplicación después de registrarse, pero antes de verificar su dirección de correo electrónico. El valor predeterminado es no.
-
Personalice el contenido del mensaje. Puede añadir parámetros e insertar imágenes utilizando la consola. Para cambiar el idioma del mensaje, puede utilizar las API para establecer el idioma. Sin embargo, usted es el responsable del contenido y la conversión del mensaje. Consulte la tabla siguiente para ver los distintos parámetros que puede utilizar en el mensaje. Si un usuario no proporciona la información que extrae el parámetro, aparecerá en blanco.
Parámetros que puede utilizar en los mensajes relacionados con la verificación Parámetro Descripción %{linkExpiration.hours}
Muestra el número de horas que es válido el enlace. %{linkExpiration.minutes}
Muestra el número de minutos que es válido el enlace. %{verify.code}
Muestra un URL de verificación de un único uso. %{verify.link}
Muestra el URL de acción que especificó en los valores. También puede utilizar los parámetros de mensaje que se listan en la sección Mensaje de bienvenida.
-
Defina una hora de vencimiento para el URL de acción. El URL de vencimiento es la cantidad de tiempo, en minutos, en la que un usuario debe completar la acción antes de que caduque el enlace de verificación. Este valor también afecta a la cantidad de tiempo que su enlace de restablecimiento de contraseña es válido.
-
Especifique un URL para la página que desea visualizar después de que un usuario verifique su correo electrónico en el recuadro URL de la página de agradecimiento. Si elige dejar este campo en blanco, se muestra una página predeterminada de App ID.
-
Pulse Guardar.
Correo electrónico: Restablecimiento de contraseña
Cuando un usuario interactúa con la app, es posible que olvide su contraseña o que necesite actualizarla. Puede personalizar la respuesta por correo electrónico a su solicitud. Cuando un usuario solicita un cambio, su contraseña sigue siendo la misma hasta que pulsa en el enlace en este correo electrónico.
-
Vaya al separador Cloud Directory > Plantillas de correo electrónico > Restablecer contraseña del panel de control de servicios.
-
Establezca la opción Correo electrónico de contraseña olvidada en Habilitado.
-
Personalice el contenido del mensaje. Puede añadir parámetros e insertar imágenes utilizando la consola. Para cambiar el idioma del mensaje, puede utilizar las API para establecer el idioma. Sin embargo, usted es el responsable del contenido y la conversión del mensaje. Consulte la tabla siguiente para ver los distintos parámetros que puede utilizar en el mensaje. Si un usuario no proporciona la información que extrae el parámetro, aparecerá en blanco.
Parámetros que puede utilizar en mensajes relacionados con contraseñas olvidadas Parámetro Descripción %{linkExpiration.hours}
Muestra el número de horas que es válido el enlace. %{linkExpiration.minutes}
Muestra el número de minutos que es válido el enlace. %{resetPassword.code}
Muestra una clave de acceso de un solo uso como parte del URL. Esto significa que cada persona tendría un código diferente. Ejemplo: https://us-south.appid.cloud.ibm.com/wfm/verify/6574839563478
%{resetPassword.link}
Muestra el enlace que pulsa un usuario para restablecer su contraseña. También puede utilizar los parámetros de mensaje que se listan en la sección Mensaje de bienvenida.
-
Defina una hora de vencimiento para el URL de acción. El URL de vencimiento es la cantidad de tiempo, en minutos, en la que un usuario debe completar la acción antes de que caduque el enlace de verificación. Este valor también afecta a la cantidad de tiempo que su enlace de restablecimiento de contraseña es válido.
-
Especifique un URL para la página que desea visualizar después de que un usuario verifique su correo electrónico en el recuadro URL de la página de restablecer contraseña. Si elige dejar este campo en blanco, se muestra una página predeterminada de App ID.
-
Pulse Guardar.
Correo electrónico: Cambio de contraseña
Puede notificar a un usuario cuando se actualice su contraseña. La notificación es útil si no ha solicitado el cambio de contraseña. Pueden llevar a cabo los pasos apropiados para volver a asegurar su cuenta.
-
Vaya al separador Cloud Directory > Plantillas de correo electrónico > Cambio de contraseña del panel de control de servicios.
-
Establezca la opción Correo electrónico de contraseña cambiada en Habilitado.
-
Personalice el contenido del mensaje. Puede añadir parámetros e insertar imágenes utilizando la consola. Para cambiar el idioma del mensaje, puede utilizar las API para establecer el idioma. Sin embargo, usted es el responsable del contenido y la conversión del mensaje. Consulte la tabla siguiente para ver los distintos parámetros que puede utilizar en el mensaje. Si un usuario no proporciona la información que extrae el parámetro, aparecerá en blanco.
Parámetros que puede utilizar en los mensajes relacionados con el cambio de contraseña Parámetro Descripción %{passwordChangeInfo.time}
Muestra la hora en que entra en vigor la nueva contraseña. %{passwordChangeInfo.ipAddress}
Muestra la dirección IP desde la que se ha solicitado el cambio de contraseña. También puede utilizar los parámetros de mensaje que se listan en la sección Mensaje de bienvenida.
-
Pulse Guardar.
Idiomas soportados
Puede utilizar las API de gestión lingüística para establecer el idioma en el que se puede escribir la comunicación con el usuario. Sin embargo, de origen solo está disponible el idioma inglés. Usted es el responsable de la conversión de los mensajes. Una vez establecida la configuración con la API, se actualiza la interfaz gráfica de usuario, de forma que pueda modificar el texto de plantilla.
Código | Idioma | Región |
---|---|---|
af-ZA |
Afrikáans | Sudáfrica |
sq-AL |
Albanés | Albania |
am-ET |
Amhárico | Etiopía |
ar-DZ |
Árabe | Argelia |
ar-BH |
Árabe | Bahréin |
ar-EG |
Árabe | Egypt |
ar-IQ |
Árabe | Iraq |
ar-JO |
Árabe | Jordania |
ar-KW |
Árabe | Kuwait |
ar-LB |
Árabe | Líbano |
ar-LY |
Árabe | Libya |
ar-MR |
Árabe | Mauritania |
ar-MA |
Árabe | Marruecos |
ar-OM |
Árabe | Omán |
ar-QA |
Árabe | Qatar |
ar-SA |
Árabe | ArabiaSaudí |
ar-SY |
Árabe | Siria |
ar-YE |
Árabe | Túnez |
ar-AE |
Árabe | EmiratosÁrabesUnidos |
ar-YE |
Árabe | Yemen |
hy-AM |
Armenio | Armenia |
as-IN |
Assamés | India |
az-AZ |
Azerí | Azerbaiján |
eu-ES |
Euskera | España |
be-BY |
Bielorruso | Brasil |
bn-BD |
Bengalí | Bangladesh |
be-BY |
Bielorruso | Brasil |
bn-BD |
Bengalí | Bangladesh |
bn-IN |
Bengalí | India |
bs-Latn-BA |
Bosnio | Bosnia |
bg-BG |
Búlgaro | Bulgaria |
my-MM |
Birmano | Birmania |
ca-ES |
Catalán | España |
zh-Hans-CN |
Chino simplificado | China |
zh-Hans-SG |
Chino simplificado | Singapur |
zh-Hant-HK |
Chino tradicional | Zona administrativa especial de Hong Kong, China |
zh-Hant-MO |
Chino tradicional | Macao R.A.E. de la República Popular China |
zh-Hant-TW |
Chino tradicional | Taiwán |
hr-HR |
Croata | Croacia |
cs-CZ |
Checo | RepúblicaCheca |
da-DK |
Danés | Dinamarca |
nl-BE |
Holandés | Bélgica |
nl-NL |
Holandés | Países Bajos |
en-AU |
Inglés | Australia |
eu-BE |
Inglés | Bélgica |
en-CM |
Inglés | Camerún |
eu-CA |
Inglés | Canadá |
en-GH |
Inglés | Ghana |
eu-HK |
Inglés | Zona administrativa especial de Hong Kong, China |
en-IN |
Inglés | India |
en-IE |
Inglés | Irlanda |
en-KE |
Inglés | Kenia |
en-MU |
Inglés | Mauricio |
en-NZ |
Inglés | Nueva Zelanda |
en-NG |
Inglés | Nigeria |
en-PH |
Inglés | Filipinas |
en-SG |
Inglés | Singapur |
en-ZA |
Inglés | Sudáfrica |
en-TZ |
Inglés | Tanzania |
en-GB |
Inglés | Reino Unido |
en-US |
Inglés | Estados Unidos |
en-ZM |
Inglés | Zambia |
en |
Inglés | |
et-EE |
Estonio | Estonia |
fil-PH |
Filipino | Filipinas |
fi-FI |
Finés | Finlandia |
fr-DZ |
Francés | Argelia |
fr-CM |
Francés | Camerún |
fr-CD |
Francés | República Democrática del Congo |
fr-BE |
Francés | Bélgica |
fr-CA |
Francés | Canadá |
fr-FR |
Francés | Francia |
fr-CI |
Francés | Costa de Marfil (Côte d'Ivoire) |
fr-LU |
Francés | Luxemburgo |
fr-MR |
Francés | Mauritania |
fr-MU |
Francés | Mauricio |
fr-MA |
Francés | Marruecos |
fr-SN |
Francés | Senegal |
fr-CH |
Francés | Suiza |
fr-TN |
Francés | Túnez |
gl-ES |
Gallego | España |
lg-UG |
Luganda | Uganda |
ka-GE |
Georgiano | Georgia |
de-AT |
Alemán | Austria |
de-DE |
Alemán | Alemania |
de-LU |
Alemán | Luxemburgo |
de-CH |
Alemán | Suiza |
el-GR |
Griego | Grecia |
gu-IN |
Gujarati | India |
ha-NG |
Hausa | Nigeria |
he-IL |
Hebreo | Israel |
hi-IN |
Hindi | India |
hu-HU |
Húngaro | Hungría |
is-IS |
Islandés | Iceland |
ig-NG |
Igbo | Nigeria |
id-ID |
Indonesio | Indonesia |
it-IT |
Italiano | Italia |
it-CH |
Italiano | Suiza |
ja-JP |
Japonés | Japón |
kn-IN |
Canarés | India |
kk-KZ |
Kazajo | Kazajistán |
km-KH |
Jemer | Camboya |
rw-RW |
Ruandés | Ruanda |
kok-IN |
Konkani | India |
ko-KR |
Coreano | Corea del Sur |
lo-LA |
Lituano | Lituania |
lv-LV |
Letón | Letonia |
lt-LT |
Jemer | Camboya |
mk-MK |
Macedonio | Macedonia |
ms-Latn-MY |
Malayo latino | Malasia |
ml-IN |
Malayalam | India |
mt-MT |
Maltés | Malta |
mr-IN |
Marathi | India |
mn-Cyrl-MN |
Mongol cirílico | Mongolia |
ne-IN |
Nepalí | India |
ne-NP |
Nepalí | Nepal |
nb-NO |
Noruego bokmål | Noruega |
nn-NO |
Noruego nynorsk | Noruega |
or-IN |
Oriya (Odia) | India |
om-ET |
Oromo | Etiopía |
pl-PL |
Polaco | Polonia |
pt-AO |
Portugués | Angola |
pt-BR |
Portugués | Brasil |
pt-MO |
Portugués | Macao R.A.E. de la República Popular China |
pt-MZ |
Portugués | Mozambique |
pt-PT |
Portugués | Portugal |
pa-IN |
Punjabí | India |
ro-RO |
Rumano | Rumanía |
ru-RU |
Ruso | Rusia |
sr-Cyrl-RS |
Serbio cirílico | Serbia |
sr-Latn-ME |
Serbio latino | Montenegro |
sr-Latn-RS |
Serbio latino | Serbia |
si-LK |
Cingalés | Sri Lanka |
sk-SK |
Eslovaco | Eslovaquia |
sl-SI |
Esloveno | Eslovenia |
es-AR |
Español | Argentina |
es-BO |
Español | Bolivia |
es-CL |
Español | Chile |
es-CO |
Español | Colombia |
es-CR |
Español | Costa Rica |
es-DO |
Español | República Dominicana |
es-EC |
Español | Ecuador |
es-SV |
Español | El Salvador |
es-GT |
Español | Guatemala |
es-HN |
Español | Honduras |
es-MX |
Español | México |
es-NI |
Español | Nicaragua |
es-PA |
Español | Panamá |
es-PY |
Español | Paraguay |
es-PE |
Español | Perú |
es-PR |
Español | Puerto Rico |
es-ES |
Español | España |
es-US |
Español | Estados Unidos |
es-UY |
Español | Uruguay |
es-VE |
Español | Venezuela |
sw-KE |
Suajili | Kenia |
sw-TZ |
Suajili | Tanzania |
sv-SE |
Sueco | Suecia |
ta-IN |
Tamil | India |
te-IN |
Telugu | India |
th-TH |
Tailandés | Tailandia |
tr-TR |
Turco | Turkey |
uk-UA |
Ucraniano | Ucrania |
ur-IN |
Urdu | India |
ur-PK |
Urdu | Pakistán |
uz-Cyrl-UZ |
Uzbeko cirílico | Uzbekistán |
uz-Latn-UZ |
Uzbeko latino | Uzbekistán |
vi-VN |
Vietnamita | Vietnam |
cy-GB |
Galés | Reino Unido |
yo-NG |
Yoruba | Nigeria |
zu-ZA |
Zulu | Sudáfrica |