<
Send Messages

How can I send push notifications with the message API?

Using HTTP Post (not GET) in the programming language of your application and send a request to http://www.pushsafer.com/api or over a secure connection to https://www.pushsafer.com/api! To customize the push notification to your needs, the following values can be transmitted: title, message, icon, icon color, sound, vibration, image(s), device or device group, url, url title, time to live, priority, retry, expire, answer.

Here are some examples:

PHP (HTTP CONTEXT)
<?php
$url = 'https://www.pushsafer.com/api';
$data = array(
	't' => urlencode($title),
	'm' => urlencode($message),
	's' => $sound,
	'v' => $vibration,
	'i' => $icon,
	'c' => $iconcolor,
	'd' => $device,
	'u' => urlencode($url),
	'ut' => urlencode($urltitle),
	'p' => $picture,
	'k' => $private_key
);
$options = array(
	'http' => array(
		'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
		'method'  => 'POST',
		'content' => http_build_query($data)
	)
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
?>

PHP (CURL)
<?php
$ch = curl_init();
$data = array(
	't' => urlencode($title),
	'm' => urlencode($message),
	's' => $sound,
	'v' => $vibration,
	'i' => $icon,
	'c' => $iconcolor,
	'd' => $device,
	'u' => urlencode($url),
	'ut' => urlencode($urltitle),
	'p' => $picture,
	'k' => $private_key
);
$postString = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_URL, 'https://www.pushsafer.com/api' );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec($ch);
curl_close($ch);
?>

jQuery
$.ajax({
  type: "POST",
  url: 'https://www.pushsafer.com/api',
  data:  {
		t: escape(title),
		m: escape(message),
		s: sound,
		v: vibration,
		i: icon,
		c: iconcolor,
		d: device,
		u: escape(url),
		ut: escape(urltitle),
		p: picture,
		k: private_key
  }
});

