Copy code
# Session Key example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/paramsms' -H 'Content-Type: application/json' \
-H 'user_key: {USER_KEY}' -H 'Session_key: {SESSION_KEY}' -d'
{
"message_type": "GP",
"message": "Hello {name}, welcome to {nation}",
"sender": "MySender",
"scheduled_delivery_time": "20161223101010",
"order_id": "123456789",
"returnCredits": true,
"allowInvalidRecipients": false,
"returnRemaining": true,
"recipients": {
"0": {
"recipient": "+393471234567",
"name": "Mark"
},
"1": {
"recipient": "+393477654321",
"nation": "Alabama"
}
}
}
'
# Access token example
curl -XPOST 'https://app.gateway.smsend.it/API/v1.0/REST/paramsms' -H 'Content-Type: application/json' \
-H 'user_key: {USER_KEY}' -H 'Access_token: {ACCESS_TOKEN}' -d'
{
"message_type": "GP",
"message": "Hello {name}, welcome to {nation}",
"sender": "MySender",
"scheduled_delivery_time": "20161223101010",
"order_id": "123456789",
"returnCredits": true,
"allowInvalidRecipients": false,
"returnRemaining": true,
"recipients": {
"0": {
"recipient": "+393471234567",
"name": "Mark"
},
"1": {
"recipient": "+393477654321",
"nation": "Alabama"
}
}
}
'
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
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/paramsms");
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", "{ACCESS_TOKEN}");
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Content-type", "application/json");
conn.setDoOutput(true);
String payload = "{" +
" \"message_type\": \"GP\", " +
" \"message\": \"Hello {name}, welcome to {nation}\", " +
" \"sender\": \"MySender\", " +
" \"scheduled_delivery_time\": \"20161223101010\", " +
" \"order_id\": \"123456789\", " +
" \"returnCredits\": true, " +
" \"allowInvalidRecipients\": false, " +
" \"returnRemaining\": true, " +
" \"recipients\": {" +
" \"0\": {" +
" \"recipient\": \"+393471234567\", " +
" \"name\": \"Mark\"" +
" }, " +
" \"1\": {" +
" \"recipient\": \"+393477654321\", " +
" \"nation\": \"Alabama\"" +
" }" +
" }" +
"}";
OutputStream os = conn.getOutputStream();
os.write(payload.getBytes());
os.flush();
if (conn.getResponseCode() != 201) {
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:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
Copy code
<?php
$payload = '{' .
' "message_type": "GP", ' .
' "message": "Hello {name}, welcome to {nation}", ' .
' "sender": "MySender", ' .
' "scheduled_delivery_time": "20161223101010", ' .
' "order_id": "123456789", ' .
' "returnCredits": true, ' .
' "allowInvalidRecipients": false, ' .
' "returnRemaining": true, ' .
' "recipients": {' .
' "0": {' .
' "recipient": "+393471234567", ' .
' "name": "Mark"' .
' }, ' .
' "1": {' .
' "recipient": "+393477654321", ' .
' "nation": "Alabama"' .
' }' .
' }' .
'}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.gateway.smsend.it/API/v1.0/REST/paramsms');
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: {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'] != 201) {
echo('Error!');
}
else {
$obj = json_decode($response);
print_r($obj);
}
?>
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
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': '{USER_KEY}', 'Access_token' : '{ACCESS_TOKEN}', 'Content-type' : 'application/json' }
payload = """{
"message_type": "GP",
"message": "Hello {name}, welcome to {nation}",
"sender": "MySender",
"scheduled_delivery_time": "20161223101010",
"order_id": "123456789",
"returnCredits": true,
"allowInvalidRecipients": false,
"returnRemaining": true,
"recipients": {
"0": {
"recipient": "+393471234567",
"name": "Mark"
},
"1": {
"recipient": "+393477654321",
"nation": "Alabama"
}
}
}"""
r = requests.post("https://app.gateway.smsend.it/API/v1.0/REST/paramsms", headers=headers, data=payload)
if r.status_code != 201:
print("An error occurred, return code is: " + str(r.status_code))
else:
response = r.text
obj = json.loads(response)
print(unicode(obj))
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
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/paramsms',
method: 'POST',
headers: { 'user_key' : '{USER_KEY}', 'Session_key' : '{SESSION_KEY}' },
json: true,
body: {
"message_type": "GP",
"message": "Hello {name}, welcome to {nation}",
"sender": "MySender",
"scheduled_delivery_time": "20161223101010",
"order_id": "123456789",
"returnCredits": true,
"allowInvalidRecipients": false,
"returnRemaining": true,
"recipients": {
"0": {
"recipient": "+393471234567",
"name": "Mark"
},
"1": {
"recipient": "+393477654321",
"nation": "Alabama"
}
}
},
callback: function (error, responseMeta, response) {
if (!error && responseMeta.statusCode == 201) {
}
else {
console.log('An error occurred..');
}
}
});
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
Copy code
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://app.gateway.smsend.it/API/v1.0/REST/paramsms")
payload = {
"message_type": "GP",
"message": "Hello {name}, welcome to {nation}",
"sender": "MySender",
"scheduled_delivery_time": "20161223101010",
"order_id": "123456789",
"returnCredits": true,
"allowInvalidRecipients": false,
"returnRemaining": true,
"recipients": {
"0": {
"recipient": "+393471234567",
"name": "Mark"
},
"1": {
"recipient": "+393477654321",
"nation": "Alabama"
}
}
}
# 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 == "201"
response = responseData.body
obj = JSON.parse(response)
puts obj
else
puts "Error.."
end
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
Copy code
using System;
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())
{
wb.Headers.Set(HttpRequestHeader.ContentType, "application/json");
wb.Headers.Add("user_key", "{USER_KEY}");
wb.Headers.Add("Session_key", "{SESSION_KEY}");
String payload = "{" +
" \"message_type\": \"GP\", " +
" \"message\": \"Hello {name}, welcome to {nation}\", " +
" \"sender\": \"MySender\", " +
" \"scheduled_delivery_time\": \"20161223101010\", " +
" \"order_id\": \"123456789\", " +
" \"returnCredits\": true, " +
" \"allowInvalidRecipients\": false, " +
" \"returnRemaining\": true, " +
" \"recipients\": {" +
" \"0\": {" +
" \"recipient\": \"+393471234567\", " +
" \"name\": \"Mark\"" +
" }, " +
" \"1\": {" +
" \"recipient\": \"+393477654321\", " +
" \"nation\": \"Alabama\"" +
" }" +
" }" +
"}";
String response = wb.UploadString("https://app.gateway.smsend.it/API/v1.0/REST/paramsms", "POST", payload)
dynamic obj = JsonConvert.DeserializeObject(response);
Console.WriteLine(obj);
}
}
}
}
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}
Copy code
#!/usr/bin/env perl
use warnings;
use strict;
use LWP::UserAgent;
# Install using Cpan: "cpan JSON"
use JSON;
my $ua = LWP::UserAgent->new;
my $server_endpoint = "https://app.gateway.smsend.it/API/v1.0/REST/paramsms";
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 = {
"message_type" => "GP",
"message" => "Hello {name}, welcome to {nation}",
"sender" => "MySender",
"scheduled_delivery_time" => "20161223101010",
"order_id" => "123456789",
"returnCredits" => true,
"allowInvalidRecipients" => false,
"returnRemaining" => true,
"recipients" => {
"0" => {
"recipient" => "+393471234567",
"name" => "Mark"
},
"1" => {
"recipient" => "+393477654321",
"nation" => "Alabama"
}
}
};
$req->content(to_json($payload));
my $resp = $ua->request($req);
if ($resp->is_success && $resp->code == 201) {
$response = $resp->decoded_content;
my $obj = from_json($response);
}
On success, the above command returns the following response:
{
"result" : "OK", "//OK or errors"
"order_id" : "123456789",
"total_sent" : 2 "//SMS sent or credits used"
}