apptimist
apptimist

Reputation: 83

How to send Push Notification to some specific users using Pushwoosh Web API in C#?

I want to broadcast the Push notification to some of the subscribers using the Pushwoosh Web API.

I have been using the code given in their website here

But it is sending to all the registered users. How can I send the notification to some specific users only?

Here is the JSON making code:

string pwAuth = "YOUR_AUTH_TOKEN";
       string pwApplication = "PW_APPLICATION_CODE";
       JObject json = new JObject(
           new JProperty("application", pwApplication),
           new JProperty("auth", pwAuth),
           new JProperty("notifications",
               new JArray(
                   new JObject(
                       new JProperty("send_date", "now"),
                       new JProperty("content", "test"),
                       new JProperty("wp_type", "Toast"),
                       new JProperty("wp_count", 3),
                       new JProperty("data",
                           new JObject(
                               new JProperty("custom", "json data"))),
                       new JProperty("link", "http://pushwoosh.com/"),
                       new JProperty("conditions",
                           new JArray(
                               (object)new JArray("Color", "EQ", "black")))))));
       PWCall("createMessage", json);

Thanks

Upvotes: 4

Views: 3254

Answers (1)

Lakshay Dulani
Lakshay Dulani

Reputation: 1775

You need to add the property "devices" in the JSON with the device tokens of the different devices you intend to send the notification.

Like this:

 string[] arr = new string[1];
 arr[0] = "9d48ac049ca6f294ea25ae25f3472b0e7e160ba06729397f9985785477560b3a";

 JObject json = new JObject(
           new JProperty("application", pwApplication),
           new JProperty("auth", pwAuth),
           new JProperty("notifications",
               new JArray(
                   new JObject(
                       new JProperty("send_date", "now"),
                       new JProperty("content", new JObject(new JProperty("en", pushContentEnglish), new JProperty("es", pushContentSpanish))),               
                       new JProperty("data", new JObject(new JProperty("custom", new JObject(new JProperty("t", notificationType), new JProperty("i", objectId))))),
                       new JProperty("devices", new JArray(arr))
                       ))));

Here I have set the "devices" property to the string array of device tokens to which I intent to send the notification.

PS - Be careful about the array you feed to the Devices property, because once I set its value to a comma separated string instead of array, and Pushwoosh broadcast-ed this notification to all users instead of throwing error!

Upvotes: 5

Related Questions