SMS Blacklist / Stop SMS

This is the part of the API that allow to insert and to retrieve the list of SMS blacklist / Stop SMS.

The SMS blacklist contains the phone numbers to which you don’t want to send any SMS.

If the Stop SMS Service is active, any person who receive an SMS can add their phone number to the blacklist.

Remember to provide the authentication HTTP headers as described in the Authenticate using a session key and the Authenticate using a user tokeny sections.
All the query string parameters in URL must be UTF-8 URL Encoded.

Add Phone Number to Blacklist

Add Phone Number to SMS Blacklist The Phone number will no longer receive an SMS from the user requesting the addition to the blacklist.

HTTP Headers

user_key / Session_key

HTTP Method

POST

HTTP Request

https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms

Query params

Parameter Type Description Required Default
phoneNumber String The phone number of the user. The format must be +1111111111 or 001111111111 Yes -

Returns

Code Description
200 The phone number is succesfully added.
400 [Bad request] Invalid recipient.
401 [Unauthorized] User_key, Token or Session_key are invalid or not provided
404 [Not found] The User_key was not found
Copy code
# Session Key example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER' -H 'Content-Type: application/json' \
-H 'user_key: USER_KEY' -H 'Session_key: SESSION_KEY' 

# Access token example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER' -H 'Content-Type: application/json' \
 -H 'user_key: USER_KEY' -H 'Access_token: ACCESS_TOKEN'
On success, the above command returns the following response:
true
Copy code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.io.OutputStream;
import java.net.URL;

public class Main {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            conn.setRequestProperty("user_key", "USER_KEY");

            // Use this when using Session Key authentication
            conn.setRequestProperty("Session_key", "SESSION_KEY");
            // When using Access Token authentication, use this instead:
            // conn.setRequestProperty("Access_token", "UserParam{access_token}");

            conn.setRequestMethod("POST");

            if (conn.getResponseCode() != 200) {
                // Print the possible error contained in body response
                String error = "";
                String output;
                BufferedReader errorbuffer = new BufferedReader(new InputStreamReader(conn.getErrorStream(), "UTF-8"));
                while ((output = errorbuffer.readLine()) != null) {
                    error += output;
                }
                System.out.println("Error! HTTP error code : " + conn.getResponseCode() +
                                   ", Body message : " + error);
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            }
            BufferedReader br =
                new BufferedReader(new InputStreamReader(conn.getInputStream()));

            String response = "";
            String output;
            while ((output = br.readLine()) != null) {
                response += output;
            }
            // You can parse the response using Google GSON or similar.
            // MyObject should be a class that reflect the JSON
            // structure of the response

            GsonBuilder builder = new GsonBuilder();
            Gson gson = builder.create();
            MyObject responseObj = gson.fromJson(response, MyObject.class);
            conn.disconnect();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
On success, the above command returns the following response:
true
Copy code
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json',
    'user_key: USER_KEY',
    // Use this when using session key authentication
    'Session_key: SESSION_KEY',
    // When using Access Token authentication, use this instead:
    // 'Access_token: UserParam{access_token}'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);

$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

if ($info['http_code'] != 200) {
    echo('Error! http code: ' . $info['http_code'] . ', body message: ' . $response);
}
else {

    $obj = json_decode($response);
    print_r($obj);
}
?>
On success, the above command returns the following response:
true
Copy code
# pip install requests
import requests
import json
# Use this when using Session Key authentication
headers = { 'user_key': 'USER_KEY', 'Session_key' : 'SESSION_KEY', 'Content-type' : 'application/json' }
# When using Access Token authentication, use this instead:
# headers = { 'user_key': 'UserParam{user_key}', 'Access_token' : 'UserParam{access_token}', 'Content-type' : 'application/json' }

r = requests.post("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER", headers=headers)

if r.status_code != 200:
    print("Error! http code: " + str(r.status_code) + ", body message: " + str(r.content))
else:
    response = r.text

    obj = json.loads(response)
    print(unicode(obj))
On success, the above command returns the following response:
true
Copy code
// Uses https://github.com/request/request
// npm install [-g] request

var request = require('request');

request({
    url: 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER',
    method: 'POST',
    headers: { 'user_key' : 'USER_KEY', 'Session_key' : 'SESSION_KEY' },

    callback: function (error, responseMeta, response) {
        if (!error && responseMeta.statusCode == 200) {

        }
        else {
            console.log('Error! http code: ' + responseMeta.statusCode + ', body message: ' + response)
        }
    }
});
On success, the above command returns the following response:
true
Copy code
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER")

# Create the HTTP objects
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.request_uri)
request['Content-type'] = 'application/json'
request['user_key'] = 'USER_KEY'
request['Session_key'] = 'SESSION_KEY'

