summaryrefslogtreecommitdiffstats
path: root/examples/asm/asm.cs
diff options
context:
space:
mode:
authorElmer Thomas <elmer@thinkingserious.com>2016-06-01 10:50:02 -0700
committerElmer Thomas <elmer@thinkingserious.com>2016-06-01 10:50:02 -0700
commit4cde4e7ee0329c179fa8745655a602521f1c2dd8 (patch)
treeb1cf20f427ef68c644f6c0cd724b72440d53728d /examples/asm/asm.cs
parent5e5c58f4245647611eb33e03d26d032b7ec2b26e (diff)
downloadsendgrid-csharp-4cde4e7ee0329c179fa8745655a602521f1c2dd8.zip
sendgrid-csharp-4cde4e7ee0329c179fa8745655a602521f1c2dd8.tar.gz
sendgrid-csharp-4cde4e7ee0329c179fa8745655a602521f1c2dd8.tar.bz2
Added examples for v3 Web API endpoints
Diffstat (limited to 'examples/asm/asm.cs')
-rw-r--r--examples/asm/asm.cs138
1 files changed, 138 insertions, 0 deletions
diff --git a/examples/asm/asm.cs b/examples/asm/asm.cs
new file mode 100644
index 0000000..b63ee7b
--- /dev/null
+++ b/examples/asm/asm.cs
@@ -0,0 +1,138 @@
+using System;
+using SendGrid.Helpers.Mail;
+using System.Collections.Generic;
+using System.Net;
+
+string _apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY", EnvironmentVariableTarget.User);
+dynamic sg = new SendGrid.SendGridAPIClient(_apiKey);
+
+##################################################
+# Create a Group #
+# POST /asm/groups #
+
+string data = @"{
+ 'description': 'A group description',
+ 'is_default': false,
+ 'name': 'A group name'
+}";
+dynamic response = sg.client.asm.groups.post(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# Retrieve all suppression groups associated with the user. #
+# GET /asm/groups #
+
+dynamic response = sg.client.asm.groups.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+
+##################################################
+# 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.ResponseBody.ReadAsStringAsync().Result);
+Console.WriteLine(response.ResponseHeaders.ToString());
+