Text CALL to 88440
info@voodooSMS.com

+44 (0)1484 599 311

Login Free Account

Developer Tools

Free Account

WebSMS Report

Here you can retrieve the statistics of your WebSMS campaigns.

Definition

http:// or https:// www.voodoosms.com/vapi/server/wsmsrep

METHODS

GET

POST

Parameters

Required Fields

uid:

System allocated username for API user configured within the VoodooSMS.com Portal in ‘Send SMS>API Management’

pass:

System password for API user configured within the VoodooSMS.com Portal in ‘Send SMS>API Management’

Optional Parameters

date:

The date of the report you wish to retrieve.

Default: current date
Options: Y-m-d (2017-08-02)

format:

The format you wish the return status to be in

Default: XML
Options: XML | JSON

Single textual message to single destinations

Request


<?php
switch($_SERVER["REQUEST_METHOD"]) {
    case "GET":
        $uid = htmlspecialchars($_GET["uid"]);
        $pass = htmlspecialchars($_GET["pass"]);
        break;
    case "POST":
        $uid = htmlspecialchars($_POST["uid"]);
        $pass = htmlspecialchars($_POST["pass"]);
        break;
}

$url = 'https://www.voodoosms.com/vapi/server/wsmsrep?uid='.$uid.'&pass='.$pass;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
// Download the given URL, and return output
$output = curl_exec($ch);
echo $output . "   " . curl_error($ch);
// Close the cURL resource, and free system resources
curl_close($ch);
?>

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class Servlet extends HttpServlet {
    public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {

        if(request.getAttribute("uid") != null && request.getAttribute("pass")
        {
            String charset = "UTF-8";
            String query = String.format("uid=%s&pass=%s",
             URLEncoder.encode(request.getAttribute("uid").toString(), charset),
             URLEncoder.encode(request.getAttribute("pass").toString(), charset);
            String url = "www.voodoosms.com/vapi/server/wsmsrep";

            URLConnection connection = new URL(url + "?" + query).openConnection();
            connection.setRequestProperty("Accept-Charset", charset);
            InputStream reqres = connection.getInputStream();
            // reqres contains the request output
        }
        else {
        	// Wrong parameters
        }
    }
    public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
    	// Same as GET
    }
}

var http = require('http');
var https = require('https');
var querystring = require('querystring');
var url = require('url');

var server = http.createServer(function(req, res) {

    var url_parts = url.parse(req.url, true);
    var query = url_parts.query;
    var uid = query.uid;
    var pass = query.pass;

    if(uid && pass) {
        var get_data = querystring.stringify({
          "uid" : uid, "pass": pass});

        var options = {
            host: 'www.voodoosms.com',
            path: '/vapi/server/wsmsrep?' + get_data
        }

        https.get(options, function(reqres) {
          reqres.on('data', function(chunk) {
            res.end(chunk);
          })
        });

    }
    else
      res.end("Wrong parameters");
});

server.listen(8080);

require 'net/http'
require 'json'

class Controller < ApplicationController
    def index
    uid = params[:uid]
    pass = params[:pass]

    if uid and pass
        uri = "?uid=" + uid + "&pass=" + pass
    else
        uri = 0
    end

    if uri != 0
        url = URI.parse('http://www.voodoosms.com/vapi/server/wsmsrep' + uri)
        uri = URI(url)
        response = Net::HTTP.get(uri)
        @res = response
    else
        @res = "Wrong parameters"
    end
  end
end

from django.http
import HttpResponse, HttpRequest
import urllib2

def index(request):

    if request.method == 'GET':
        uid = request.GET.get('uid', '')
        pas = request.GET.get('pass', '')
    elif request.method == 'POST':
        uid = request.POST.get('uid', '')
        pas = request.POST.get('pass', '')

    if uid and pas :
        u = "?uid=%s&pass=%s" % (uid, pas)
    else :
        u = 0

    if u :
        res = urllib2.urlopen("https://voodoosms.com/vapi/server/wsmsrep" + u).read()
        return HttpResponse(res)
    else :
        return HttpResponse("Wrong parameters")

using System;
using System.Net.Http;
using System.Web;

var client = new HttpClient();

//Get the parameters, either GET or POST request
    string uid = HttpContext.Current.Server.HtmlEncode(Request["uid"]);
    string pass = HttpContext.Current.Server.HtmlEncode(Request["pass"]);

//Exit if one or more parameters is missing
    if(String.IsNullOrEmpty(uid) || String.IsNullOrEmpty(pass))
    System.Environment.Exit(1)


// Send the async request
    HttpResponseMessage response = await client.GetAsync(
    "https://www.voodoosms.com/vapi/server/wsmsrep?uid=" + uid + "&pass=" + pass);

// Get the response content
HttpContent responseContent = response.Content;

// Get the stream of the content and write the output
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
Console.WriteLine(await reader.ReadToEndAsync());
}

Response


<xml>
   <item>
      <id>20162</id>
      <SendTime>2017-04-05 13:55:00</SendTime>
      <name>Web SMS Testing</name>
      <originator>VoodooSMS</originator>
      <sent>1</sent>
      <delivered>1</delivered>
      <pending>0</pending>
      <failed>0</failed>
      <body>Your message here</body>
      <shorturlid>vsms.co/3Sc</shorturlid>
      <shorturl></shorturl>
      <longurl></longurl>
   </item>
</xml>

[
  {
    "SendTime": "2017-04-05 13:55:00",
    "body": "Your message here",
    "delivered": "1",
    "failed": "0",
    "id": "20266",
    "longurl": "",
    "name": "Web SMS Testing",
    "originator": "VoodooSMS",
    "pending": "0",
    "sent": "1",
    "shorturl": "",
    "shorturlid": ""
  }
]

On success, the response header HTTP status code will be 200 OK confirming that the message is sent. If you try to send message without authorisation you an error code of 401 Unauthorized will be received.

SMSResponseDetails

Response Code

Code Type Response
400 int BAD REQUEST required parameters missing
401 int UNAUTHORIZED CHECK API USER
204 int No Record Found
{
    "requestError": {
        "serviceException": {
            "messageId": "UNAUTHORIZED",
            "text": "Invalid login details"
        }
    }
}
METHOD POST
Request Headers
Accept: */*
Referer: http:// or https:// www.voodoosms.com/vapi/server
authorization: Basic ZGZkZjpzZGZkZg==
accept-encoding: gzip, deflate
content-type: application/json
content-length: 64
URL http:// or https:// www.voodoosms.com/vapi/server/sendSMS
Request Data
{
    "from": "447711112244",
    "to": [
        "447788112233"
    ],
    "text": "tsdsdsd"
}
Status
Response Headers
access-control-allow-origin: *
access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, COPY, HEAD, OPTIONS, LINK, UNLINK,
PURGE access-control-allow-headers: Authorization, Content-Type, X-Enrollment-Token
content-type: application/json;charset=UTF-8
content-length: 97
date: Tue, 27 Dec 2016 08:17:07 GMT
connection: close
server: SMS API
strict-transport-security: max-age=16000000; includeSubDomains; preload;