Copy-paste recipes for the most common Sozuri calls in nine languages. Drop in your project name, API key and one of your sender IDs (exactly as registered, for the recipient’s network), hit run, and you’ll see a real message land on a real phone within seconds.

The base URL for messaging endpoints is https://sozuri.net/api/v1/messaging. Use the Postman fork button in the sidebar to try every endpoint without writing a line of code.

Send your first SMS

1. Set the request headers
POST /api/v1/messaging
Content-Type: application/json
Authorization: Bearer Your_Project_API_KEY
2. (Quick) Sample GET request
https://sozuri.net/api/v1/messaging?apiKey=Your_Project_API_KEY&project=Your_Project_name&from=MySenderID&to=254722xxx675&campaign=Nai-Promo&channel=sms&message=SozuriTestSMS&type=promotional
3. Sample POST request — pick your language
POST /api/v1/messaging HTTP/1.1
Host: sozuri.net
Authorization: Bearer LOx5JPdqf0lvf.......R9X9XDJ4PFxRqVrt9dx83cWiwfTQMF
Content-Type: application/json
Accept: application/json

{
    "project": "my project",
    "from": "MySenderID",
    "to": "2547251642xx,2547326971xx",
    "campaign": "Promo Nai",
    "channel": "sms",
    "message": "Test SMS.",
    "type": "promotional"
}
POST /api/v1/messaging HTTP/1.1
Host: sozuri.net
Authorization: Bearer LOx5JPdqf0lvf45EZAQMJ.......SUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF
Content-Type: application/json
Accept: application/xml

<request>
    <project>my project</project>
    <from>MySenderID</from>
    <to>2547251642xx,2547326971xx</to>
    <campaign>Promo Nai</campaign>
    <channel>sms</channel>
    <message>Test SMS.</message>
    <type>promotional</type>
</request>
<?php

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => "https://sozuri.net/api/v1/messaging",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode([
        "project"  => "my project",
        "from"     => "MySenderID",
        "to"       => "2547251642xx,2547326971xx",
        "campaign" => "Promo Nai",
        "channel"  => "sms",
        "message"  => "Test SMS.",
        "type"     => "promotional",
    ]),
    CURLOPT_HTTPHEADER => [
        "Accept: application/json",
        "Authorization: Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF",
        "Content-Type: application/json",
    ],
]);
echo curl_exec($curl);
curl_close($curl);
const response = await fetch("https://sozuri.net/api/v1/messaging", {
    method: "POST",
    headers: {
        "Authorization": "Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    body: JSON.stringify({
        project: "my project",
        from: "MySenderID",
        to: "2547251642xx,2547326971xx",
        campaign: "Promo Nai",
        channel: "sms",
        message: "Test SMS.",
        type: "promotional"
    })
});
console.log(await response.json());
require 'uri'
require 'net/http'
require 'json'

uri  = URI("https://sozuri.net/api/v1/messaging")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF"
request["Content-Type"]  = "application/json"
request["Accept"]        = "application/json"
request.body = {
    project: "my project", from: "MySenderID", to: "2547251642xx,2547326971xx",
    campaign: "Promo Nai", channel: "sms", message: "Test SMS.", type: "promotional"
}.to_json

puts http.request(request).body
import requests

response = requests.post(
    "https://sozuri.net/api/v1/messaging",
    headers={
        "Authorization": "Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF",
        "Content-Type": "application/json",
        "Accept": "application/json",
    },
    json={
        "project": "my project", "from": "MySenderID",
        "to": "2547251642xx,2547326971xx", "campaign": "Promo Nai",
        "channel": "sms", "message": "Test SMS.", "type": "promotional",
    },
)
print(response.json())
HttpResponse<String> response = Unirest.post("https://sozuri.net/api/v1/messaging")
    .header("Authorization", "Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF")
    .header("Content-Type",  "application/json")
    .header("Accept",        "application/json")
    .body("{\"project\":\"my project\",\"from\":\"MySenderID\",\"to\":\"2547251642xx,2547326971xx\","
        + "\"campaign\":\"Promo Nai\",\"channel\":\"sms\",\"message\":\"Test SMS.\",\"type\":\"promotional\"}")
    .asString();
var client  = new RestClient("https://sozuri.net/api/v1/messaging");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept",        "application/json");
request.AddHeader("Content-Type",  "application/json");
request.AddHeader("Authorization", "Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF");
request.AddParameter("application/json",
    "{\"project\":\"my project\",\"from\":\"MySenderID\",\"to\":\"2547251642xx,2547326971xx\","
  + "\"campaign\":\"Promo Nai\",\"channel\":\"sms\",\"message\":\"Test SMS.\",\"type\":\"promotional\"}",
    ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
curl -X POST https://sozuri.net/api/v1/messaging \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer LOx5JPdqf0lvf45EZAQMJm85OSUzyxR9X9XDJ4PFxRqVrt9dx83cWiwfTQMF' \
    -d '{
        "project": "my project",
        "from": "MySenderID",
        "to": "2547251642xx,2547326971xx",
        "campaign": "Promo Nai",
        "channel": "sms",
        "message": "Test SMS.",
        "type": "promotional"
    }'
4. Expected response
{
    "messageData": { "messages": 2 },
    "recipients": [
        {
            "messageId": "MSGBLK6012A7E8B90A21611835368",
            "to": "2547251642xx",
            "status": "accepted",
            "statusCode": "11",
            "bulkId": "bulk6012a7e8b904e1611835368",
            "messagePart": 1,
            "type": "promotional"
        }
    ]
}

Recipes for every channel

This page shows the SMS happy path. For full request/response, multi-language samples, callbacks and edge cases, jump to the channel docs:

Have your first message land in five minutes.

Sign up, copy a snippet, paste your API key, and watch a real SMS arrive.