About us

Mobile push
built for speed
and scale

Streamline real-time transactional and marketing notifications across platforms with our push notifications API, minimizing integration efforts and maintenance hassles.

Get a demo
Push channel

Discover a ready-to-use
solution for push notifications

scale icon
Built for scale

Send campaigns at high speeds, reaching up to several million push messages per hour. Define push throughput per campaign, tailoring delivery to your needs.

insight icon
Powerful insight

Using webhooks we automatically pass on campaign results in real-time, including information on delivered, opened, and clicked notifications.

safety icon
Safety made easy

We employ advanced encryption and robust authentication measures to ensure the protection of your data, allowing you to communicate confidently.

integration icon
Simplified integration

Experience the convenience of our extensive assistance. Take advantage of our renowned concierge support available 24/7.

Trusted by developers working for leading companies:
Coca Cola logo
Starbucks logo
DHL logo
T-Mobile logo
IKEA logo
Douglas logo
Volkswagen logo
Carrefour logo
push notification example
Top-notch mobile push solution

Your communication,
our tech you can rely on

Designed by developers for every industry, company size, and use case. Feel the functionality that fits your needs.

  • Diverse notification formats
  • Scheduled campaigns
  • Deep linking
  • Capping
  • Personalized targeting
  • Real-time preview
  • Effortless segmentation
  • Get a demo
    Battle-tested technology

    Ready to use,
    easy to integrate

    Easily integrate your mobile app with the powerful MessageFlow push notification API, designed to help you send at scale.

    • Interactive API documentation
    • Pre-built SDKs
    • Support for Android and iOS platforms
    • Regular SDK updates to adapt to new Android and iOS versions
    • In-app event submission for advanced tracking
    • Test environment
    • Professional onboarding services
    Read docs
    C#
    C#
    Go
    Go
    Java
    Java
    Node
    Node
    PHP
    PHP
    Python
    Python
    Ruby
    Ruby
    Shell
    Shell
    var client = new RestClient("https://api.messageflow.com/v2.1/push");
    var request = new RestRequest(Method.POST);
    request.AddHeader("content-type", "application/json");
    request.AddHeader("authorization", "REPLACE_KEY_VALUE");
    request.AddParameter("application/json", "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    package main
     
    import (
       	"fmt"
       	"strings"
       	"net/http"
       	"io/ioutil"
    )
     
    func main() {
     
       	url := "https://api.messageflow.com/v2.1/push"
     
       	payload := strings.NewReader("{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}")
     
       	req, _ := http.NewRequest("POST", url, payload)
     
       	req.Header.Add("content-type", "application/json")
       	req.Header.Add("authorization", "REPLACE_KEY_VALUE")
     
       	res, _ := http.DefaultClient.Do(req)
     
       	defer res.Body.Close()
       	body, _ := ioutil.ReadAll(res.Body)
     
       	fmt.Println(res)
       	fmt.Println(string(body))
     
    }
    HttpResponse<String> response = Unirest.post("https://api.messageflow.com/v2.1/push")
    .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .header("application-key", "REPLACE_KEY_VALUE") .body("{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-
    XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx- xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"t est\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false, \"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\": {\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative- icon-file-path\",\"large\":\"/relative-icon-file- path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionB uttons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"t ype\":1}}]}")
    .asString();
    var request = require("request");
     
    var options = {
      method: 'POST',
      url: 'https://api.messageflow.com/v2.1/push',
      headers: {'content-type': 'application/json', authorization: 'REPLACE_KEY_VALUE'},
      body: {
    	applications: ['XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'],
    	to: [{receiver: 'example-device-id', externalId: 'xxx-xxx-xxx-xxx', type: 1}],
    	title: {pl: 'test', en: 'test'},
    	body: {pl: 'test', en: 'test'},
    	defaultLanguage: 'pl',
    	image: 'http://absolute.url/to/image',
    	silent: false,
    	sound: 'sound-file.wav',
    	scheduleTime: '2020-01-01 12:12:12',
    	ttl: 1540377351,
    	externalData: {test: 'x', test1: false},
    	advanced: {
      	subtitle: 'subtitle-only-ios',
      	lockscreenVisibility: 1,
      	icon: {small: '/relative-icon-file-path', large: '/relative-icon-file-path'}
    	},
    	action: {url: 'http://absolute.url/to/redirect/on/click', type: 2},
    	actionButtons: [{button: 1, icon: 'my_icon.png', action: {url: 'www.google.com', type: 1}}]
      },
      json: true
    };
     
    request(options, function (error, response, body) {
      if (error) throw new Error(error);
     
      console.log(body);
    });
    <?php
     
    $curl = curl_init();
     
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.messageflow.com/v2.1/push",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}",
      CURLOPT_HTTPHEADER => array(
    	"authorization: REPLACE_KEY_VALUE",
    	"content-type: application/json"
      ),
    ));
     
    $response = curl_exec($curl);
    $err = curl_error($curl);
     
    curl_close($curl);
     
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    import requests
     
    url = "https://api.messageflow.com/v2.1/push"
     
    payload = "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}"
    headers = {
    	'content-type': "application/json",
    	'authorization': "REPLACE_KEY_VALUE"
    	}
     
    response = requests.request("POST", url, data=payload, headers=headers)
     
    print(response.text)
    
    require 'uri'
    require 'net/http'
    require 'openssl'
     
    url = URI("https://api.messageflow.com/v2.1/push")
     
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
     
    request = Net::HTTP::Post.new(url)
    request["content-type"] = 'application/json'
    request["authorization"] = 'REPLACE_KEY_VALUE'
    request.body = "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}"
     
    response = http.request(request)
    puts response.read_body
    echo '{"applications":["XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],"to":[{"receiver":"example-device-id","externalId":"xxx-xxx-xxx-xxx","type":1}],"title":{"pl":"test","en":"test"},"body":{"pl":"test","en":"test"},"defaultLanguage":"pl","image":"http://absolute.url/to/image","silent":false,"sound":"sound-file.wav","scheduleTime":"2020-01-01 12:12:12","ttl":1540377351,"externalData":{"test":"x","test1":false},"advanced":{"subtitle":"subtitle-only-ios","lockscreenVisibility":1,"icon":{"small":"/relative-icon-file-path","large":"/relative-icon-file-path"}},"action":{"url":"http://absolute.url/to/redirect/on/click","type":2},"actionButtons":[{"button":1,"icon":"my_icon.png","action":{"url":"www.google.com","type":1}}]}' |  \
      http POST https://api.messageflow.com/v2.1/push \
      authorization:REPLACE_KEY_VALUE \
      content-type:application/json":{"url":"www.google.com","type":1}}]}'
    push delivery rate chart
    Data-driven approach

    Real-time 
    campaign insights

    Through webhooks, you receive automatic updates on campaign results, including delivery, open, and click statistics, providing you with invaluable real-time data. Our platform offers close tracking of reports ensuring a smooth and efficient experience for both developers and marketers.

    Get a demo
    Trusted platform

    Efficiency in theory and practice

    99.95%+
    API uptime

    Reliable campaigns you can trust.

    250M+
    API request a day

    The possibilities are limitless.

    6 MLN/h
    Throughput

    Always customized to your application.

    73K+
    Satisfied users

    Benefitting from our super reliable technology.

    globe lines
    Platform you can trust

    Global experience
    Local knowledge
    Glocal approach

    Message Flow makes cross-channel messaging simple, seamless, and more profitable for any company looking to level up its communication efforts. Two decades of global experience and close cooperation with local providers positions us to offer a unique glocal approach that brings your cross-channel comms to an entirely new level.

    C#
    C#
    Go
    Go
    Java
    Java
    Node
    Node
    PHP
    PHP
    Python
    Python
    Ruby
    Ruby
    Shell
    Shell
    var client = new RestClient("https://api.messageflow.com/v2.1/push");
    var request = new RestRequest(Method.POST);
    request.AddHeader("content-type", "application/json");
    request.AddHeader("authorization", "REPLACE_KEY_VALUE");
    request.AddParameter("application/json", "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    package main
     
    import (
       	"fmt"
       	"strings"
       	"net/http"
       	"io/ioutil"
    )
     
    func main() {
     
       	url := "https://api.messageflow.com/v2.1/push"
     
       	payload := strings.NewReader("{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}")
     
       	req, _ := http.NewRequest("POST", url, payload)
     
       	req.Header.Add("content-type", "application/json")
       	req.Header.Add("authorization", "REPLACE_KEY_VALUE")
     
       	res, _ := http.DefaultClient.Do(req)
     
       	defer res.Body.Close()
       	body, _ := ioutil.ReadAll(res.Body)
     
       	fmt.Println(res)
       	fmt.Println(string(body))
     
    }
    HttpResponse<String> response = Unirest.post("https://api.messageflow.com/v2.1/push")
    .header("content-type", "application/json") .header("authorization", "REPLACE_KEY_VALUE") .header("application-key", "REPLACE_KEY_VALUE") .body("{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-
    XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx- xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"t est\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false, \"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\": {\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative- icon-file-path\",\"large\":\"/relative-icon-file- path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionB uttons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"t ype\":1}}]}")
    .asString();
    var request = require("request");
     
    var options = {
      method: 'POST',
      url: 'https://api.messageflow.com/v2.1/push',
      headers: {'content-type': 'application/json', authorization: 'REPLACE_KEY_VALUE'},
      body: {
    	applications: ['XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'],
    	to: [{receiver: 'example-device-id', externalId: 'xxx-xxx-xxx-xxx', type: 1}],
    	title: {pl: 'test', en: 'test'},
    	body: {pl: 'test', en: 'test'},
    	defaultLanguage: 'pl',
    	image: 'http://absolute.url/to/image',
    	silent: false,
    	sound: 'sound-file.wav',
    	scheduleTime: '2020-01-01 12:12:12',
    	ttl: 1540377351,
    	externalData: {test: 'x', test1: false},
    	advanced: {
      	subtitle: 'subtitle-only-ios',
      	lockscreenVisibility: 1,
      	icon: {small: '/relative-icon-file-path', large: '/relative-icon-file-path'}
    	},
    	action: {url: 'http://absolute.url/to/redirect/on/click', type: 2},
    	actionButtons: [{button: 1, icon: 'my_icon.png', action: {url: 'www.google.com', type: 1}}]
      },
      json: true
    };
     
    request(options, function (error, response, body) {
      if (error) throw new Error(error);
     
      console.log(body);
    });
    <?php
     
    $curl = curl_init();
     
    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.messageflow.com/v2.1/push",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 30,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}",
      CURLOPT_HTTPHEADER => array(
    	"authorization: REPLACE_KEY_VALUE",
    	"content-type: application/json"
      ),
    ));
     
    $response = curl_exec($curl);
    $err = curl_error($curl);
     
    curl_close($curl);
     
    if ($err) {
      echo "cURL Error #:" . $err;
    } else {
      echo $response;
    }
    import requests
     
    url = "https://api.messageflow.com/v2.1/push"
     
    payload = "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}"
    headers = {
    	'content-type': "application/json",
    	'authorization': "REPLACE_KEY_VALUE"
    	}
     
    response = requests.request("POST", url, data=payload, headers=headers)
     
    print(response.text)
    
    require 'uri'
    require 'net/http'
    require 'openssl'
     
    url = URI("https://api.messageflow.com/v2.1/push")
     
    http = Net::HTTP.new(url.host, url.port)
    http.use_ssl = true
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
     
    request = Net::HTTP::Post.new(url)
    request["content-type"] = 'application/json'
    request["authorization"] = 'REPLACE_KEY_VALUE'
    request.body = "{\"applications\":[\"XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\"to\":[{\"receiver\":\"example-device-id\",\"externalId\":\"xxx-xxx-xxx-xxx\",\"type\":1}],\"title\":{\"pl\":\"test\",\"en\":\"test\"},\"body\":{\"pl\":\"test\",\"en\":\"test\"},\"defaultLanguage\":\"pl\",\"image\":\"http://absolute.url/to/image\",\"silent\":false,\"sound\":\"sound-file.wav\",\"scheduleTime\":\"2020-01-01 12:12:12\",\"ttl\":1540377351,\"externalData\":{\"test\":\"x\",\"test1\":false},\"advanced\":{\"subtitle\":\"subtitle-only-ios\",\"lockscreenVisibility\":1,\"icon\":{\"small\":\"/relative-icon-file-path\",\"large\":\"/relative-icon-file-path\"}},\"action\":{\"url\":\"http://absolute.url/to/redirect/on/click\",\"type\":2},\"actionButtons\":[{\"button\":1,\"icon\":\"my_icon.png\",\"action\":{\"url\":\"www.google.com\",\"type\":1}}]}"
     
    response = http.request(request)
    puts response.read_body
    echo '{"applications":["XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],"to":[{"receiver":"example-device-id","externalId":"xxx-xxx-xxx-xxx","type":1}],"title":{"pl":"test","en":"test"},"body":{"pl":"test","en":"test"},"defaultLanguage":"pl","image":"http://absolute.url/to/image","silent":false,"sound":"sound-file.wav","scheduleTime":"2020-01-01 12:12:12","ttl":1540377351,"externalData":{"test":"x","test1":false},"advanced":{"subtitle":"subtitle-only-ios","lockscreenVisibility":1,"icon":{"small":"/relative-icon-file-path","large":"/relative-icon-file-path"}},"action":{"url":"http://absolute.url/to/redirect/on/click","type":2},"actionButtons":[{"button":1,"icon":"my_icon.png","action":{"url":"www.google.com","type":1}}]}' |  \
      http POST https://api.messageflow.com/v2.1/push \
      authorization:REPLACE_KEY_VALUE \
      content-type:application/json":{"url":"www.google.com","type":1}}]}'
    World-class solution

    Powerful infrastructure with an easy integration process

    Dive into our developer resource library, where you'll find quick-start guides, code snippets, SDKs, and more to power up your push notification infrastructure built with MessageFlow.

    Perfectly integrated

    Enjoy ready integration with major systems

    Seamless integrations with leading MA and CRM solutions - tried, tested, and ready to serve you. Our expertly-crafted integrations require zero development effort, making it a breeze to implement and utilize them.

    messageflow push system integrations
    security awards and certificates
    Safety first

    We understand
    security matters

    Experience the power of secure communication with our tailored solutions for authentication and security. As a developer, you can rest easy knowing that we provide API keys, access tokens, and robust authentication methods to protect your interactions with our mobile push platform, ensuring your data and communications are in safe hands.

    One-stop-shop for messaging solutions

    Beyond push API

    MessageFlow serves as a glocal cross-communication platform where messages are successfully delivered, language transforms into actionable data, and businesses thrive as they harness the power of seamless communication.

    Leverage our omnichannel API to effortlessly manage all your communication needs, including triggered marketing emails, email marketing campaigns, push notifications, and SMS, all from within a single, unified platform.

    TESTIMONIALS

    Don’t just take our words

    If you really want to know why you should choose MessageFlow, don’t take it from us - hear straight from our customers.

    We use the platform to send SMS and Mobile Push notifications both domestically and internationally with Support always on standby.

    Vice President of the Board Vice President of the Board

    ING Bank Śląski confirms that it cooperation in the scope of the contract for the provision of services in the area of SMS sending of a marketing and information nature. When choosing the platform provider, we were mainly guided by the security of communication and the stability of the infrastructure.

    CPO Wholesale Banking European Countries CPO Wholesale Banking European Countries

    Efficiently overseeing our SMS campaigns, our collaborator guarantees timely execution, precise delivery, and thorough reporting.

    Loyalty Program Coordinator Loyalty Program Coordinator

    The communication platform provides us with comprehensive SMS communication services at a very high level. Thanks to the individual approach to our needs, we were able to use ready-made solutions, as well as tailor-made solutions, which is a great help in the case of such a large organization as ours.

    Director Of The Finance and Customer Service Department Director Of The Finance and Customer Service Department

    The Email and SMS communication infrastructure delivers outstanding overall performance, perfectly meeting our extensive marketing campaign needs.

    Marketing Coordinator Marketing Coordinator

    We have been using this platform continuously since 2011 to handle SMS campaigns. The tool is characterized by high quality of operation, it is distinguished by the speed of sending shipments, high level of deliverability and access to the Polish GSM infrastructure.

    Director of Loyalty Program Director of Loyalty Program

    Our SMS provider has delivered uninterrupted, efficient service over 24 months, showing a flexible and customer-centered approach that aligns seamlessly with our operational needs.

    Marketing Manager Marketing Manager

    Choose the perfect one-stop-shop for your omnichannel communication

    Get a demo
    Let's keep in touch!

    Stay ahead of the curve with our newsletter, and be the first to know about the latest technological advancements and innovations!

    Thank you for subscribing!

    © 2023 messageflow.com | All rights reserved. | We use cookies.