Definisi tipe untuk PersonalizationData
berisi bidang bernama dynamicTemplateData
. Namun, SendGrid API mengharapkan bidang yang disebut dynamic_template_data
. Akibatnya, pengguna TypeScript saat ini harus mentransmisikan objek MailData
untuk mengetik any
jika mereka ingin menggunakan metode sgMail.send()
tanpa kesalahan kompilator:
sgMail.send({
personalizations: [
{
to: "[email protected]",
dynamic_template_data: {
field1: "value1",
field2: "value2"
}
}
],
from: 'noreply<strong i="12">@email</strong>',
templateId: "xxxxxxxx"
} as any);
Jadi, baik nama field dalam tipe PersonalizationData
harus diubah agar sesuai dengan apa yang diharapkan API, atau pemetaan harus terjadi dari dynamicTemplateData
=> dynamic_template_data
.
Terima kasih @egges!
Ini adalah tangkapan yang bagus dan saya telah menambahkan ini ke backlog kami untuk pembaruan atau mungkin kami akan mendapatkan PR.
Salam hangat,
Elmer
@egges masalah serupa yang saya miliki.
Bagi mereka yang tertarik, inilah cara saya memperbaiki masalah
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
pertanyaan yang sama untuk @thinkingserious , mengapa ini belum diterapkan? PR sudah siap dan merupakan masalah besar bagi kami juru ketik 😄
Sejauh yang saya tahu, definisi skrip sudah benar dan ini bukan masalah. Ketika objek personalisasi diserialkan ke JSON, kunci secara rekursif diubah menjadi snake_case
termasuk kunci dynamicTemplateData
( sumber , perhatikan bahwa daftar pengecualian adalah kunci yang tidak akan dikonversi secara rekursif, hanya kunci tingkat atas itu sendiri).
Tolong buka kembali jika saya salah dan melewatkan sesuatu. Hanya melihat kode versi terbaru.
Komentar yang paling membantu
@egges masalah serupa yang saya miliki.
Bagi mereka yang tertarik, inilah cara saya memperbaiki masalah
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577
pertanyaan yang sama untuk @thinkingserious , mengapa ini belum diterapkan? PR sudah siap dan merupakan masalah besar bagi kami juru ketik 😄