# Send the request
responseData = http.request(request)
if responseData.code == "200"
  response = responseData.body

  obj = JSON.parse(response)
  puts obj
else
  puts "Error! http code: " + responseData.code + ", body message: " + responseData.body
end
On success, the above command returns the following response:
true
Copy code
using System;
using System.IO;
using System.Text;
using System.Net;
using System.Collections.Specialized;

// We are using JSON.NET (http://www.newtonsoft.com/json)
using Newtonsoft.Json;

/*
 * The following code has been compiled and tested using the MONO
 * project.
 *
 * To compile using MONO:
 * mcs -r:Newtonsoft.Json.dll example.cs
 */
namespace RestApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var wb = new WebClient())
            {
                // Setting the encoding is required when sending UTF8 characters!
                wb.Encoding = System.Text.Encoding.UTF8;

                try {
                    wb.Headers.Set(HttpRequestHeader.ContentType, "application/json");
                    wb.Headers.Add("user_key", "USER_KEY");
                    wb.Headers.Add("Session_key", "SESSION_KEY");

                    String response = wb.UploadString("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=PHONENUMBER", "POST", null);

                    dynamic obj = JsonConvert.DeserializeObject(response);
                    Console.WriteLine(obj);
                } catch (WebException ex) {
                    var statusCode = ((HttpWebResponse)ex.Response).StatusCode;
                    var errorResponse = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
                    Console.WriteLine("Error!, http code: " + statusCode + ", body message: ");
                    Console.WriteLine(errorResponse);
                }
            }
        }
    }
}
On success, the above command returns the following response:
true
Copy code
#!/usr/bin/env perl

use warnings;
use strict;
use LWP::UserAgent;

# Install using Cpan: "cpan JSON URI"
use JSON;
use URI::Escape;

my $ua = LWP::UserAgent->new;

my $server_endpoint = "https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?phoneNumber=".uri_escape("PHONENUMBER")."";

my $req = HTTP::Request->new(POST => $server_endpoint);

$req->header('Content_type' => 'application/json');

# IMPORTANT: Not adding the ':' before 'user_key' and
# 'Session_key' will result in perl to automatically rewrite the
# headers as 'User-Key' and 'Session-Key', which is not supported
# by our API.
$req->header(':user_key' => $auth->[0],
             ':Session_key' => $auth->[1]);
my $resp = $ua->request($req);
if ($resp->is_success && $resp->code == 200) {
  my $response = $resp->decoded_content;
  my $obj = from_json($response);

} else {
    my $error = $resp->decoded_content;
    my $code = $resp->code;
    print "Error!, http code: $code, body message: $error ";
}
On success, the above command returns the following response:
true

Add multiple numbers to sms blacklist

Add multiple numbers to the user’s blacklist.

HTTP Headers

user_key / Session_key

HTTP Method

POST

HTTP Request

https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch

Body Fields

Parameter Type Description Required Default
List(String) Array of phone numbers Yes “”
If one or more phone numbers are badly formatted, no numbers will be put in blacklist, and the response will have http status 400

Returns

200 Number of phone numbers correctly put in blacklist
400 Some of the phone numbers specified were badly formatted
401 [Unauthorized] User_key, Token or Session_key are invalid or not provided
404 [Not found] The User_key was not found
Copy code
# Session Key example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch' -H 'Content-Type: application/json' \
-H 'user_key: USER_KEY' -H 'Session_key: SESSION_KEY' -d'
[
    "+3934015546", 
    "+3934025546"
]
'

# Access token example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch' -H 'Content-Type: application/json' \
 -H 'user_key: USER_KEY' -H 'Access_token: ACCESS_TOKEN' -d'
[
    "+3934015546", 
    "+3934025546"
]
'
On success, the above command returns the following response:
2
Copy code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.io.OutputStream;
import java.net.URL;

public class Main {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            conn.setRequestProperty("user_key", "USER_KEY");

            // Use this when using Session Key authentication
            conn.setRequestProperty("Session_key", "SESSION_KEY");
            // When using Access Token authentication, use this instead:
            // conn.setRequestProperty("Access_token", "UserParam{access_token}");

            conn.setRequestMethod("POST");

            conn.setRequestProperty("Accept", "application/json");
            conn.setRequestProperty("Content-type", "application/json");
            conn.setDoOutput(true);

            String payload = "[" + 
              "    \"+3934015546\", " + 
              "    \"+3934025546\"" + 
              "]";

