summaryrefslogtreecommitdiffstats
path: root/examples/mail/mail.js
diff options
context:
space:
mode:
authorElmer Thomas <elmer@thinkingserious.com>2016-05-31 12:48:39 -0700
committerElmer Thomas <elmer@thinkingserious.com>2016-05-31 12:48:39 -0700
commit6f96cba57fab22a3a5e5885c0d410d748daa4fcd (patch)
tree3d0ab626a5c407ed8769a6d35d6fad5a977c065f /examples/mail/mail.js
parenta8badcf2e798c4087d453b132f908cf1309f90ff (diff)
downloadsendgrid-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.js187
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)
+})
+