์ ๋ง์ผํ
์บ ํ์ธ PUT์ ์ฌ์ฉํ์ฌ ์ค์ ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ก ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ ์ ์์
/๋ง์ผํ
/์ฐ๋ฝ์ฒ API
{
contacts: [
{
email: '[email protected]',
custom_fields: {
purchaseTime: -1,
activations: 0,
partner: 'none',
userCreationTime: 1544997675,
lastSigningTime: 1544997675,
emailVerified: 1,
disabled: 0,
displayName: 'Rv',
photoURL: 'https://lh6.googleusercontent.com/-,
uid: 'uid'
}
}
]
}
๊ด์ฐฐํ๋ค
invalid custom field ids supplied - partner,emailVerified,photoURL,uid,purchaseTime,activations,userCreationTime,lastSigningTime,disabled,displayName
+1
๋๋ ์ค๋ ๊ฐ์ ๋ฌธ์ ์ ๋ถ๋ช์ณค๋ค. ์ฑํ ์ง์(์ด ๋ฌธ์ ์ฐธ์กฐ)์ผ๋ก ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ์ต๋๋ค. ๊ทธ๋ค์ ์๋ต:
"๊ทธ๋, ์ต๊ทผ์ ์ด๋ฐ ์ผ์ด ๋ฒ์ด์ง๊ณ ์์ด. ๋๋ง ๊ทธ๋ฐ ๊ฒ ์๋์ผ. ์ ๊ฐ์ค๋ฝ๊ฒ๋ ์ง๊ธ ๋น์ฅ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด. ์ฐ๋ฆฌ์ ์ ์ ์์ง๋์ด๋ค์ด ์ด ๋ฌธ์ ๋ฅผ ์๊ฒ ๋์ด."
๊ทธ๊ฒ์ด ๋ด๊ฐ ๊ณต์ API ์น ์ฌ์ดํธ์์ ์ป์ ๊ฒ์ ๋๋ค.
๊ณต์ API์์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. cURL ์ฝ๋ ์์ฑ ์ค๋ํซ์ ์ฌ์ฉํ๋ฉด ์๋ํฉ๋๋ค.
ํ์ฌ API๊ฐ ์ด๋ฆ์ด ์๋ field_id๋ฅผ ์์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
https://mc.sendgrid.com/custom-fields ํ์ด์ง๋ฅผ ๋ก๋ํ ๋ SendGrid ๋ด๋ถ์ ๋คํธ์ํฌ ํธ๋ํฝ์ ๊ฒ์ฌํ๋ฉด field_ids์ ์ด๋ฆ์ ๋ฐํํ๋ /field_definitions์ ๋ํ ์๋ต์ ๋ณผ ์ ์์ต๋๋ค.
SendGrid๋ ์ด id ๊ฐ์ ํ๋ฐํธ ์๋์ ํ์ํ๊ฑฐ๋ ์์ฒญ์ ์ด๋ฆ์ ์๋ฝํ๋๋ก API๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
๋น์ ์ด ์ณ์ ๊ฒ์
๋๋ค. ๊ทธ๋ค์ ์ง์์ด ๋๊ตฌ์๊ฒ๋ ๋์์ด ๋ ์ ์๋ค๋ ์ฌ์ค์ด ์ํ๊น์ต๋๋ค. ๋ฌผ๋ก id๋ฅผ ์ฌ์ฉํ๋ฉด api๋ฅผ ์ฌ์ฉํ๊ธฐ๊ฐ ํจ์ฌ ๋ ์ด๋ ค์์ง๋๋ค.
์ ํ๋๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ์ ์ ์ ํ๋ ์๋ํฌ์ธํธ๊ฐ id๋ฅผ ๋ฐํํ๋์ง ์๋๋ฉด GETํด์ผ ํ๋์ง ์์์ฐจ๋ ธ์ต๋๊น?
@AAverin GUI์์ ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ๋ง๋ ์ดํ๋ก ํ์คํ์ง ์์ต๋๋ค. API ์ฐธ์กฐ๋ PUT/PATCH ์์ฒญ์ ๋ํ ์๋ต ๊ฐ์ฒด์ ID๋ฅผ ๋ฐํํ๋ค๊ณ ๋งํฉ๋๋ค.
์ง์ํ์์๋ ์ถ๊ฐ custom_fields ๊ฐ์ฒด ์์ด ํ์ด๋ก๋์ ์ง์ ์ ๋ฌํ์ฌ ์ฌ์ฉ์ ์ ์ ํ๋ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ค๊ณ ๋งํ์ต๋๋ค.
์๋ํ์ง๋ง ํ๋ ๊ฐ์ด ์ค์ ๋์ง ์์์ต๋๋ค.
์ด์จ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ ์ธ๊ทธ๋จผํธ์๋ง ํ์ํ๋ฉฐ New Marketing์๋ ์ธ๊ทธ๋จผํธ๊ฐ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์์ ํ ๊ฑด๋๋ธ ์ ์์ต๋๊น?
๊ทธ๋์ ๊ทธ๋ฅ ๋ฌธ์ ๋ฅผ ๋ซ์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ํ์ด๋ก๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
contacts: [
{
email: '[email protected]',
purchaseTime: -1,
activations: 0,
partner: 'none',
userCreationTime: 1544997675,
lastSigningTime: 1544997675,
emailVerified: 1,
disabled: 0,
displayName: 'Rv',
photoURL: 'https://lh6.googleusercontent.com/-,
uid: 'uid'
}
]
}
๊ทธ๋ค์ ๋ํ API ๋ฌธ์๋ฅผ ํ ์คํธํ๊ณ ์ ๋ฐ์ดํธํ๊ธฐ๋ก ์ฝ์ํ์ต๋๋ค.
์ด์ ๋ํ ์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
custom_fields ๋ด๋ถ์ ํ๋ ์ด๋ฆ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
custom_fields ๋๋ ๋ด๋ถ์์ ํ๋ ID๋ฅผ ์ฌ์ฉํ ๋ ์ค๋ฅ๊ฐ ์์ง๋ง ์ฐ๋ฝ์ฒ๊ฐ ์ ์ฅ๋์ง ์์ต๋๋ค.
๋๋ ๋ํ ์ด ๋ชจ๋์ด ์๋ ์ง์ curl์ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก ๋ฌธ์ ๊ฐ sendgrid ์ธก์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
@์๋ผ๋ฏธ์คํฐ
๋ด๊ฐ ์ง์์์ ์ป์ ๋ง์ง๋ง ๋๋ต์ ์ด์ ์ฌ์ฉ์ ์ ์ ํ๋์ ๊ฐ์ ์ค์ ํ ๋ ํน์ ID๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค.
์์ @adanot ๋ต๋ณ์ ์ฐธ์กฐํ์ญ์์ค.
๊ทธ๋ฌ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ ์ฌ์ฉ์ ์ ์ ์ธ๊ทธ๋จผํธ๋ฅผ ๊ตฌ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ฌ๋ก์๋ ๋ค์ ์ธ๋ชจ๊ฐ ์์ต๋๋ค. ์, ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ๋ณด๋ผ ์๋ ์์ง๋ง ์ค์ ๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
@Averin
ํ๋ ID๋ก๋ ์๋ํ์ต๋๋ค. ์ค๋ฅ ๋ฉ์์ง๋ ์์ง๋ง ์ฐ๋ฝ์ฒ๊ฐ ์ ์ฅ๋์ง ์์ต๋๋ค.
@soramister ๋๋ ๋๋ฝ๋ ์ธ๊ทธ๋จผํธ์ ์ผ๋ถ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ๋์ Mailerlite๋ก ์ ํํ๋ ๊ฒ์ ๊ณ ๋ คํ๊ธฐ ๋๋ฌธ์ ์์ง ์๋ํ์ง ์์์ต๋๋ค.
์ด์จ๋ ์ง์์ ๋ฐ๋ฅด๋ฉด GET https://api.sendgrid.com/v3/marketing/field_definitions
ํธ์ถ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ป์ ์ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๊ฐ์ ์ถ๊ฐ/์
๋ฐ์ดํธํ๋ ค๋ ์ฌ์ฉ์ ์ ์ ํ๋์ ID๋ฅผ ๊ฐ์ ธ์์ ํธ์ถ์ ์ฌ์ฉํ์ฌ PUT https://api.sendgrid.com/v3/marketing/contacts
์ฐ๋ฝ์ฒ๋ฅผ ์ถ๊ฐ/์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
๋ค์์ ํ์ด๋ก๋ ์ง์์ด ์ ๊ณตํ ์์์
๋๋ค. custom_fields
ํ๋์ ํค๋ ํน์ ID์
๋๋ค.
{
"contacts": [
{
"email": "[email protected]",
"address_line_1": "123 main st",
"custom_fields":
{
"e6_T": "5555555555",
"e5_T": "Acme Group"
}
}]
}
๋๋ ํ๋ ID๋ก ์๋ํ์ต๋๋ค. ๋ช ๋ น์ด ์ฑ๊ณตํ๋ ๋์(์ค๋ฅ๊ฐ ๋ฐํ๋์ง ์์) ์ฐ๋ฝ์ฒ๊ฐ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
@์๋ผ๋ฏธ์คํฐ
๋์๊ฒ๋ ๊ด์ฐฎ์ ๋ณด์ธ๋ค.
๋ด ๋ชจ๋ ์ฌ์ฉ์์ ๋ํ ์ฌ์ฉ์ ์ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ ๋ฌํ ์ ์์์ต๋๋ค.
@soramister ๋ Sendgrid๊ฐ ๊ทธ๊ฒ์ ๋ณด๊ธฐ๊น์ง 1๋ถ ์ ๋ ๊ฑธ๋ฆฝ๋๋ค.
์๋ํ๊ฒ ํ๋ ค๋ฉด ์ฌ์ฉ์ ์ ์ ํ๋ ID๋ ๋ฌด์์ด์ด์ผ ํฉ๋๊น? @AAverin , ์์ ํ์ด๋ก๋๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
๋๋ ํ๋ ID๋ก ์๋ํ์ต๋๋ค. ๋ช ๋ น์ด ์ฑ๊ณตํ๋ ๋์(์ค๋ฅ๊ฐ ๋ฐํ๋์ง ์์) ์ฐ๋ฝ์ฒ๊ฐ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
์ ์๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์๋ต์์ ์์ ID๋ฅผ ์ป์์ง๋ง ๋ฐ์ดํฐ๊ฐ sendgrid์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฐ๋ผ์ ์๋ก์ด ์ฐ๋ฝ์ฒ API๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ ์ ํ๋๋ ํ์คํ ์๋ํ์ง ์์ต๋๋ค. ๋๋ ์ฌ์ฉ์ ์ ์ ํ๋ ID๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ์ต๋๋ค. ID๊ฐ ์์ผ๋ฉด ID์ ํจ๊ป "์๋ชป๋ ์ฌ์ฉ์ ์ ์ ํ๋ ID๊ฐ ์ ๊ณต๋จ" ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค./์ฑ๊ณตํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์ต๋๋ค.
{
"list_ids": [
"4fb6cca6-06dc-4aa2-b7cb-851a4e3be37e"
],
"contacts": [
{
"email": "[email protected]",
"first_name": "Test",
"custom_fields": {
"e1_N": "100000",
"e2_N": "100000"
}
}
]
}
sendgrid์ ์์ฑ๋ ์ฐ๋ฝ์ฒ๋ฅผ ๋ณด๋ ค๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์ฐ๋ฝ์ฒ๊ฐ ์์ฑ๋์์ต๋๊น?
๊ทธ๋๋ ๊ฐ์ฒด๊ฐ ์ข์ ๋ณด์
๋๋ค.
sendgrid์ ์์ฑ๋ ์ฐ๋ฝ์ฒ๋ฅผ ๋ณด๋ ค๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์ฐ๋ฝ์ฒ๊ฐ ์์ฑ๋์์ต๋๊น?
๊ทธ๋๋ ๊ฐ์ฒด๊ฐ ์ข์ ๋ณด์ ๋๋ค.
์ ๋ง ์ด์ํฉ๋๋ค. ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ์๋ง ์ฐ๋ฝ์ฒ๊ฐ ์์ฑ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ด๋๋ก ๊ฐ์ผํ ์ง ์กฐ๊ธ ํค๋งค๋ค
@Lucania001 ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค! Sendgrid์ API๊ฐ ์ ๋ง ์ธ์์ ์ด์์ต๋๋ค. ๋งค์ฐ ๋ถ์์ง๊ธฐ ์ฝ๊ณ ๋ถํฌ๋ช ํฉ๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง์ ๋ํ ํต์ฐฐ๋ ฅ์ด ๊ฑฐ์ ์๊ณ ๋์ ๊ณผ ๊ทธ ๋์์ ์ค๋ช ํ๋ ๋ฌธ์๋ ๊ฑฐ์ ์์ต๋๋ค.
ํ๋ ์ด๋ฆ์ด ์๋ ํ๋ ID๋ฅผ ์ฌ์ฉํด๋ ์ฐ๋ฝ์ฒ์ ๋ํ ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ ์ต๋ํ ๋นจ๋ฆฌ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ณ ๊ฐ์ด ๊ณ ๊ฐ๋ฉ๋๋ค.
์ฌ์ฉ์ ์ง์ ํ๋ ์์ด ํด๋น API์ SendGrid์ "์ฌ์ฉํด ๋ณด๊ธฐ" ์น์ ์ ์ฌ์ฉํ์ฌ ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ๋ด๊ฐ ์ป๋ ๊ฒ์ ์ด๊ฒ๋ฟ์ ๋๋ค.
{
"์ค๋ฅ": [
{
"๋ค": "",
"message": "์๋ชป๋ JSON"
}
]
}
์ฌ์ฉ์ ์ง์ ํ๋ ์์ด ํด๋น API์ SendGrid์ "์ฌ์ฉํด ๋ณด๊ธฐ" ์น์ ์ ์ฌ์ฉํ์ฌ ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ๋ด๊ฐ ์ป๋ ๊ฒ์ ์ด๊ฒ๋ฟ์ ๋๋ค.
{
"์ค๋ฅ": [
{
"๋ค": "",
"message": "์๋ชป๋ JSON"
}
]
}
๋ค, ์ค์ ๋ก ์ฌ์ฉํด ๋ณด๋ฉด ์ ํ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ์ฐํธ ๋ฐฐ๋ฌ๋ถ๋ฅผ ํตํด ์๋ํ์ญ์์ค. ๋น์ ์ ์๋ง ์ฐ๋ฆฌ์ ๋๋จธ์ง ๋ถ๋ถ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ฒ ๋ ๊ฒ์ ๋๋ค.
์๋ ํ์ธ์,
์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ๋ค์ ๋ฐฉ๋ฌธํ์ต๋๋ค. ๊ทธ๋ ์ง ์๋ค. ๋ฌธ์ ๋ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค.
์ปฌ ์์ฒญ์ผ๋ก ์๋ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
curl --request PUT --url https://api.sendgrid.com/v3/marketing/contacts --header '์น์ธ: ๋ฒ ์ด๋ฌ {{API_KEY}}}' --header "์ฝํ ์ธ ์ ํ: ์ ํ๋ฆฌ์ผ์ด์ /json" - -๋ฐ์ดํฐ '{"list_ids":["f85956da-5696-4d8b-826d-84ac6e27cb2f"],"์ฐ๋ฝ์ฒ":[{"address_line_1":null,"๋์":null,"๊ตญ๊ฐ":"์๊ตญ","์ด๋ฉ์ผ ":" [email protected] ","first_name":"ํ ์คํธ","last_name":"TEST","postal_code":null,"state_province_region":null,"custom_fields":{"e4_T":"EN" ,"e2_D":null,"e1_T":"์ฌ์ฉ์ ์ ์ ํ๋","e3_T":" http://google.com/ "}}]}'
custom_fields ๊ฐ์ ์ ๊ฑฐํ๋ฉด ์๋ํฉ๋๋ค. ์ฐ๋ฝ์ฒ๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ค์ ์ถ๊ฐํ๋ฉด ์ฐ๋ฝ์ฒ๊ฐ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ค๋ฅ๊ฐ ์๋ ์์
ID๋ฅผ ๋ฐํํฉ๋๋ค.
์ด๋ป๊ฒ ํด์ผ ํ๋์ง ์๋ ค์ฃผ์ธ์.
SendGrid์ ๋๊ตฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ด ์ค๋ ๋๋ github์ ๊ด์ฌ์ ๊ธฐ์ธ์ด์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋น์ ์ด ํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์น์ฌ์ดํธ์์ ์ง์์ ์ํด ์ง์ ์์ฑํ๋ ๊ฒ์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ค์ ๋์์ ์ค๋๋ค.
๋๋ฅผ ์ํ ํด๊ฒฐ์ฑ
์ SendGrid์์ ๋ค๋ฅธ ์๋น์ค๋ก ์ ํํ๋ ๊ฒ์ด์๊ณ ์ด๋ฏธ ๋ชจ๋ ๊ฒ์ด ๊ฑฐ๊ธฐ์์ ์คํ๋๊ณ ์์ง๋ง SendGrid์๋ ์ฌ์ ํ ์ฐ๋ฝ์ฒ๋ฅผ ๋ง๋๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์์ฝํ์๋ฉด AAverin์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. custom_field์ ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ๋ ค๋ฉด ID๊ฐ ๋น์ ์ด ๋ถ์ฌํ ์ด๋ฆ์ด ์๋๋ผ๋ ๊ฒ์ ์๊ณ , sendgrid๋ GET https://api.sendgrid.com/v3/marketing/field_definitions ๋ฅผ ํตํด ๊ฒ์ํ ์ ์๋ ์์ฒด ID๋ฅผ ์ ์ฉํฉ๋๋ค.
์์ฝํ์๋ฉด AAverin์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. custom_field์ ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ๋ ค๋ฉด ID๊ฐ ๋น์ ์ด ๋ถ์ฌํ ์ด๋ฆ์ด ์๋๋ผ๋ ๊ฒ์ ์๊ณ , sendgrid๋ GET https://api.sendgrid.com/v3/marketing/field_definitions ๋ฅผ ํตํด ๊ฒ์ํ ์ ์๋ ์์ฒด ID๋ฅผ ์ ์ฉํฉ๋๋ค.
์์ ๊ฐ์ด ์์ด๋์ sendgrid๋ฅผ ์ฌ์ฉํด๋ ์ ์ฉ์ด ์๋๋๋ฐ
๋ค์์ ์ฌ์ฉ์ ์ ์ ํ๋๊ฐ ์๋ ์ฌ๋ฌ ์ฐ๋ฝ์ฒ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ปฌ์ ์์ ๋๋ค.
curl -X PUT https://api.sendgrid.com/v3/marketing/contacts -H "์ฝํ ์ธ ์ ํ: application/json" -H '๊ถํ: Bearer API_KEY' --data '{ "์ฐ๋ฝ์ฒ": [{ " ์ด๋ฉ์ผ": " [email protected] ", "custom_fields": {"e2_N":1 }},{ "email": " [email protected] ", "first_name": "Joe", "last_name": " ๋๋ฌ์ด", "custom_fields": {"e2_N":2 } }] }'
@soramister ๋น์ ์ ์ปฌ ์์ฒญ์ ๊ฐ์ง๊ณ ๋์์ต๋๋ค. custom_fields์ ๋ํด null ๊ฐ์ ํฌํจํ์ง ์์ผ๋ฉด ์์ฒญ์ด ์๋ํฉ๋๋ค. null ํญ๋ชฉ์ reserved_fields์์๋ ์ ๋๋ก ์๋ํ์ง๋ง custom_fields์์๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. null ๊ฐ์ด ํฌํจ๋ ํญ๋ชฉ์ด ํฌํจ๋์ง ์๋๋ก ์์ฒญ์ ๋์ ์ผ๋ก ์์ฑํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
@adanot ๊ฐ์ฌํฉ๋๋ค. ์ ์๊ฒ
์ ์ฐ๋ฝ์ฒ๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ์ ์ ์ ํ๋ ๊ฐ์ฒด์ ๋ํ ๋ฉํ ๋ฐ์ดํฐ๋ ๋ฌธ์์ ์์ด์ผ ํฉ๋๋ค. Btw, ๊ฐ์ฌํฉ๋๋ค @adanot ๋ฐ @AAverin
๋ํ ์ฌ์ฉ์ ์ง์ ๋ ์ง ํ๋์ ํ์๋ ๋ณ๊ฒฝํ์ต๋๋ค. ๊ธฐ์กด Marketing API์์๋ "10/12/2019"
์๊ณ ์ด์ ๋ ISO 8601 Zulu ์๊ฐ์ธ "2019-10-12T23:14:20Z"
์
๋๋ค.
๊ทธ๋ค์ UI๋ ์ฌ์ ํ ํผ๋์ค๋ฌ์ด ์ด์ ๋ ์ง ํ์์ ๋ณด์ฌ์ค๋๋ค. ์ข์ ์ ์ ์ฌ์ฉ์ ์ง์ ๋ ์ง ํ๋์ ์๊ฐ์ ์ฌ์ฉํ์ฌ ์ด์ ์ ๋ ์ง๋ฅผ ๋ฃ์ ์ ์์๋ ๊ฒ์ฒ๋ผ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ค๋ ์ด ๋ฌธ์ ๋ฅผ ์ ํ์ต๋๋ค. ์ฌ์ฉ์ ์ ์ ํ๋๊ฐ ํฌํจ๋ ์ฐ๋ฝ์ฒ๋ฅผ ์ถ๊ฐํ ๋ API๋ job_id
๋ฐํํ์ง๋ง ์ฐ๋ฝ์ฒ๋ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
๋์๊ฒ ๋ฌธ์ ๋ ๋ถ์ธ ๊ฐ์ 'ํ ์คํธ' ์ฌ์ฉ์ ์ ์ ํ๋์ ๋ณด๋ด๋ ๊ฒ์ด์์ต๋๋ค. ๋์ ํด๋น ๋ถ์ธ์ ๋ฌธ์์ด๋ก ๋ณด๋ด๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
Marketing API์ custom_fields๋ ์ ๋ง ์ ๋ชฝ์ด์์ต๋๋ค. ๋ฌธ์๋ ์ ์ฐ๋ฝ์ฒ๋ฅผ ๋ง์ผํ ๋ชฉ๋ก์ ๋ฃ์ ๋ custom_field ID๋ฅผ ๋ณด๋ด๋๋ก ์ง์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ "์๋ชป๋ custom_field ID" ๋ฉ์์ง๋ฅผ ๋ค์ ๋ณด๋ ๋๋ค. ๋ฌธ์์ ์ด๋์๋ ์ด์ํ "e1_T"์คํ์ผ์ custom_field ID๋ฅผ ๋ณด๋ด๋ ๊ฒ์ ๋ณธ ์ ์ด ์์ต๋๋ค. ๋ค๋ฅธ ๋๊ตฐ๊ฐ?
ํ์ง๋ง... PUT ์์ฒญ์ ๋ณด๋ด๊ณ custom_fields ๋์ ์์ GET ์์ฒญ์ ์ํํ ๋ ๋ฐํ๋๋ ID ๋์ "e1_T" ์คํ์ผ์ custom_field ID๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ฐ๋ฝ์ฒ๋ฅผ ์ถ๊ฐํ๋ ๋ฐ ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
์ดํด๊ฐ ์๊ฐ๋ค์.
๊ทธ๊ฒ์ ๊นจ์ง๊ธฐ ์ฝ๊ณ ์ข ์ข ์ง๊ด์ ์ด์ง ์์ต๋๋ค. Sendgrid ๋ฌธ์๋ "์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ญ์ ํ๋ ค๋ฉด ๋ฐํ๋ id ๊ฐ์ ์ ์ฅํด์ผ ํฉ๋๋ค."๋ผ๊ณ ๋งํฉ๋๋ค. ์ ๊ฒฝ์ฐ์๋ ๋ฐํ๋ id ๊ฐ์ด ์ด์ํ "e1_T" ์คํ์ผ์ด์๊ณ , ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋ํฉ๋๋ค. ๊ทธ๋ฅ ๊ณ ํต์ ๋๋ค. ์ ํ๋ ์ด๋ฆ์ ์ฌ์ฉํ๋๋ก ์ค์ ํ์ง ์์๋์ง ์ ์ ์์ต๋๋ค.
Bellow๋ ์ฌ์ฉ์ ์ ์ ํ๋์ ๋ํ ID๋ฅผ ๊ฐ์ ธ์ค๋ API์
๋๋ค.
๊ทธ๋ฌ๋ send grid api๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฒญ๋น ํ๋์ ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ถ๊ฐ/์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
ํ์ด๋ก๋์์ ์ง์ ์ฌ์ฉ์ ์ ์ ํ๋ ์ด๋ฆ์ ์ ๋ฌํ๋ ๋์ ์ฌ์ฉ์ ์ ์ ํ๋๋ฅผ ์ถ๊ฐ/์
๋ฐ์ดํธํ์ง ์์ต๋๋ค.
์ฌ์ ํ ๋ต์ ์ฐพ๋ ์ฌ๋๋ค์ ์ํด ์๋ ํ์ด๋ก๋ ์์:
contacts: [
{
email: "[email protected]",
first_name: "test",
last_name: "test",
custom_fields: {
e7_T: "TRUE"
}
}
]
๋ฐ๋ผ์ custom_fields๋ ๊ฐ์ฒด์
๋๋ค. ์ฌ๊ธฐ์ key๋ ์ฌ์ฉ์ ์ ์ ํ๋ ID์
๋๋ค. ์ ๊ฒฝ์ฐ์๋ e7_T
์
๋๋ค.
์ ๋ง ๋์ API ๋์์ธ, imo
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํ์ฌ API๊ฐ ์ด๋ฆ์ด ์๋ field_id๋ฅผ ์์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
https://mc.sendgrid.com/custom-fields ํ์ด์ง๋ฅผ ๋ก๋ํ ๋ SendGrid ๋ด๋ถ์ ๋คํธ์ํฌ ํธ๋ํฝ์ ๊ฒ์ฌํ๋ฉด field_ids์ ์ด๋ฆ์ ๋ฐํํ๋ /field_definitions์ ๋ํ ์๋ต์ ๋ณผ ์ ์์ต๋๋ค.
SendGrid๋ ์ด id ๊ฐ์ ํ๋ฐํธ ์๋์ ํ์ํ๊ฑฐ๋ ์์ฒญ์ ์ด๋ฆ์ ์๋ฝํ๋๋ก API๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.