summaryrefslogtreecommitdiffstats
path: root/examples/trackingsettings/trackingsettings.cs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/trackingsettings/trackingsettings.cs')
-rw-r--r--examples/trackingsettings/trackingsettings.cs123
1 files changed, 123 insertions, 0 deletions
diff --git a/examples/trackingsettings/trackingsettings.cs b/examples/trackingsettings/trackingsettings.cs
new file mode 100644
index 0000000..cba044d
--- /dev/null
+++ b/examples/trackingsettings/trackingsettings.cs
@@ -0,0 +1,123 @@
+using System;
+using SendGrid.Helpers.Mail;
+using System.Collections.Generic;
+
+string _apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY", EnvironmentVariableTarget.User);
+dynamic sg = new SendGrid.SendGridAPIClient(_apiKey);
+
+////////////////////////////////////////////////////////
+// Retrieve Tracking Settings
+// GET /tracking_settings
+
+string queryParams = @"{
+ 'limit': 1,
+ 'offset': 1
+}";
+dynamic response = sg.client.tracking_settings.get(queryParams: queryParams);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Update Click Tracking Settings
+// PATCH /tracking_settings/click
+
+string data = @"{
+ 'enabled': true
+}";
+dynamic response = sg.client.tracking_settings.click.patch(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Retrieve Click Track Settings
+// GET /tracking_settings/click
+
+dynamic response = sg.client.tracking_settings.click.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Update Google Analytics Settings
+// PATCH /tracking_settings/google_analytics
+
+string data = @"{
+ 'enabled': true,
+ 'utm_campaign': 'website',
+ 'utm_content': '',
+ 'utm_medium': 'email',
+ 'utm_source': 'sendgrid.com',
+ 'utm_term': ''
+}";
+dynamic response = sg.client.tracking_settings.google_analytics.patch(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Retrieve Google Analytics Settings
+// GET /tracking_settings/google_analytics
+
+dynamic response = sg.client.tracking_settings.google_analytics.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Update Open Tracking Settings
+// PATCH /tracking_settings/open
+
+string data = @"{
+ 'enabled': true
+}";
+dynamic response = sg.client.tracking_settings.open.patch(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Get Open Tracking Settings
+// GET /tracking_settings/open
+
+dynamic response = sg.client.tracking_settings.open.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Update Subscription Tracking Settings
+// PATCH /tracking_settings/subscription
+
+string data = @"{
+ 'enabled': true,
+ 'html_content': 'html content',
+ 'landing': 'landing page html',
+ 'plain_content': 'text content',
+ 'replace': 'replacement tag',
+ 'url': 'url'
+}";
+dynamic response = sg.client.tracking_settings.subscription.patch(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Retrieve Subscription Tracking Settings
+// GET /tracking_settings/subscription
+
+dynamic response = sg.client.tracking_settings.subscription.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+