La définition de type pour PersonalizationData
contient un champ appelé dynamicTemplateData
. Cependant, l'API SendGrid attend un champ appelé dynamic_template_data
. En conséquence, les utilisateurs de TypeScript doivent actuellement convertir l'objet MailData
en type any
s'ils veulent utiliser la méthode sgMail.send()
sans erreur du compilateur:
sgMail.send({
personalizations: [
{
to: "[email protected]",
dynamic_template_data: {
field1: "value1",
field2: "value2"
}
}
],
from: 'noreply<strong i="12">@email</strong>',
templateId: "xxxxxxxx"
} as any);
Ainsi, soit le nom du champ dans le type PersonalizationData
doit être modifié pour correspondre à ce que l'API attend, soit un mappage doit se produire à partir de dynamicTemplateData
=> dynamic_template_data
.
Merci @egges!
C'est un grand hic et j'ai ajouté ceci à notre backlog pour une mise à jour ou peut-être que nous obtiendrons un PR.
Meilleures salutations,
Elmer
@egges problème similaire que j'ai eu.
Pour ceux qui sont intéressés, c'est ainsi que j'ai résolu le problème
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
même question à @thinkingserious , pourquoi comme cela n'a pas encore été déployé? PR est prêt et est un gros problème pour nous, dactylographes 😄
Autant que je sache, les définitions dactylographiées sont correctes et ce n'est pas un problème. Lorsque l'objet de personnalisations est sérialisé à JSON, les clés sont converties récursive à snake_case
incluant le dynamicTemplateData
clé ( la source , notez que la liste des exclusions sont les clés qui ne sont pas à convertir récursive, juste clé de niveau supérieur elle-même).
Veuillez rouvrir si je me trompe et que je manque quelque chose. Il suffit de regarder la dernière version du code.
Commentaire le plus utile
@egges problème similaire que j'ai eu.
Pour ceux qui sont intéressés, c'est ainsi que j'ai résolu le problème
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
même question à @thinkingserious , pourquoi comme cela n'a pas encore été déployé? PR est prêt et est un gros problème pour nous, dactylographes 😄