2016-08-04 12 views
2

Ich habe Templates in Sparkpost Dashboard erstellt. Aber das Problem, dem ich gegenüberstehe, ist, dass ich "CC" oder "BCC" nicht senden kann, indem ich die API-Anrufe mache. Der Codeausschnitt unten hilft Ihnen zu verstehen, was ich versuche zu tun.Senden von "CC" und "BCC" in Substitutionsdaten beim Aufruf von Knoten sparkpost API

var SPARKPOST_KEY = "KEY" 
 
var sparkpost = require('sparkpost'); 
 
var sparkclient = new sparkpost(SPARKPOST_KEY); 
 

 
var req_opts = { 
 
\t transmissionBody : { 
 
\t \t content: { 
 
\t \t \t template_id: 'order-confirmation', 
 
\t \t \t from: '[email protected]', 
 
     \t \t subject: 'Order confirmation', 
 
     \t \t headers: { 
 
     \t \t \t "CC": "<[email protected]>" 
 
     \t \t } 
 
\t \t }, 
 
\t \t substitution_data: { 
 
\t \t \t "CC": "[email protected]", 
 
\t \t \t "customer": "Aravind", 
 
\t \t \t "order": 123532 
 
\t \t }, 
 
\t \t recipients: [ 
 
     \t \t {address: {email:'[email protected]'}}, 
 
     \t \t {address: {email: '[email protected]'}} 
 
    \t ], 
 
    \t "return_path": "[email protected]", 
 
\t } 
 
}; 
 

 
sparkclient.transmissions.send(req_opts, function(err, res){ 
 
\t if(err){ 
 
\t \t console.log("ERROR"); 
 
\t \t console.log(err) 
 
\t }else { 
 
\t \t console.log(res.body); 
 
\t \t console.log("Mail has been successfully sent"); 
 
\t } 
 
});

Antwort

1

Wie auf Ihrer github issue in der Antwort erwähnt, müssen Sie entweder Inline-Inhalt oder eine Vorlage verwenden. So wie die documentation sagt, verwenden Sie einfach template_id in Ihrem content.

Was dazu geschehen muss, ist, dass die headers in der Vorlage einen CC Header enthält, wie beschrieben here. Momentan gibt es keine Möglichkeit, die Header einer Vorlage in der Benutzeroberfläche festzulegen - dies muss über die API erfolgen.

Um dies zu tun eine PUT gegen die templates endpoint, in Ihrem Fall mit folgenden https://api.sparkpost.com/api/v1/templates/order-confirmation mit einer JSON Nutzlast ausführen:

{ 
    "content": { 
    <other content parts> 
    "headers": { 
     "CC": "{{CC}}" 
    } 
    } 
} 

Beachten Sie, dass Sie auch an die header_to Parameter für Ihren CC-Empfänger verwenden, müssen verhindern, dass ihre Adresse im Header To: angezeigt wird. In Ihrem Beispiel bedeutet dies, ersetzt:

{address: {email: '[email protected]'}} 

mit diesem:

{address: {email: '[email protected]', header_to: '[email protected]'}} 

Sie auch die return_path Parameter nicht brauchen.

Hoffe, das hilft!

+0

Scheint nicht mit Vorlagen zu arbeiten. Es ist ein Fehler: '{ " Fehler ": [ { " Nachricht ":" Pflichtfeld fehlt ", " Beschreibung ":" Mindestens eines von 'Text' oder 'HTML' muss in 'Inhalt vorhanden sein '", " code ":" 1400 " } ] }' –

+0

Ihre Vorlage muss einen 'text' oder' html' Teil in 'content' enthalten. – orval

+0

Warum brauche ich, wenn es nicht nötig ist? –

Verwandte Themen