MessageFlow is your trusted expert in unlimited cross-channel communication. Level up your customer journey with our world-class solutions.
Infrastructure for cross-channel communication
Battle-tested by over 63k demanding brands
What is MessageFlow?
MessageFlow is a one-stop-shop for messaging solutions, an integrated suite of products for marketing cross-channel communication. We understand that communication is the backbone of any successful business relationship.
Communication is a fundamental element of our area of expertise. We help run effective cross-channel communication: sending bulk Text Messages, highly deliverable Emails, engaging Mobile Push notifications.
Developer Platform
- Get your messages across all channels with one powerful and easy-to-use API
- Combine the best international practices with in-depth understanding of local markets
- Our support has your back at every stage – ready to advise, verify settings, and run tests
- Enjoy the full security of ISO and GDPR compliance, SOC2, 2FA, anti-phishing shield
- And much more!
Marketing Platform
- Enjoy the benefits of a single solution using cross-channel capabilities
- Send your marketing campaigns (Emails, SMS, and Push) using an intuitive self-service panel
- Get creative with our user-friendly low-code creator and build your message like a pro
- We are here to provide assistance, verify your settings, and conduct tests
- And much more!
Grow with the best-in-class marketing platform
MessageFlow lets you enjoy the benefits of multiple marketing channels brought together in one, user-friendly platform. Start operating cross-channel now and send at any scale from day one! We work with global brands on local markets to create glocal success.
Deliver quicker with powerful API
Level up your automated communication by going cross-channel. We provide all the tools you need to get your message across channels: flexible APIs, up to 99% deliverability of your messaging, and five-star customer support.
var client = new RestClient("https://api.messageflow.com/v2.1/contact");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "REPLACE_KEY_VALUE");
request.AddHeader("application-key", "REPLACE_KEY_VALUE");
request.AddParameter("application/json", "[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]", 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/contact"
payload := strings.NewReader("[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "REPLACE_KEY_VALUE")
req.Header.Add("application-key", "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/contact")
.header("content-type", "application/json")
.header("authorization", "REPLACE_KEY_VALUE")
.header("application-key", "REPLACE_KEY_VALUE")
.body("[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01
20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-
XXX\",\"firstName\":\"First name\",\"lastName\":\"Last
name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":
\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]")
.asString();
var request = require("request");
var options = {
method: 'POST',
url: 'https://api.messageflow.com/v2.1/contact',
headers: {
'content-type': 'application/json',
authorization: 'REPLACE_KEY_VALUE',
'application-key': 'REPLACE_KEY_VALUE'
},
body: [
{
companyName: 'Example company',
createdAt: '2019-02-01 20:12:12',
email: '',
externalId: 'XXX-XXX-XXX',
firstName: 'First name',
lastName: 'Last name',
phoneNumber: '123123123',
externalData: {test: 'test', createdAt: '1989-09-28', isClient: false},
addToGroup: [0]
}
],
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/contact",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]",
CURLOPT_HTTPHEADER => array(
"application-key: REPLACE_KEY_VALUE",
"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/contact"
payload = "[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]"
headers = {
'content-type': "application/json",
'authorization': "REPLACE_KEY_VALUE",
'application-key': "REPLACE_KEY_VALUE"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
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["application-key"] = 'REPLACE_KEY_VALUE'
request.body = "[{\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"addToGroup\":[0]}]"
response = http.request(request)
puts response.read_body
echo '[{"externalId":"bfa0b1b1-e636-b8ab-aba4-78a913be0144","data":{"companyName":"Example company","email":"","externalId":"XXX-XXX-XXX","firstName":"First name","lastName":"Last name","phoneNumber":"123123123","externalData":{"test":"test","createdAt":"1989-09-28","isClient":false}}}]' | \
http PUT https://api.messageflow.com/v2.1/contact \
application-key:REPLACE_KEY_VALUE \
authorization:REPLACE_KEY_VALUE \
content-type:application/json":"test","createdAt":"1989-09-28","isClient":false}}}]'
Global experience
Local knowledge
Global approach
MessageFlow makes cross-channel messaging simpler, seamless, and more profitable. With two decades of global experience and close cooperation with local providers, we offer a unique glocal approach that brings your cross-channel communication to an entirely different level.
Messages a month. Throughput that makes a difference.
Satisfied customers. Taking care of your business at every step.
Deliverability. Choose a solution that is unparalleled in quality.
Of experience. There are no unsolvable problems for us.