Device API

post
https://cp.pushwoosh.com/json/1.3
/registerDevice
/registerDevice
Example
{
"request":{
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"push_token": "dec301908b9ba8df85e57a58e40f96f523f4c2068674f5fe2ba25cdc250a2a41", // optional
"hwid": "1CA68A12-8DAC-4BB7-BEE5-B756288B6D3C", // required, hardware device ID
"idfa" : "AEBE52E7-03EE-455A-B3C4-E57283966239", // optional
"timezone": 3600, // optional, offset in seconds
"device_type": 1, // required, see the possible values below
"language": "en", // optional, ISO 639-1|639-2 language code
"userId": "Alex", // optional
// system tags, optionals
"app_version": "1.2.3",
"device_model": "Samsung SM-G355H",
"jailbroken": "1", // 1 or 0
"os_version": "2.3",
// optional encryption keys for chrome/firefox
"public_key": "BNmDO4BTKEMJqaqprTf7t/HBUd2BQ/orc88cc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"auth_token": "RlRmCCdGM/s7ouuhjKFzoQ==",
//optional FCM keys for Chrome (for XMPP)
"fcm_token": "BNmDO4BTKEMJqaqprTf7t/HBUd2BQ/orc88cc/scS5CFP6zhQGIHI1/GgRQD8c4kTxTEEF0quvIUiLQqoBY0/Qo=",
"fcm_push_set": "RlRmCCdGM/s7ouuhjKFzoQ=="
}
}
Possible device types:
  • 1 – iOS
  • 3 – Android
  • 5 – Windows Phone
  • 7 – OS X
  • 8 – Windows 8
  • 9 – Amazon
  • 10 – Safari
  • 11 – Chrome
  • 12 – Firefox
