La definición de tipo para PersonalizationData
contiene un campo llamado dynamicTemplateData
. Sin embargo, la API de SendGrid espera un campo llamado dynamic_template_data
. Como resultado, los usuarios de TypeScript actualmente tienen que convertir el objeto MailData
para escribir any
si quieren usar el método sgMail.send()
sin un error de compilación:
sgMail.send({
personalizations: [
{
to: "[email protected]",
dynamic_template_data: {
field1: "value1",
field2: "value2"
}
}
],
from: 'noreply<strong i="12">@email</strong>',
templateId: "xxxxxxxx"
} as any);
Por lo tanto, el nombre del campo en el tipo PersonalizationData
debe cambiarse para que coincida con lo que espera la API, o debe ocurrir un mapeo desde dynamicTemplateData
=> dynamic_template_data
.
¡Gracias @egges!
Este es un gran truco y lo agregué a nuestro backlog para una actualización o quizás obtengamos un PR.
Con los mejores deseos,
Elmer
@egges problema similar que tuve.
Para los interesados, así es como solucioné el problema.
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
misma pregunta a @thinkingserious , ¿por qué si esto aún no se ha implementado? Las relaciones públicas están listas y son un gran problema para los mecanografiados 😄
Por lo que puedo decir, las definiciones mecanografiadas son correctas y esto no es un problema. Cuando el objeto de personalizaciones se serializa a JSON, las claves se convierten recursivamente a snake_case
incluida la clave dynamicTemplateData
( fuente , tenga en cuenta que la lista de exclusiones son las claves que no se convertirán recursivamente, solo el propia clave de nivel superior).
Vuelva a abrir si me equivoco y me falta algo. Solo miro la última versión del código.
Comentario más útil
@egges problema similar que tuve.
Para los interesados, así es como solucioné el problema.
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
misma pregunta a @thinkingserious , ¿por qué si esto aún no se ha implementado? Las relaciones públicas están listas y son un gran problema para los mecanografiados 😄