Sendgrid-nodejs: PersonalizationData์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ์œ ํ˜• ์ •์˜

์— ๋งŒ๋“  2019๋…„ 03์›” 07์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sendgrid/sendgrid-nodejs

PersonalizationData ๋Œ€ํ•œ ์œ ํ˜• ์ •์˜์—๋Š” dynamicTemplateData ๋ผ๋Š” ํ•„๋“œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ SendGrid API๋Š” dynamic_template_data ๋ผ๋Š” ํ•„๋“œ๋ฅผ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ TypeScript ์‚ฌ์šฉ์ž๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์˜ค๋ฅ˜์—†์ด sgMail.send() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ํ˜„์žฌ MailData ๊ฐœ์ฒด๋ฅผ any ํ˜•์‹์œผ๋กœ ์บ์ŠคํŒ…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

sgMail.send({
        personalizations: [
          {
            to: "[email protected]",
            dynamic_template_data: {
                field1: "value1",
                field2: "value2"
            }
          }
        ],
        from: 'noreply<strong i="12">@email</strong>',
        templateId: "xxxxxxxx"
    } as any);

๋”ฐ๋ผ์„œ PersonalizationData ์œ ํ˜•์˜ ํ•„๋“œ ์ด๋ฆ„์„ API๊ฐ€ ์˜ˆ์ƒํ•˜๋Š” ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ dynamicTemplateData => dynamic_template_data ์—์„œ ๋งคํ•‘์ด ๋ฐœ์ƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

medium help wanted help wanted community enhancement up for grabs up-for-grabs

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@egges ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577

@thinkingserious์— ๋Œ€ํ•œ ๋™์ผํ•œ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์™œ ์ด๊ฒƒ์ด ์•„์ง ๋ฐฐํฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ? PR์ด ์ค€๋น„๋˜์—ˆ์œผ๋ฉฐ ํƒ€์ดํ”„ ์Šคํฌ๋ฆฝํ„ฐ์—๊ฒŒ ํฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค ๐Ÿ˜„

๋ชจ๋“  3 ๋Œ“๊ธ€

@egges ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ ๋Œ€๋‹จํ•œ ์บ์น˜์ด๋ฉฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ๋ฐฑ ๋กœ๊ทธ์— ์ถ”๊ฐ€ํ–ˆ๊ฑฐ๋‚˜ PR์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์Œ์„ ๋‹ด์•„,

Elmer

@egges ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
https://github.com/sendgrid/sendgrid-nodejs/pull/716#issuecomment -472932577

@thinkingserious์— ๋Œ€ํ•œ ๋™์ผํ•œ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์™œ ์ด๊ฒƒ์ด ์•„์ง ๋ฐฐํฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ? PR์ด ์ค€๋น„๋˜์—ˆ์œผ๋ฉฐ ํƒ€์ดํ”„ ์Šคํฌ๋ฆฝํ„ฐ์—๊ฒŒ ํฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค ๐Ÿ˜„

๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜์žˆ๋Š” ํ•œ, ํƒ€์ดํ”„ ์Šคํฌ๋ฆฝํŠธ ์ •์˜๊ฐ€ ์ •ํ™•ํ•˜๊ณ  ์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ํ™” ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ์ง๋ ฌํ™” ํ•  ๋•Œ, ํ‚ค๋Š” ์žฌ๊ท€ ์ ์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค snake_case ์„ ํฌํ•จํ•˜์—ฌ dynamicTemplateData ํ‚ค ( ์†Œ์Šค ๋ถˆ๊ณผํ•˜์—ฌ ์ œ์™ธ ๋ชฉ๋ก์€ ์žฌ๊ท€ ์ ์œผ๋กœ ๋ณ€ํ™˜ ํ•  ์ˆ˜์—†๋Š” ํ‚ค๊ฐ€ ์žˆ๋Š”์ง€, ์ฐธ๊ณ , ์ตœ์ƒ์œ„ ํ‚ค ์ž์ฒด).

๋‚ด๊ฐ€ ํ‹€๋ ธ๊ณ  ๋ˆ„๋ฝ ๋œ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ๋‹ค์‹œ์—ฌ์‹ญ์‹œ์˜ค. ์ตœ์‹  ๋ฒ„์ „์˜ ์ฝ”๋“œ๋ฅผ๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