            OutputStream os = conn.getOutputStream();
            os.write(payload.getBytes());
            os.flush();

            if (conn.getResponseCode() != 200) {
                // Print the possible error contained in body response
                String error = "";
                String output;
                BufferedReader errorbuffer = new BufferedReader(new InputStreamReader(conn.getErrorStream(), "UTF-8"));
                while ((output = errorbuffer.readLine()) != null) {
                    error += output;
                }
                System.out.println("Error! HTTP error code : " + conn.getResponseCode() +
                                   ", Body message : " + error);
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            }
            System.out.println("Success!");
            conn.disconnect();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
On success, the above command returns the following response:
2
Copy code
<?php
$payload = '[' . 
  '    "+3934015546", ' . 
  '    "+3934025546"' . 
  ']';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json',
    'user_key: USER_KEY',
    // Use this when using session key authentication
    'Session_key: SESSION_KEY',
    // When using Access Token authentication, use this instead:
    // 'Access_token: UserParam{access_token}'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

if ($info['http_code'] != 200) {
    echo('Error! http code: ' . $info['http_code'] . ', body message: ' . $response);
}
else {
    echo('Success!');
}
?>
On success, the above command returns the following response:
2
Copy code
# pip install requests
import requests
import json
# Use this when using Session Key authentication
headers = { 'user_key': 'USER_KEY', 'Session_key' : 'SESSION_KEY', 'Content-type' : 'application/json' }
# When using Access Token authentication, use this instead:
# headers = { 'user_key': 'UserParam{user_key}', 'Access_token' : 'UserParam{access_token}', 'Content-type' : 'application/json' }
payload = """[
    "+3934015546", 
    "+3934025546"
]"""

r = requests.post("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch", headers=headers, data=payload)

if r.status_code != 200:
    print("Error! http code: " + str(r.status_code) + ", body message: " + str(r.content))
else:
    print('Success!')
On success, the above command returns the following response:
2
Copy code
// Uses https://github.com/request/request
// npm install [-g] request

var request = require('request');

request({
    url: 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch',
    method: 'POST',
    headers: { 'user_key' : 'USER_KEY', 'Session_key' : 'SESSION_KEY' },

    json: true,
    body:     [
        "+3934015546", 
        "+3934025546"
    ],

    callback: function (error, responseMeta, response) {
        if (!error && responseMeta.statusCode == 200) {
            console.log('Success!');
        }
        else {
            console.log('Error! http code: ' + responseMeta.statusCode + ', body message: ' + response)
        }
    }
});
On success, the above command returns the following response:
2
Copy code
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch")
payload =     [
        "+3934015546", 
        "+3934025546"
    ]

# Create the HTTP objects
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri.request_uri)
request['Content-type'] = 'application/json'
request['user_key'] = 'USER_KEY'
request['Session_key'] = 'SESSION_KEY'
request.body = payload.to_json

# Send the request
responseData = http.request(request)
if responseData.code == "200"
  response = responseData.body
  puts "Success!"
else
  puts "Error! http code: " + responseData.code + ", body message: " + responseData.body
end
On success, the above command returns the following response:
2
Copy code
using System;
using System.IO;
using System.Text;
using System.Net;
using System.Collections.Specialized;

// We are using JSON.NET (http://www.newtonsoft.com/json)
using Newtonsoft.Json;

/*
 * The following code has been compiled and tested using the MONO
 * project.
 *
 * To compile using MONO:
 * mcs -r:Newtonsoft.Json.dll example.cs
 */
namespace RestApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var wb = new WebClient())
            {
                // Setting the encoding is required when sending UTF8 characters!
                wb.Encoding = System.Text.Encoding.UTF8;

                try {
                    wb.Headers.Set(HttpRequestHeader.ContentType, "application/json");
                    wb.Headers.Add("user_key", "USER_KEY");
                    wb.Headers.Add("Session_key", "SESSION_KEY");

                String payload = "[" + 
                  "    \"+3934015546\", " + 
                  "    \"+3934025546\"" + 
                  "]";

                    String response = wb.UploadString("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch", "POST", payload);
                    Console.WriteLine("Success!");
                } catch (WebException ex) {
                    var statusCode = ((HttpWebResponse)ex.Response).StatusCode;
                    var errorResponse = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
                    Console.WriteLine("Error!, http code: " + statusCode + ", body message: ");
                    Console.WriteLine(errorResponse);
                }
            }
        }
    }
}
On success, the above command returns the following response:
2
Copy code
#!/usr/bin/env perl

use warnings;
use strict;
use LWP::UserAgent;

# Install using Cpan: "cpan JSON URI"
use JSON;
use URI::Escape;

