A definição de tipo para PersonalizationData
contém um campo chamado dynamicTemplateData
. No entanto, a API SendGrid espera um campo chamado dynamic_template_data
. Como resultado, os usuários do TypeScript atualmente precisam lançar o objeto MailData
para digitar any
se quiserem usar o método sgMail.send()
sem um erro do compilador:
sgMail.send({
personalizations: [
{
to: "[email protected]",
dynamic_template_data: {
field1: "value1",
field2: "value2"
}
}
],
from: 'noreply<strong i="12">@email</strong>',
templateId: "xxxxxxxx"
} as any);
Portanto, o nome do campo no tipo PersonalizationData
deve ser alterado para corresponder ao que a API espera ou um mapeamento deve ocorrer de dynamicTemplateData
=> dynamic_template_data
.
Obrigado @egges!
Esta é uma grande captura e eu adicionei isso ao nosso backlog para uma atualização ou talvez receberemos um PR.
Obrigado pela atenção,
Elmer
@egges problema semelhante que eu tive.
Para os interessados, foi assim que resolvi o problema
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
mesma pergunta para @thinkingserious , por que isso ainda não foi implantado? A RP está pronta e é um grande problema para nós, criadores de texto 😄
Tanto quanto posso dizer, as definições do texto datilografado estão corretas e isso não é um problema. Quando o objeto de personalização é serializado para JSON, as chaves são convertidas recursivamente em snake_case
incluindo a chave dynamicTemplateData
( fonte , observe que a lista de exclusões são as chaves que não devem ser convertidas recursivamente, apenas a própria chave de nível superior).
Abra novamente se eu estiver errado e faltar alguma coisa. Basta olhar para a versão mais recente do código.
Comentários muito úteis
@egges problema semelhante que eu tive.
Para os interessados, foi assim que resolvi o problema
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
mesma pergunta para @thinkingserious , por que isso ainda não foi implantado? A RP está pronta e é um grande problema para nós, criadores de texto 😄