//C# Code Sample
private void UserRegister()
{
    userInfo.ApplicationId = "9a680ce6-a627-4b93-8a86-d4d27495705a";
    userInfo.NameSurname = "Name and surname of user";
    userInfo.Phone = "+905555555555";
    userInfo.Email = "abc@xyz.com";
    userInfo.WebAuth = "1";
    userInfo.Password = "abcxyz";
    userInfo.DeviceID = "123456";
    userInfo.DeviceToken = "65665665464564165513213";
    userInfo.DeviceType = "IPHONE";  // WEB, IPHONE, Android, SMS, EMAIL, WEB (Safari,MacOS)
    userInfo.IpAddress = "78.125.89.45";
    userInfo.Country = "Turkey";
    userInfo.ExternalUserID = "external ID of user";
    userInfo.AuthEmail = "1";
    userInfo.AuthPush = "1";
    userInfo.AuthSms = "1";

    clientObject co = new clientObject();
    co.userinfo = userInfo;

    JavaScriptSerializer jss = new JavaScriptSerializer();
    string postData = jss.Serialize(co);

    var request = HttpWebRequest.Create("https://buffer.blipnow.com/BufferService.svc/UserRegister");
    var byteData = Encoding.ASCII.GetBytes(postData);
    request.ContentType = "application/json";
    request.Method = "POST";

    using (var stream = request.GetRequestStream())
    {
        stream.Write(byteData, 0, byteData.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();

}

private void DeviceRegister()
{
    userInfo.ApplicationId = "9a680ce6-a627-4b93-8a86-d4d27495705a";
    userInfo.Phone = "+905555555555";
    userInfo.Email = "abc@xyz.com";
    userInfo.DeviceID = "123456";
    userInfo.DeviceToken = "65665665464564165513213";
    userInfo.IpAddress = "78.125.89.45";
    userInfo.Country = "Turkey";
    userInfo.ExternalUserID = "external ID of user";

    clientObject co = new clientObject();
    co.userinfo = userInfo;

    JavaScriptSerializer jss = new JavaScriptSerializer();
    string postData = jss.Serialize(co);

    var request = HttpWebRequest.Create("https://buffer.blipnow.com/BufferService.svc/DeviceRegister");
    var byteData = Encoding.ASCII.GetBytes(postData);
    request.ContentType = "application/json";
    request.Method = "POST";

    using (var stream = request.GetRequestStream())
    {
        stream.Write(byteData, 0, byteData.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}

private void SendNotification()
{
    // Notification #1
    
    List<BlipNowService.Device> deviceNotification = new List<BlipNowService.Device>();
    deviceNotification.Add(new BlipNowService.Device() { DeviceID = "123456" });
    deviceNotification.Add(new BlipNowService.Device() { Email = "abc@xyz.com" });
    deviceNotification.Add(new BlipNowService.Device() { UserID = "ID of user" });

    pushNotification.ApplicationId = "9a680ce6-a627-4b93-8a86-d4d27495705a"; 
    pushNotification.Devices = deviceNotification; 
    pushNotification.Message = "Notification Title 1"; 
    pushNotification.MessageTitle = "Notification Body 1"; 
    pushNotification.MessageType = "Text";

    pushNotifications.Add(pushNotification);

    // Notification #2
    pushNotification = new BlipNowService.PushNotification();

    deviceNotification = new List<BlipNowService.Device>();
    deviceNotification.Add(new BlipNowService.Device() { ExternalUserID = "external ID of user" });

    pushNotification.ApplicationId = "9a680ce6-a627-4b93-8a86-d4d27495705a";
    pushNotification.Devices = deviceNotification;
    pushNotification.Message = "Notification Title 2";
    pushNotification.MessageTitle = "Notification Body 2";
    pushNotification.MessageType = BlipNowService.MessageType.Text;

    pushNotifications.Add(pushNotification);

    clientObject co = new clientObject();
    co.pushNotifications = pushNotifications;

    JavaScriptSerializer jss = new JavaScriptSerializer();
    string postData = jss.Serialize(co);

    var request = HttpWebRequest.Create("https://buffer.blipnow.com/BufferService.svc/SendNotification");
    var byteData = Encoding.ASCII.GetBytes(postData);
    request.ContentType = "application/json";
    request.Method = "POST";

    using (var stream = request.GetRequestStream())
    {
        stream.Write(byteData, 0, byteData.Length);
    }
    var response = (HttpWebResponse)request.GetResponse();
    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}