For emails call /registerEmail.
Status codes:
HTTP Status code
status_code
Description
200
200
Device successfully registered
200
210
Argument error. See status_message for more info.
400
N/A
Malformed request string
500
500
Internal error
PHP
<?php
//see http://gomoob.github.io/php-pushwoosh/register-device.html
use Gomoob\Pushwoosh\Model\Request\RegisterDeviceRequest;
// creates request instance
$request = RegisterDeviceRequest::create()
->setDeviceType(DeviceType::1())
->setHwid('HWID')
->setLanguage('fr')
->setPushToken('xxxxxxxx')
->setTimezone(3600);
// call '/registerDevice' Web Service
$response = $pushwoosh->registerDevice($request);
if($response->isOk()) {
print 'Ok, operation successful.';
} else {
print 'Oups, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

post
https://cp.pushwoosh.com/json/1.3
/unregisterDevice
/unregisterDevice
Example
{
"request":{
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2" // required, hardware device ID used in /registerDevice function call
}
}
For emails call /deleteEmail.
Status codes:
HTTP Status code
status_code
Description
200
200
Device successfully unsubscribed
200
210
Argument error. See status_message for more info.
400
N/A
Malformed request string
500
500
Internal error
PHP
<?php
// see http://gomoob.github.io/php-pushwoosh/unregister-device.html
use Gomoob\Pushwoosh\Model\Request\UnregisterDeviceRequest;
// creates request instance
$request = UnregisterDeviceRequest::create()->setHwid('HWID');
// call '/unregisterDevice' Web Service
$response = $pushwoosh->unregisterDevice($request);
if($response->isOk()) {
print 'Ok, operation successful.';
} else {
print 'Oups, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

post
https://cp.pushwoosh.com/json/1.3
/setTags
/setTags
The method is called from the SDK. It is possible to call it remotely from your backend, however you need to maintain an up-to-date database of hwid’s on the backend side.
Example
{
"request":{
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // required, hardware device ID used in /registerDevice function call
"tags": { // required
"StringTag": "string value",
"IntegerTag": 42,
"ListTag": ["string1","string2"], // sets the list of values for Tags of List type
"DateTag": "2015-10-02 22:11", // note the time is in UTC
"BooleanTag": true, // valid values are - true, 1, false, 0, null
}
}
}

To extend the List Tag with new values, use the operation parameter with the "append" value as follows:
Example
{
"request": {
"hwid": "3d124a793575f189a5ca7dfd96e8aafd", // required, hardware device ID used in /registerDevice function call
"application": "61A79-C09B3", // required, Pushwoosh application code
"tags": { // required
"ListTag": {
"operation": "append", // appends following values to the Tag's list of values
"value": [ // values to append
"tag2",
"tag3"
]
}
}
}
}

To set tags for all devices associated to a particular User ID, use the "userId" parameter instead of "hwid".
Make sure the tag you're setting values for is user-specific.
Example
{
"request":{
"application": "AAAAA-BBBBB", // Pushwoosh app code
"userId": "some_user", // user ID you'd like to set tags for
"tags": { // tags and values to set
"Language": "es"
}
}
}
For emails call /setEmailTags.
Status codes:
HTTP Status code
status_code
Description
200
200
Tags have been successfully set
200
210
Argument error. See status_message for more info.
400
N/A
Malformed request string
500
500
Internal error
PHP
<?php
//see http://gomoob.github.io/php-pushwoosh/set-tags.html
use Gomoob\Pushwoosh\Model\Request\SetTagsRequest;
// Creates the request instance
$request = SetTagsRequest::create()
->setTags(
array(
'StringTag' => 'string value',
'IntegerTag' => 'integer value',
'ListTag' => ['string1', 'string2']
)
)
->setHwid('HWID');
// Call the '/setTags' Web Service
$response = $pushwoosh->setTags($request);
if($response->isOk()) {
print 'Ok, operation successful.';
} else {
print 'Oups, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

post
https://cp.pushwoosh.com/json/1.3
/setBadge
/setBadge
Example
{
"request":{
"application" : "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // required, hardware device ID used in /registerDevice function call
"badge": 4 // required, current badge on the application
}
}
Called from the SDK internally. Sends current badge value for a device to Pushwoosh. This happens internally when app changes badge value on iOS device. Allows auto-incrementing badges to work properly.
This method IS NOT used to update the badge value on the device. Instead please use /createMessage request with the "ios_badges" parameter.
PHP
<?php
//see http://gomoob.github.io/php-pushwoosh/set-badge.html
use Gomoob\Pushwoosh\Model\Request\SetBadgeRequest;
// Creates the request instance
$request = RegisterDeviceRequest::create()
->setBadge(5)
->setHwid('HWID');
// Call the '/setBadge' Web Service
$response = $pushwoosh->setBadge($request);
if($response->isOk()) {
print 'Ok, operation successful.';
} else {
print 'Oups, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

post
https://cp.pushwoosh.com/json/1.3
/applicationOpen
/applicationOpen
Example
{
"request":{
"application" : "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2" // required, hardware device ID used in /registerDevice function call
}
}

post
https://cp.pushwoosh.com/json/1.3
/pushStat
/pushStat
Example
{
"request":{
"application" : "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // required, hardware device ID used in /registerDevice function call
"userId": "USER012345", // optional, the user id to associate with the push open event
"hash": "HASH_TAG" // optional, hash tag received in push notification (“p” parameter in the push payload)
}
}
PHP
<?php
//see http://gomoob.github.io/php-pushwoosh/push-stat.html
use Gomoob\Pushwoosh\Model\Request\PushStatRequest;
// Creates the request instance
$request = PushStatRequest::create()
->setHash('hash')
->setHwid('HWID');
// Call the '/pushStat' Web Service
$response = $pushwoosh->pushStat($request);
if($response->isOk()) {
print 'Ok, operation successful.';
} else {
print 'Oups, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

post
https://cp.pushwoosh.com/json/1.3
/messageDeliveryEvent
/messageDeliveryEvent
Example
{
"request":{
"application" : "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65b16df378e7a6bece9614e1530fb2", // required, hardware device ID used in /registerDevice function call
"hash": "HASH_TAG" // optional, hash tag received in push notification (“p” parameter in the push payload)
}
}
Copy link
On this page
registerDevice
post
/registerDevice
unregisterDevice
post
/unregisterDevice
setTags
post
/setTags
Append List tag values
Set tags by UserID
setBadge
post
/setBadge
applicationOpen
post
/applicationOpen
pushStat
post
/pushStat
messageDeliveryEvent
post
/messageDeliveryEvent