my $ua = LWP::UserAgent->new;

my $server_endpoint = "https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch";

my $req = HTTP::Request->new(POST => $server_endpoint);

$req->header('Content_type' => 'application/json');

# IMPORTANT: Not adding the ':' before 'user_key' and
# 'Session_key' will result in perl to automatically rewrite the
# headers as 'User-Key' and 'Session-Key', which is not supported
# by our API.
$req->header(':user_key' => $auth->[0],
             ':Session_key' => $auth->[1]);
my $payload = [
    "+3934015546", 
    "+3934025546"
];

$req->content(to_json($payload));
my $resp = $ua->request($req);
if ($resp->is_success && $resp->code == 200) {
  my $response = $resp->decoded_content;
  print "Success!";

} else {
    my $error = $resp->decoded_content;
    my $code = $resp->code;
    print "Error!, http code: $code, body message: $error ";
}
						    
<
On success, the above command returns the following response:
2

Retrieve list of phone numbers in blacklist

Retrieve the paginated list of Phone numbers in SMS Blacklist

HTTP Headers

user_key / Session_key

HTTP Method

GET

HTTP Request

https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms

Query params

Parameter Type Description Required Default
from Date(yyyy-MM-dd HH:mm:ss) Return results from the given date No -
to Date(yyyy-MM-dd HH:mm:ss) Return results up to the given date No -
timezone Timezone(IANA time zone) Optional timezone applied to from or to dates No -
number String Return results that contains this phone number or part of it. No -
origins String List of origins(API, WEB, STOPSMS) separated by ‘,’ used for filter the results No -
pageNumber String Return the given results page No -
pageSize String The number of results in a page No -

Returns

Code Description
200 A paginated list of phone number in blacklist.
400 Some of the parameters specified were badly formatted
401 [Unauthorized] User_key, Token or Session_key are invalid or not provided
404 [Not found] The User_key was not found
Copy code
# Session Key example
curl -XGET 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER' -H 'Content-Type: application/json' \
-H 'user_key: USER_KEY' -H 'Session_key: SESSION_KEY' 

# Access token example
curl -XGET 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER' -H 'Content-Type: application/json' \
 -H 'user_key: USER_KEY' -H 'Access_token: ACCESS_TOKEN
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.io.OutputStream;
import java.net.URL;

public class Main {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();

            conn.setRequestProperty("user_key", "USER_KEY");

            // Use this when using Session Key authentication
            conn.setRequestProperty("Session_key", "SESSION_KEY");
            // When using Access Token authentication, use this instead:
            // conn.setRequestProperty("Access_token", "UserParam{access_token}");

            conn.setRequestMethod("GET");

            if (conn.getResponseCode() != 200) {
                // Print the possible error contained in body response
                String error = "";
                String output;
                BufferedReader errorbuffer = new BufferedReader(new InputStreamReader(conn.getErrorStream(), "UTF-8"));
                while ((output = errorbuffer.readLine()) != null) {
                    error += output;
                }
                System.out.println("Error! HTTP error code : " + conn.getResponseCode() +
                                   ", Body message : " + error);
                throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
            }
            BufferedReader br =
                new BufferedReader(new InputStreamReader(conn.getInputStream()));

            String response = "";
            String output;
            while ((output = br.readLine()) != null) {
                response += output;
            }
            // You can parse the response using Google GSON or similar.
            // MyObject should be a class that reflect the JSON
            // structure of the response

            GsonBuilder builder = new GsonBuilder();
            Gson gson = builder.create();
            MyObject responseObj = gson.fromJson(response, MyObject.class);
            conn.disconnect();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER');
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-type: application/json',
    'user_key: USER_KEY',
    // Use this when using session key authentication
    'Session_key: SESSION_KEY',
    // When using Access Token authentication, use this instead:
    // 'Access_token: UserParam{access_token}'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

if ($info['http_code'] != 200) {
    echo('Error! http code: ' . $info['http_code'] . ', body message: ' . $response);
}
else {

    $obj = json_decode($response);
    print_r($obj);
}
?>
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
# pip install requests
import requests
import json
# Use this when using Session Key authentication
headers = { 'user_key': 'USER_KEY', 'Session_key' : 'SESSION_KEY', 'Content-type' : 'application/json' }
# When using Access Token authentication, use this instead:
# headers = { 'user_key': 'UserParam{user_key}', 'Access_token' : 'UserParam{access_token}', 'Content-type' : 'application/json' }

r = requests.get("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER", headers=headers)

if r.status_code != 200:
    print("Error! http code: " + str(r.status_code) + ", body message: " + str(r.content))
else:
    response = r.text