JavaScript
var xhttp;
if (window.XMLHttpRequest) {
    xhttp = new XMLHttpRequest();
    } else {
    // code for IE6, IE5
    xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("POST", "https://www.pushsafer.com/api", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("t="+escape(title)+"&m="+escape(message)+"&s="+sound+"&v="+vibration+"&i="+icon+"&c="+iconcolor+"&d="+device+"&u="+escape(url)+"&ut="+escape(urltitle)+"&k="+private_key);

Node.JS

npm install pushsafer-notifications

var push = require( 'pushsafer-notifications' );
 
var p = new push( {
    k: 'Your20CharPrivateKey',             // your 20 chars long private key 
    debug: true
});
 
var msg = {
    m: 'This is a Node.js test message',   // message (required)
    t: "Node.js Test",                     // title (optional)
    s: '8',                                // sound (value 0-50) 
    v: '2',                                // vibration (empty or value 1-3) 
    i: '5',                                // icon (value 1-176)
    c: '#FF0000',                          // iconcolor (optional)
    u: 'https://www.pushsafer.com',        // url (optional)
    ut: 'Open Link',                       // url title (optional)
    d: '221'                               // the device or device group id 
};
 
// console.log( p ); 
 
p.send( msg, function( err, result ) {
    //console.log( 'ERROR:', err ); 
    console.log( 'RESULT', result );
    // process.exit(0); 
});

Unix CLI
curl -s \
  --form-string "t=title" \
  --form-string "m=message" \
  --form-string "s=sound" \
  --form-string "v=vibration" \
  --form-string "i=icon" \
  --form-string "c=iconcolor" \
  --form-string "d=device" \
  --form-string "u=url" \
  --form-string "ut=urltitle" \
  --form-string "p=picture" \
  --form-string "k=private_key" \  
  https://www.pushsafer.com/api

Ruby
require "net/https"
url = URI.parse("https://www.pushsafer.com/api")
req = Net::HTTP::Post.new(url.path)
req.set_form_data({
  :t => title,
  :m => message,
  :s => sound,
  :v => vibration,
  :i => icon,
  :c => iconcolor,
  :d => device,
  :u => url,
  :ut => urltitle,
  :p => picture,
  :k => private_key,
})
res = Net::HTTP.new(url.host, url.port)
res.use_ssl = true
res.verify_mode = OpenSSL::SSL::VERIFY_PEER
res.start {|http| http.request(req) }

C#/.NET
var options= new NameValueCollection {
		{ "t", title },
		{ "m", message },
		{ "s", sound },
		{ "v", vibration },
		{ "i", icon },
		{ "c", iconcolor },
		{ "d", device },
		{ "u", url },
		{ "ut", urltitle },
		{ "p", picture },
		{ "k", private_key }
};
using (var client = new WebClient())
{
    client.UploadValues("https://www.pushsafer.com/api", options);
}

Perl
use LWP::UserAgent;
LWP::UserAgent->new()->post(
  "https://www.pushsafer.com/api", [
  "t" => title,
  "m" => message,
  "s" => sound,
  "v" => vibration,
  "i" => icon,
  "c" => iconcolor,
  "d" => device,
  "u" => url,
  "ut" => urltitle,
  "p" => picture,
  "k" => private_key,
]);

TCL
package require http
set url "https://www.pushsafer.com/api"
::http::geturl $url -query [::http::formatQuery k "privateKey" t "Title" m "Message" d "deviceID" i "Icon" s "Sound" v "Vibration" c "IconColor" u "URL" ut "URLTitle" l "Time2Live" p "Base64EncodedImageString"]

Python 3
from urllib.parse import urlencode
from urllib.request import Request, urlopen
import base64

# local image from drive
file = 'logo.jpg'
image = open(file, 'rb')
image_read = image.read()
image1 = base64.encodebytes(image_read)

# remote image from url
image2 = base64.b64encode(urlopen("https://www.google.de/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png").read())

url = 'https://www.pushsafer.com/api'
post_fields = {
	"t" : 'Test',
	"m" : 'Test Message',
	"s" : 11,
	"v" : 3,
	"i" : 33,
	"c" : '#FF0000',
	"d" : 'a',
	"u" : 'https://www.pushsafer.com',
	"ut" : 'Open Pushsafer',
	"k" : '[private_key]',
	"p" : 'data:image/jpeg;base64,'+str(image1.decode('ascii')),
	"p2" : 'data:image/png;base64,'+str(image2.decode('ascii')),
	}

request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)

VBSript
sUrl = "https://www.pushsafer.com/api"

sRequest = "k=YourKey&d=DeviceID&t=Title Here&m=Test Message sned with VBScript&i=20&s=37&v=3"

HTTPPost sUrl, sRequest

Function HTTPPost(sUrl, sRequest)
  set oHTTP = CreateObject("Microsoft.XMLHTTP")
  oHTTP.open "POST", sUrl,false
  oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
  oHTTP.setRequestHeader "Content-Length", Len(sRequest)
  oHTTP.send sRequest
  HTTPPost = oHTTP.responseText
 End Function
API Response-Codes

With every message API-call you get a response with http header code and a JSON string for evaluation

HTTP/1.0 200 OK
JSON
{ "status":1, "success":"message transmitted", "available":1823, "message_ids":"1324312:118,1324313:324" }


available available API calls

message_ids unique message ids divided by comma
and associated device ID with seperated by colon

HTTP/1.0 250 invalid key
JSON
{ "status":0, "error":"invalid key" }

HTTP/1.0 255 invalid key or empty message
JSON
{ "status":0, "error":"invalid key or empty message" }

HTTP/1.0 260 empty message
JSON
{ "status":0, "error":"empty message" }

HTTP/1.0 270 invalid device
JSON
{ "status":0, "error":"invalid device" }

HTTP/1.0 275 invalid device group
JSON
{ "status":0, "error":"invalid device group" }

HTTP/1.0 280 not enough API calls
JSON
{ "status":0, "error":"not enough API calls" }

Read Messages
Endpoint https://www.pushsafer.com/api-m
Method POST or GET
Parameter k = Private Key
d = Device ID
m = Message ID (optional) empty = display all messages or with message ID for displaying the individual message
Example https://www.pushsafer.com/api-m?k={private_key}&d={device}

Response

<?php
{
    "status": 1,
    "messages": {
        "21231": {
            "id": "21231",
            "title": "Pushsafer Test Push",
            "message": "This is only a test",
            "icon": "22",
            "iconcolor": "#FFCCCC",
            "sound": "12",
            "vibration": "3",
            "url": "https:\/\/www.pushsafer.com",
            "url_title": "Open Pushsafer",
            "image1": "",
            "image2": "",
            "image3": "",
            "time2live": "",
            "date_sent": "2018-08-21 16:00:23",
            "status_sent": "1",
            "priority": "2",
            "retry": "1",
            "retries": "10",
            "expire": "2018-08-21 18:00:23",
            "expired": "1",
            "reply": "1",
            "replied": "1",
            "answer": "This is a test answer",
            "answeroptions": "yes|no|maybe",
            "answerforce": "1",
            "location_lat": "51.0410180581",
            "location_lon": "12.3791688397",
            "location_time": "2019-07-01 22:29:30"			
        }
    }
}
?>

HTTP/1.0 250 invalid authentication
JSON
{
"status": 0, "error": "invalid authentication" }

Read Devices
Endpoint https://www.pushsafer.com/api-d
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
Example https://www.pushsafer.com/api-d?k={private_key}&u={username}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "devices":{ "a":"All Devices", "gs40":"Group: iOS", "gs44":"Group: Windows", "gs46":"Group: Android", "gs47":"Group: Browser", "53":"iPhone4", "78":"GT-P5110", "82":"Cindys iPhone6", "86":"iPad Air", "123":"iPhone6p", "143":"Windows Firefox", "267":"Lumia 550", "269":"PC Office WIN10", "318":"Windows Chrome", "418":"BV2000s", "484":"CUBOT GT72E", "1351":"HUAWEI MT7-L09", "1520":"Cindy's SATELLITE PRO" } }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

Read Devices (extended)
Endpoint https://www.pushsafer.com/api-de
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
Example https://www.pushsafer.com/api-de?k={private_key}&u={username}

Response

HTTP/1.0 200 OK
JSON
{ "status":1, "devices":{ "a":{ "id":"a", "name":"All active devices", "status":1 }, "gs1":{ "id":"gs1", "name":"Group: iOS", "status":1 }, "1":{ "id":"1", // device id "name":"iPhone XS Max", // device name "status":1, // device status "sent":234, // messages sent to this device "platform":"iOS", // possible values (iOS, Android, Windows, Chrome, Firefox, Opera, Edge, Yandex, Telegram) "location_lat":"51.0407778894", // last location latitude "location_lng":"12.3798235675", // last location longitude "location_time":"2023-02-11 16:42:09", // last synchronization of device location "isguest":"1", // is guest device 1/0 "created":"2016-04-02 12:31:55", // date of registration "lastsync":"2023-02-10 20:10:29" // last synchronization of device } } }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

Update Device Name
Endpoint https://www.pushsafer.com/api-dn
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
d = Device ID
n = Device Name
Example https://www.pushsafer.com/api-dn?k={private_key}&u={user}&d={device_id}&n={devicename}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "deviceupdated":123 }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 270 invalid device
JSON
{ "status":0, "error":"invalid device" }

HTTP/1.0 276 invalid device name
JSON
{ "status":0, "error":"invalid device name" }

Update Device Status
Endpoint https://www.pushsafer.com/api-ds
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
d = Device ID
s = Status on/off
Example https://www.pushsafer.com/api-ds?k={private_key}&u={user}&d={device_id}&s=on

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "deviceupdated":123 }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 270 invalid device
JSON
{ "status":0, "error":"invalid device" }

HTTP/1.0 295 invalid status
JSON
{ "status":0, "error":"invalid status" }

Delete Device
Endpoint https://www.pushsafer.com/api-dd
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
d = Device ID
Example https://www.pushsafer.com/api-dd?k={private_key}&u={user}&d={device_id}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "devicedeleted":123 }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 270 invalid device
JSON
{ "status":0, "error":"invalid device" }

Read Groups
Endpoint https://www.pushsafer.com/api-g
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
Example https://www.pushsafer.com/api-g?k={private_key}&u={user}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groups":{ "gs111":{ "name":"iOS", "devices":"123|1234|12345" }, "gs123":{ "name":"Android", "devices":"4321|54321|1543" }, "gs222":{ "name":"Alarm", "devices":"1111|2222|3333|4444" } } }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

Create Group
Endpoint https://www.pushsafer.com/api-ga
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
g = Group name
s = Status on/off
d = Device IDs seperated by | (optional)
Example https://www.pushsafer.com/api-ga?k={private_key}&u={user}&g={groupname}&s=off&d=1|2|3

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groupadded":"gs1234" }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 270 invalid devices
JSON
{ "status":0, "error":"invalid devices" }

HTTP/1.0 275 invalid group name
JSON
{ "status":0, "error":"invalid group name" }

HTTP/1.0 285 group exists
JSON
{ "status":0, "error":"group exists" }

HTTP/1.0 295 invalid status
JSON
{ "status":0, "error":"invalid status" }

Update Group Name
Endpoint https://www.pushsafer.com/api-gun
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
g = Groups ID
n = Group name
Example https://www.pushsafer.com/api-gun?k={private_key}&u={user}&g={groupid}&n={groupname}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groupupdated":"gs1234" }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 275 invalid group
JSON
{ "status":0, "error":"invalid group" }

HTTP/1.0 276 invalid group name
JSON
{ "status":0, "error":"invalid group name" }

HTTP/1.0 285 group name exists
JSON
{ "status":0, "error":"group name exists" }

Update Group Status
Endpoint https://www.pushsafer.com/api-gus
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
g = Groups ID
s = Status on/off
Example https://www.pushsafer.com/api-gus?k={private_key}&u={user}&g={groupid}&s=on

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groupupdated":"gs1234" }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 275 invalid group
JSON
{ "status":0, "error":"invalid group" }

HTTP/1.0 295 invalid status
JSON
{ "status":0, "error":"invalid status" }

Update Group Devices
Endpoint https://www.pushsafer.com/api-gud
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
g = Groups ID
d = Devices IDs seperated by |
Example https://www.pushsafer.com/api-gud?k={private_key}&u={user}&g={groupid}&d=1|2|3

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groupupdated":"gs1234" }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

HTTP/1.0 270 invalid devices
JSON
{ "status":0, "error":"invalid devices" }

HTTP/1.0 275 invalid group
JSON
{ "status":0, "error":"invalid group" }

Delete Group
Endpoint https://www.pushsafer.com/api-gd
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
g = Groups ID
Example https://www.pushsafer.com/api-gd?k={private_key}&u={user}&g={groupid}

Response

HTTP/1.0 200 OK
JSON
{
"status":1, "groupdeleted":"gs1234" }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

Validate Key
Endpoint https://www.pushsafer.com/api-k
Method POST or GET
Parameter k = Private Key
u = Username or E-mail Address
Example https://www.pushsafer.com/api-k?k={private_key}&u={user}

Response

HTTP/1.0 200 OK
JSON
{ "status":1, "success":"valid key", "available-api-calls":21398 }

HTTP/1.0 250 invalid authentication
JSON
{ "status":0, "error":"invalid authentication" }

Icon
Outputs all available icons
Endpoint https://www.pushsafer.com/api-i
Method GET
Parameter k = Private Key
l = Language en/de (optional)
Example https://www.pushsafer.com/api-i?k={private_key}&l=en

Response

{
   "icons":{
      "1":"[001] Pushsafer bell",
      "2":"[002] Exclamation mark in a circle",
      "3":"[003] Question mark in a circle",
      .
      .
      .
   },
   "status":1,
   "request":"5560beb535027a8140cbad0e89cf688a"
}

{
   "error":[
      {
         "message":"authorization not valid"
      }
   ]
}

Sound
Outputs all available sounds
Endpoint https://www.pushsafer.com/api-s
Method GET
Parameter k = Private Key
l = Language en/de (optional)
Example https://www.pushsafer.com/api-i?k={private_key}&l=en

Response

{
   "sounds":{
      "0":"[00] Silent",
      "1":"[01] Ahem (IM)",
      "2":"[02] Applause (Mail)",
      "3":"[03] Arrow (Reminder)",
      .
      .
      .
   },
   "status":1,
   "request":"bd814fc29327cb953236609aac966704"
}

{
   "error":[
      {
         "message":"authorization not valid"
      }
   ]
}

Callback-URL

In the profile settings you can specify a callback URL..Pushsafer Callback URL
For positive actions, such as sending push-notifications or registering new devices, the JSON response code are sent to this URL via POST with the parameter json. With this function you have the possibility to create automatisms in your own system or match registered device to an account.

Example: https://www.pushsafer.com/call/me/back

$json = $_POST['json'];
if($json){
	$file = 'callback.txt';
	// open data
	$current = file_get_contents($file);
	// insert new line
	$current.= "\n".date("Y-m-d H:i:s", time()).' '.$json;
	// write data
	file_put_contents($file, $current);
}

Response code for sending push-notifications

{
	"status":1,
	"success":"message transmitted",
	"available":1823,
	"message_ids":"1324312:118,1324313:324"
}

Response code for registering a new device

{
	"action": "add-device",
	"id": "27899",
	"name": "iPhone XS",
	"group": "gs123",
	"guest": "1"
}

Response code for deleting a device

{
	"action": "delete-device",
	"id": "27899"
}

Response code for sending answers

{
	"action": "answer transmitted",
	"message_id":3427899,
	"answer": "my answer"
}

Response code for deleting a single message

{
	"action":"delete-message",
	"deviceid":"119",
	"messageid":"32217892"
}

Response code for deleting selected messages

{
	"action":"delete-selected-messages",
	"deviceid":"119",
	"messageids":"32395612,32399839,32623589"
}

Response code for deleting all messages

{
	"action":"delete-all-message",
	"deviceid":"119"
}
Location Tracking
(BETA) With the location tracking (Android, iOS & Windows 10 with Cient-APP version >=2.3.1) you have the possibility to track the location of the device with each push notification sent. For this, the necessary permissions must be accepted. If the location was submitted correctly and is not older than 24 hours, it will be displayed as a new icon in the Client APP and can be read in the response of the Read API!

Pushsafer Location Tracking Client APP

To save the device battery & energy, the tracking is triggered only when the device is not still and at least a distance of about 100 meters was covered to the last measurement.

Permissions iOS

Pushsafer Location Tracking Permissions iOS
On iOS, the following permissions must be allowed to transfer the locations correctly

  • Loction = always
  • Motion & Fitness, used to detect if the device is moving. Only when device is moving - locations are transmitted (protection of the battery life)
  • Background App Refresh & Mobile Data, if aktivated the location data can be transmitted when the app is in background

Permissions Android

Pushsafer Location Tracking Permissions Android till Version 7

Separate permission for Android >=8

Pushsafer Location Tracking Permissions Android >=8

With the introduction of notification categories (channels) in Android 8, the Sync Service channel must be activated. This is needed to keep the app open in the background only this way locations can be tracked and transmitted.

Permissions Windows 10
Location tracking in Windows 10 requires the following permissions: Location & Background Apps

Pushsafer Location Tracking Permissions Windows 10

Pushsafer Location Tracking Permissions Background APP Windows 10

Firewall

If a firewall denied the access, please allow this ip address!

IPv4 = 212.83.36.91

IPv6 = 2a00:f48:cafe:a911::1

Parameter

Use parameters to configure your push-notification, press the orange parameter to get a more detailed description:

k = Private or Alias Key*

Example: 3SAz1a2iTYsh19eXIMiO

d = Device

Single Device ID or Device Group ID or all Devices

d=a = to all devices
d=gs23 = to a device group
d=52 = to a single device
d=52|65|78 = to multiple devices of same account

t = Title

m = Message*

s = Sound empty=device default or a number 0-62

v = Vibration empty=device default or a number 1-3

(only iOS & Android)

i = Icon Standard = 1 or a number 1-181

c = Icon Color Standard = Empty

or a Hexadecimal Colorcode, Example: #FF0000

(only Android >5.0, Windows 10 & Client APP)

LED Notification Color
(only Android, device needs a RGB LED)

u = URL/Link u="https://www.pushsafer.com"

ut = URL Title ut="Open Link"

Open other apps through push notifications by using
URL schemes

p = Picture Data URL with Base64-encoded string
p2 = Picture 2 Data URL with Base64-encoded string
p3 = Picture 3 Data URL with Base64-encoded string

data:image/gif;base64,R0l...BOw==
data:image/jpeg;base64,C4s...Cc1==
data:image/png;base64,G0G...h5r==

is = Image Size smaller image = faster loading time

0 = 1024px
1 = 768px
2 = 512px
3 = 256px

l = Time to Live Integer number 0-43200: Time in minutes,

after a message automatically gets purged.

pr = Priority

-2 = lowest priority

-1 = lower priority

0 = normal priority

1 = high priority (Time-Sensitive Notifications)

2 = highest priority (Critical Alerts)

re = Retry / resend

Integer 60-10800 (60s steps): Time in seconds, after a message should resend.

ex = Expire

Integer 60-10800: Time in seconds, after the retry/resend should stop.

a = Answer

1 = Answer is possible
0 = Answer is not possible.

ao = Answer Options

predefined answer options divided by a pipe character e.g. Yes|No|Maybe

af = Force Answer

1 = yes
0 = no

cr = Confirm / resend

Integer 10-10800 (10s steps) Time in seconds after which a message should be sent again before it is confirmed.

g = GIPHY GIF Code f.e. 8dMU9pN4pGwEfVpdY4

* required parameters

max. size of all POST parameters = 8192kb

HTML Styling
The message can be formatted using BBCode. Formatting can only be displayed in the client apps but not in the Push-Notification itselfs. The following BBCodes are accepted:

[b]Word[/b] Word bold
[i]Word[/i] Word italic
[u]Word[/u] Word underline
[s]Word[/s] Word crossed out
[left]Word[/left] Text left-aligned
[center]Word[/center] Text center-aligned
[right]Word[/right] Text right-aligned
[size=18]Word[/size] Text in font-size 18 pixel
optimal font size 8-48
[color=blue]Word[/color] Word blue
[color=#FF0000]Word[/color] Word red
Hex codes and most color names are supported.
[url=http://www.domain.com]Link[/url] display a link
Combined values are also possible:
[b][u][color=#980000]Word[/color][/u][/b] = Word
Line break: \n or BBCode [br]

Sound
Values in brackets applies to Windows 10 (UWP)

empty = Device Default
0 = Silent
1 = Ahem (IM)
2 = Applause (Mail)
3 = Arrow (Reminder)
4 = Baby (SMS)
5 = Bell (Alarm)
6 = Bicycle (Alarm2)
7 = Boing (Alarm3)
8 = Buzzer (Alarm4)
9 = Camera (Alarm5)
10 = Car Horn (Alarm6)
11 = Cash Register (Alarm7)
12 = Chime (Alarm8)
13 = Creaky Door (Alarm9)
14 = Cuckoo Clock (Alarm10)
15 = Disconnect (Call)
16 = Dog (Call2)
17 = Doorbell (Call3)
18 = Fanfare (Call4)
19 = Gun Shot (Call5)
20 = Honk (Call6)
21 = Jaw Harp (Call7)
22 = Morse (Call8)
23 = Electricity (Call9)
24 = Radio Tuner (Call10)
25 = Sirens
26 = Military Trumpets
27 = Ufo
28 = Whah Whah Whah
29 = Man Saying Goodbye
30 = Man Saying Hello
31 = Man Saying No
32 = Man Saying Ok
33 = Man Saying Ooohhhweee
34 = Man Saying Warning
35 = Man Saying Welcome
36 = Man Saying Yeah
37 = Man Saying Yes
38 = Beep short
39 = Weeeee short
40 = Cut in and out short
41 = Finger flicking glas short
42 = Wa Wa Waaaa short
43 = Laser short
44 = Wind Chime short
45 = Echo short
46 = Zipper short
47 = HiHat short
48 = Beep 2 short
49 = Beep 3 short
50 = Beep 4 short
51 = The Alarm is armed
52 = The Alarm is disarmed
53 = The Backup is ready
54 = The Door is closed
55 = The Door is opend
56 = The Window is closed
57 = The Window is open
58 = The Light is off
59 = The Light is on
60 = The Doorbell rings
61 = Pager short
62 = Pager long

Only intended for use in conjunction with Pushsafer, you can download all sounds here!

Icon
Image= 1 Image= 2 Image= 3 Image= 4 Image= 5 Image= 6 Image= 7 Image= 8 Image= 9 Image= 10 Image= 11 Image= 12 Image= 13 Image= 14 Image= 15 Image= 16 Image= 17 Image= 18 Image= 19 Image= 20 Image= 21 Image= 22 Image= 23 Image= 24 Image= 25 Image= 26 Image= 27 Image= 28 Image= 29 Image= 30 Image= 31 Image= 32 Image= 33 Image= 34 Image= 35 Image= 36 Image= 37 Image= 38 Image= 39 Image= 40 Image= 41 Image= 42 Image= 43 Image= 44 Image= 45 Image= 46 Image= 47 Image= 48 Image= 49 Image= 50 Image= 51 Image= 52 Image= 53 Image= 54 Image= 55 Image= 56 Image= 57 Image= 58 Image= 59 Image= 60 Image= 61 Image= 62 Image= 63 Image= 64 Image= 65 Image= 66 Image= 67 Image= 68 Image= 69 Image= 70 Image= 71 Image= 72 Image= 73 Image= 74 Image= 75 Image= 76 Image= 77 Image= 78 Image= 79 Image= 80 Image= 81 Image= 82 Image= 83 Image= 84 Image= 85 Image= 86 Image= 87 Image= 88 Image= 89 Image= 90 Image= 91 Image= 92 Image= 93 Image= 94 Image= 95 Image= 96 Image= 97 Image= 98 Image= 99 Image= 100 Image= 101 Image= 102 Image= 103 Image= 104 Image= 105 Image= 106 Image= 107 Image= 108 Image= 109 Image= 110 Image= 111 Image= 112 Image= 113 Image= 114 Image= 115 Image= 116 Image= 117 Image= 118 Image= 119 Image= 120 Image= 121 Image= 122 Image= 123 Image= 124 Image= 125 Image= 126 Image= 127 Image= 128 Image= 129 Image= 130 Image= 131 Image= 132 Image= 133 Image= 134 Image= 135 Image= 136 Image= 137 Image= 138 Image= 139 Image= 140 Image= 141 Image= 142 Image= 143 Image= 144 Image= 145 Image= 146 Image= 147 Image= 148 Image= 149 Image= 150 Image= 151 Image= 152 Image= 153 Image= 154 Image= 155 Image= 156 Image= 157 Image= 158 Image= 159 Image= 160 Image= 161 Image= 162 Image= 163 Image= 164 Image= 165 Image= 166 Image= 167 Image= 168 Image= 169 Image= 170 Image= 171 Image= 172 Image= 173 Image= 174 Image= 175 Image= 176 Image= 177 Image= 178 Image= 179 Image= 180 Image= 181

Only intended for use in conjunction with Pushsafer, you can download all icons here!


© 2016 - 2026 Pushsafer.com, All rights reserved.

This website uses cookies

Necessary cookies are used to make the website usable by enabling basic functions such as page navigation and access to secure areas of the website. The website cannot work properly without these cookies. Cookies are also used to analyze access to our website. We also share these informations with our partners. Our partners may combine this informations with other data that you have provided to them or that they have collected as part of your use of the services. You consent to our cookies if you continue to use our website. Further information about cookies, can be found in our data protection declaration!

The following cookies can be set

Name Provider Purpose Expiry Type
cookies Pushsafer.com Stores the user's consent status for cookies (1=yes) 2 Years HTTP
sec_session_id Pushsafer.com necessary cookie for using the website Session HTTP
phpbb3_gxypi_k Pushsafer.com necessary cookie for using the forum/board 1 Year HTTP
phpbb3_gxypi_sid Pushsafer.com necessary cookie for using the forum/board 1 Year HTTP
phpbb3_gxypi_u Pushsafer.com necessary cookie for using the forum/board 1 Year HTTP
_ga + _ga_DMRMGNW5JG Google Tag Manager Registers a unique ID that is used to generate statistical data on how the visitor uses the website. 2 Years HTTP
_gat Google Tag Manager Used by Google Analytics to limit the request rate. 1 Day HTTP
_gid Google Tag Manager Registers a unique ID that is used to generate statistical data on how the visitor uses the website. 1 Day HTTP
_glc_au Google Tag Manager Registers a unique ID that is used to generate statistical data on how the visitor uses the website. 2 Months HTTP