Sunday, March 1, 2020

API Sample



GET:
var client = new RestClient("192.168.0.1");
var request = new RestRequest("api/item/", Method.GET);
var queryResult = client.Execute<List<Items>>(request).Data;
POST:
var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddBody(new Item
{
ItemName = someName,
Price = 19.99
});
client.Execute(request);
DELETE:
var item = new Item(){//body};
var client = new RestClient("http://192.168.0.1");
var request = new RestRequest("api/item/{id}", Method.DELETE);
request.AddParameter("id", idItem);

client.Execute(request)

API Get Method


private static void GetCourses(string token)
        {
            var client = new RestClient($"http://{PortalName}.myabsorb.com/api/Rest/v1/");
            var request = new RestRequest("Courses", Method.GET);
            request.AddHeader("Authorization", token);
            request.AddHeader("Content-Type", "application/json");

            var response = client.Execute(request);
            var content = response.Content;
            Console.WriteLine(content);
        }

private static void GetEnrollments(string token, string courseId)
        {
            var client = new RestClient($"http://{PortalName}.myabsorb.com/api/Rest/v1/");
            var request = new RestRequest($"courses/{courseId}/enrollments?status=0", Method.GET);
            request.AddHeader("Authorization", token);
            request.AddHeader("Content-Type", "application/json");
            var response = client.Execute(request);
            var content = response.Content;
            Console.WriteLine(content);
        }

API Post Sample



private static string GenerateToken()
        {
            var client = new RestClient($"http://{PortalName}.myabsorb.com/api/Rest/v1/");
            var request = new RestRequest("Authenticate", Method.POST);
            request.AddHeader("Content-Type", "application/json");

            var credentials = new
            {
                Username = "Username",
                Password = "Password",
                PrivateKey = "PrivateKey"
            };

            request.AddJsonBody(credentials);

            var response = client.Execute(request);
            var content = response.Content;

            //This removes outer quotes from the token
            var token = content.Trim('"');
            return token;
        }

=============================================================================
private static void UploadUser(string token)
        {
            var client = new RestClient($"http://{PortalName}.myabsorb.com/api/Rest/v1/");
            var request = new RestRequest($"users/upload", Method.POST);
            request.AddHeader("Authorization", token);
            request.AddHeader("Content-Type", "application/json");
            //users/upload expects a list of one or more users
            var user = new[]
            {
                new
                {
                    FirstName = "sample",
                    LastName = "user",
                    UserName = "Sample.User",
                    EmailAddress = "test@test.com",
                    DepartmentId = "7f81e30a-93d6-4f26-b285-92d6e48f0376"
                }
            }.ToList();

            request.AddJsonBody(user);

            var response = client.Execute(request);
            var content = response.Content;
            Console.WriteLine(content);
        }