    obj = json.loads(response)
    print(unicode(obj))
Copy code
// Uses https://github.com/request/request
// npm install [-g] request

var request = require('request');

request({
    url: 'https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER',
    method: 'GET',
    headers: { 'user_key' : 'USER_KEY', 'Session_key' : 'SESSION_KEY' },

    callback: function (error, responseMeta, response) {
        if (!error && responseMeta.statusCode == 200) {

        }
        else {
            console.log('Error! http code: ' + responseMeta.statusCode + ', body message: ' + response)
        }
    }
});
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER")

# Create the HTTP objects
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri.request_uri)
request['Content-type'] = 'application/json'
request['user_key'] = 'USER_KEY'
request['Session_key'] = 'SESSION_KEY'

# Send the request
responseData = http.request(request)
if responseData.code == "200"
  response = responseData.body

  obj = JSON.parse(response)
  puts obj
else
  puts "Error! http code: " + responseData.code + ", body message: " + responseData.body
end
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
using System;
using System.IO;
using System.Text;
using System.Net;
using System.Collections.Specialized;

// We are using JSON.NET (http://www.newtonsoft.com/json)
using Newtonsoft.Json;

/*
 * The following code has been compiled and tested using the MONO
 * project.
 *
 * To compile using MONO:
 * mcs -r:Newtonsoft.Json.dll example.cs
 */
namespace RestApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var wb = new WebClient())
            {
                // Setting the encoding is required when sending UTF8 characters!
                wb.Encoding = System.Text.Encoding.UTF8;

                try {
                    wb.Headers.Set(HttpRequestHeader.ContentType, "application/json");
                    wb.Headers.Add("user_key", "USER_KEY");
                    wb.Headers.Add("Session_key", "SESSION_KEY");

                    String response = wb.DownloadString("https://app.gateway.smsend.it/API/v1.0/REST/blacklist/sms?from=FROM&to=TO&origins=ORIGINS&pageNumber=PAGENUMBER&pageSize=PAGESIZE&number=NUMBER");

                    dynamic obj = JsonConvert.DeserializeObject(response);
                    Console.WriteLine(obj);
                } catch (WebException ex) {
                    var statusCode = ((HttpWebResponse)ex.Response).StatusCode;
                    var errorResponse = new StreamReader(ex.Response.GetResponseStream()).ReadToEnd();
                    Console.WriteLine("Error!, http code: " + statusCode + ", body message: ");
                    Console.WriteLine(errorResponse);
                }
            }
        }
    }
}
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}
Copy code
#!/usr/bin/env perl

use warnings;
use strict;
use LWP::UserAgent;

# Install using Cpan: "cpan JSON URI"
use JSON;
use URI::Escape;

my $ua = LWP::UserAgent->new;

my $server_endpoint = "https://app.gateway.smsend.it/API/v1.0/REST/blacklist/smsbatch";

my $req = HTTP::Request->new(POST => $server_endpoint);

$req->header('Content_type' => 'application/json');

# IMPORTANT: Not adding the ':' before 'user_key' and
# 'Session_key' will result in perl to automatically rewrite the
# headers as 'User-Key' and 'Session-Key', which is not supported
# by our API.
$req->header(':user_key' => $auth->[0],
             ':Session_key' => $auth->[1]);
my $payload = [
    "+3934015546", 
    "+3934025546"
];

$req->content(to_json($payload));
my $resp = $ua->request($req);
if ($resp->is_success && $resp->code == 200) {
  my $response = $resp->decoded_content;
  print "Success!";

} else {
    my $error = $resp->decoded_content;
    my $code = $resp->code;
    print "Error!, http code: $code, body message: $error ";
}
On success, the above command returns the following response:
{
    "totalElements": 3,                          "// The total number of results"
    "totalPages": 1,                             "// The total pages of results"
    "last": true,                                "// Is last page"
    "first": true,                               "// Is first page"
    "size": 10,                                  "// Page size"
    "number": 0,                                 "// Page number"
    "sort": null,                                "// Sort"
    "numberOfElements": 3,                       "// Number of element in page"
    "content": [
        {
            "number": "+39123456789",            "// The complete phone number"
            "idNation": "ita",                   "// The nation of phone number"
            "rcptPrefix": "123",                 "// The operator prefix"
            "rcptNumber": "456789",              "// The number"
            "origin": "API",                     "// Origin of insert (API, WEB, STOPSMS)"
            "insertTime": "2018-10-10 08:00:00"  "// The datetime of insert in blacklist"
        },
        {
            ...
        }
    ]
}