diff options
author | Elmer Thomas <elmer@thinkingserious.com> | 2016-05-31 12:48:39 -0700 |
---|---|---|
committer | Elmer Thomas <elmer@thinkingserious.com> | 2016-05-31 12:48:39 -0700 |
commit | 6f96cba57fab22a3a5e5885c0d410d748daa4fcd (patch) | |
tree | 3d0ab626a5c407ed8769a6d35d6fad5a977c065f /examples/mail/mail.js | |
parent | a8badcf2e798c4087d453b132f908cf1309f90ff (diff) | |
download | sendgrid-nodejs-6f96cba57fab22a3a5e5885c0d410d748daa4fcd.zip sendgrid-nodejs-6f96cba57fab22a3a5e5885c0d410d748daa4fcd.tar.gz sendgrid-nodejs-6f96cba57fab22a3a5e5885c0d410d748daa4fcd.tar.bz2 |
Add exmamples of all v3 web api calls
Diffstat (limited to 'examples/mail/mail.js')
-rw-r--r-- | examples/mail/mail.js | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/examples/mail/mail.js b/examples/mail/mail.js new file mode 100644 index 0000000..494c969 --- /dev/null +++ b/examples/mail/mail.js @@ -0,0 +1,187 @@ +var sg = require('../lib/sendgrid.js').SendGrid(process.env.SENDGRID_API_KEY) + +################################################## +# Create a batch ID # +# POST /mail/batch # + +var emptyRequest = require('sendgrid-rest').request +var request = JSON.parse(JSON.stringify(emptyRequest)) +request.method = 'POST' +request.path = '/v3/mail/batch' +sg.API(request, function (response) { + console.log(response.statusCode) + console.log(response.responseBody) + console.log(response.responseHeaders) +}) + +################################################## +# Validate batch ID # +# GET /mail/batch/{batch_id} # + +var emptyRequest = require('sendgrid-rest').request +var request = JSON.parse(JSON.stringify(emptyRequest)) +request.method = 'GET' +request.path = '/v3/mail/batch/{batch_id}' +sg.API(request, function (response) { + console.log(response.statusCode) + console.log(response.responseBody) + console.log(response.responseHeaders) +}) + +################################################## +# v3 Mail Send Beta # +# POST /mail/send/beta # + +var emptyRequest = require('sendgrid-rest').request +var request = JSON.parse(JSON.stringify(emptyRequest)) +request.requestBody = { + "asm": { + "group_id": 1, + "groups_to_display": [ + 1, + 2, + 3 + ] + }, + "attachments": [ + { + "content": "[BASE64 encoded content block here]", + "content_id": "ii_139db99fdb5c3704", + "disposition": "inline", + "filename": "file1.jpg", + "name": "file1", + "type": "jpg" + } + ], + "batch_id": "[YOUR BATCH ID GOES HERE]", + "categories": [ + "category1", + "category2" + ], + "content": [ + { + "type": "text/html", + "value": "<html><p>Hello, world!</p><img src=[CID GOES HERE]></img></html>" + } + ], + "custom_args": { + "New Argument 1": "New Value 1", + "activationAttempt": "1", + "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]" + }, + "from": { + "email": "sam.smith@example.com", + "name": "Sam Smith" + }, + "headers": {}, + "ip_pool_name": "[YOUR POOL NAME GOES HERE]", + "mail_settings": { + "bcc": { + "email": "ben.doe@example.com", + "enable": true + }, + "bypass_list_management": { + "enable": true + }, + "footer": { + "enable": true, + "html": "<p>Thanks</br>The SendGrid Team</p>", + "text": "Thanks,/n The SendGrid Team" + }, + "sandbox_mode": { + "enable": false + }, + "spam_check": { + "enable": true, + "post_to_url": "http://example.com/compliance", + "threshold": 3 + } + }, + "personalizations": [ + { + "bcc": [ + { + "email": "sam.doe@example.com", + "name": "Sam Doe" + } + ], + "cc": [ + { + "email": "jane.doe@example.com", + "name": "Jane Doe" + } + ], + "custom_args": { + "New Argument 1": "New Value 1", + "activationAttempt": "1", + "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]" + }, + "headers": { + "X-Accept-Language": "en", + "X-Mailer": "MyApp" + }, + "send_at": 1409348513, + "subject": "Hello, World!", + "substitutions": { + "sub": { + "%name%": [ + "John", + "Jane", + "Sam" + ] + } + }, + "to": [ + { + "email": "john.doe@example.com", + "name": "John Doe" + } + ] + } + ], + "reply_to": { + "email": "sam.smith@example.com", + "name": "Sam Smith" + }, + "sections": { + "section": { + ":sectionName1": "section 1 text", + ":sectionName2": "section 2 text" + } + }, + "send_at": 1409348513, + "subject": "Hello, World!", + "template_id": "[YOUR TEMPLATE ID GOES HERE]", + "tracking_settings": { + "click_tracking": { + "enable": true, + "enable_text": true + }, + "ganalytics": { + "enable": true, + "utm_campaign": "[NAME OF YOUR REFERRER SOURCE]", + "utm_content": "[USE THIS SPACE TO DIFFERENTIATE YOUR EMAIL FROM ADS]", + "utm_medium": "[NAME OF YOUR MARKETING MEDIUM e.g. email]", + "utm_name": "[NAME OF YOUR CAMPAIGN]", + "utm_term": "[IDENTIFY PAID KEYWORDS HERE]" + }, + "open_tracking": { + "enable": true, + "substitution_tag": "%opentrack" + }, + "subscription_tracking": { + "enable": true, + "html": "If you would like to unsubscribe and stop receiving these emails <% clickhere %>.", + "substitution_tag": "<%click here%>", + "text": "If you would like to unsubscribe and stop receiveing these emails <% click here %>." + } + } +}; +request.method = 'POST' +request.path = '/v3/mail/send/beta' +sg.API(request, function (response) { + console.log(response.statusCode) + console.log(response.responseBody) + console.log(response.responseHeaders) +}) + |