diff options
Diffstat (limited to 'examples/asm/asm.cs')
-rw-r--r-- | examples/asm/asm.cs | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/examples/asm/asm.cs b/examples/asm/asm.cs new file mode 100644 index 0000000..4f5bde7 --- /dev/null +++ b/examples/asm/asm.cs @@ -0,0 +1,172 @@ +using System; +using SendGrid.Helpers.Mail; +using System.Collections.Generic; + +string _apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY", EnvironmentVariableTarget.User); +dynamic sg = new SendGrid.SendGridAPIClient(_apiKey); + +//////////////////////////////////////////////////////// +// Create a new suppression group +// POST /asm/groups + +string data = @"{ + 'description': 'Suggestions for products our users might like.', + 'is_default': true, + 'name': 'Product Suggestions' +}"; +dynamic response = sg.client.asm.groups.post(requestBody: data); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Retrieve information about multiple suppression groups +// GET /asm/groups + +string queryParams = @"{ + 'id': 1 +}"; +dynamic response = sg.client.asm.groups.get(queryParams: queryParams); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Update a suppression group. +// PATCH /asm/groups/{group_id} + +string data = @"{ + 'description': 'Suggestions for items our users might like.', + 'id': 103, + 'name': 'Item Suggestions' +}"; +var group_id = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).patch(requestBody: data); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Get information on a single suppression group. +// GET /asm/groups/{group_id} + +var group_id = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).get(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Delete a suppression group. +// DELETE /asm/groups/{group_id} + +var group_id = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).delete(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Add suppressions to a suppression group +// POST /asm/groups/{group_id}/suppressions + +string data = @"{ + 'recipient_emails': [ + 'test1@example.com', + 'test2@example.com' + ] +}"; +var group_id = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).suppressions.post(requestBody: data); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Retrieve all suppressions for a suppression group +// GET /asm/groups/{group_id}/suppressions + +var group_id = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).suppressions.get(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Delete a suppression from a suppression group +// DELETE /asm/groups/{group_id}/suppressions/{email} + +var group_id = "test_url_param"; +var email = "test_url_param"; +dynamic response = sg.client.asm.groups._(group_id).suppressions._(email).delete(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Retrieve all suppressions +// GET /asm/suppressions + +dynamic response = sg.client.asm.suppressions.get(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Add recipient addresses to the global suppression group. +// POST /asm/suppressions/global + +string data = @"{ + 'recipient_emails': [ + 'test1@example.com', + 'test2@example.com' + ] +}"; +dynamic response = sg.client.asm.suppressions.global.post(requestBody: data); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Retrieve a Global Suppression +// GET /asm/suppressions/global/{email} + +var email = "test_url_param"; +dynamic response = sg.client.asm.suppressions.global._(email).get(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Delete a Global Suppression +// DELETE /asm/suppressions/global/{email} + +var email = "test_url_param"; +dynamic response = sg.client.asm.suppressions.global._(email).delete(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + +//////////////////////////////////////////////////////// +// Retrieve all suppression groups for an email address +// GET /asm/suppressions/{email} + +var email = "test_url_param"; +dynamic response = sg.client.asm.suppressions._(email).get(); +Console.WriteLine(response.StatusCode); +Console.WriteLine(response.Body.ReadAsStringAsync().Result); +Console.WriteLine(response.Headers.ToString()); +Console.ReadLine(); + |