рдореИрдВ рдЕрдкрдиреЗ рдиреЛрдб рдХреЗ рд╕рд╛рде appgrid рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЬреЗрдПрд╕ рдРрдкред рдореБрдЭреЗ рдореВрд▓ рдИрдореЗрд▓ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬреЛ рдореИрдВ рдИрдореЗрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдИрдореЗрд▓ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
var sg = require('sendgrid')('API-KEY');
var request = sg.emptyRequest();
request.body = {
"from": {
"email": "[email protected]",
"name": "Admin"
},
"personalizations" : [
{
"to": [
{
"email": recepientEmail,
"name": "User"
}
]
}
],
"subject": "This is subject",
"template_id": "template-id-here",
"substitution": {
"-sub1-": ["This is the new substitured text"],
"-sub2-": ["Substitured text"]
}
};
request.method = 'POST';
request.path = '/v3/mail/send';
sg.API(request, function(error, response) {
console.log(response.statusCode)
console.log(response.body)
console.log(response.headers)
});
рд╣рд╛рдп @ рдиреАрд░рдЬ ,
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпреЗ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗ: https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/transactional-templates.md
рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдореБрджреНрджреЗ рдкрд░ рднрд╛рдЧрддреЗ рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рдж!
рд╣рд╛рдп @ рдиреАрд░рдЬ ,
рдмрд╕, рдЖрдкрдХреА JSON рд╕рдВрд░рдЪрдирд╛ рд╕рддреНрдп рдирд╣реАрдВ рд╣реИред
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрдХреНрддрд┐рддреНрд╡ рд╕рд░рдгреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рд░рдгреА рдХрд╛ рдирд╛рдо (рдХреБрдВрдЬреА) рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИред
"substitutions": {
"-sub1-": "This is the new substitured text",
"-sub2-": "Substitured text"
}
@ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рдореИрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ рдмрд╣реБрд╡рдЪрди "s" рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП
@ рддреНрд╡рд░рд┐рдд
var request = sg.emptyRequest();
request.body = {
"from": {
"email": "[email protected]",
"name": "Admin"
},
"personalizations" : [
{
"to": [
{
"email": recepientEmail,
"name": userNameVariable
}
],
"substitution": {
"-sub1-": variableB,
"-sub2-": variableA
}
}
],
"subject": "This is subject",
"template_id": "template-id-here"
};
request.method = 'POST';
request.path = '/v3/mail/send';
sg.API(request, function(error, response) {
console.log(response.statusCode)
console.log(response.body)
console.log(response.headers)
});
рдпрд╣ рдореБрдЭреЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рд╣реИ
400
{рддреНрд░реБрдЯрд┐рдпрд╛рдВ: [{рд╕рдВрджреЗрд╢: 'рдЦрд░рд╛рдм рдЕрдиреБрд░реЛрдз', рдХреНрд╖реЗрддреНрд░: рдЕрд╢рдХреНрдд, рдорджрдж: рдЕрд╢рдХреНрдд}]}
{рд╕рд░реНрд╡рд░: 'рдирдЧрдиреЗрдХреНрд╕',
рджрд┐рдирд╛рдВрдХ: 'рддреВ, 01 рджрд┐рд╕рдВрдмрд░ 2016 07:08:51 GMT',
'рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░': 'рдЖрд╡реЗрджрди / json',
'рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ': '63',
рдХрдиреЗрдХреНрд╢рди: 'рдХреАрдк-рдЬрд┐рдВрджрд╛'}
рд╣рд╛рдп @ рдиреАрд░рдЬ ,
рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдЙрдирдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдХреБрдВрдЬреА рдмрджрд▓реЗрдВред
@alperenozlu рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореЗрдВ рд╕реЗ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдерд╛ред рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╣реИрд▓реЛ рджреЛрд╕реНрддреЛрдВ!
рдореИрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
@Deniscapp рдЖрдк рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
@ рдиреАрд░рдЬ87 рдЬреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛! рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЬреЛрдбрд╝рд╛ рд╣реИред
рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! :)
@Deniscapp рдЙрдлрд╝, рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдерд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ SendGrid рд╕реЗ рдХреЛрдИ "рдЖрдзрд┐рдХрд╛рд░рд┐рдХ" рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХреЗред
@Deniscapp , @ рдиреАрд░рдЬ87
рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рд╕реЗ:
"рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди_рдЯрд╛рдЧ" рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рдж рдХреБрдВрдЬреА / рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣: "рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп"ред рд╕рднреА рдХреЛ рддрд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╡рд┐рд╖рдп рдФрд░ рдЙрддреНрддрд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рдИрдореЗрд▓ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЗ рдкрд╛рда рдФрд░ HTML рд╕рд╛рдордЧреНрд░реА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдВрдЧреЗред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдПрд░реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдмрд╕ рдПрдХ рдЕрдкрдбреЗрдЯ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд url рдиреЗ @thinkings рд░рд╣рд╕реНрдпрдордп рджреНрд╡рд╛рд░рд╛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ: https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/transactional-temot.md
рдзрдиреНрдпрд╡рд╛рдж @vaskort!
рдореИрдВрдиреЗ рдЕрдкрдиреА рдореВрд▓ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд▓рд┐рдВрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдмрд╕ рдПрдХ рдЕрдкрдбреЗрдЯ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд url рдиреЗ @thinkings рд░рд╣рд╕реНрдпрдордп рджреНрд╡рд╛рд░рд╛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ: https://github.com/sendgrid/sendgrid-nodejs/blob/master/use-cases/transactional-temot.md