Text CALL to 88440
info@voodooSMS.com

+44 (0)1484 599 311

Login Free Account

Developer Tools

Free Account

Summary

This API call will return the WebSMS current status and completion percentage.

Definition

http:// or https:// www.voodooSMS.com/vapi/server/statsWebSMS

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'

reference id:

The reference ID produced by the Send WebSMS API.

format:

Return format requested: XML, JSON or PHP data.

Optional Parameters

limit:

By default 5000 limit will apply if no limit send in API call

offset:

Be default 0

Checking WebSMS Summary

Request


<?php
switch($_SERVER["REQUEST_METHOD"]) {
    case "GET":
        $uid = htmlspecialchars($_GET["uid"]);
        $pass = htmlspecialchars($_GET["pass"]);
        $reference_id = htmlspecialchars($_GET["reference_id"]);
        break;
    case "POST":
        $uid = htmlspecialchars($_POST["uid"]);
        $pass = htmlspecialchars($_POST["pass"]);
        $reference_id = htmlspecialchars($_POST["reference_id"]);
        break;
}
$url = 'https://www.voodoosms.com/vapi/server/statsWebSMS?uid='.$uid.'&pass='.$pass.
       '&reference_id='.$reference_id;
$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") != null
                && request.getAttribute("reference_id") != null) {
               String charset = "UTF-8";
               String query = String.format("uid=%s&pass=%s&reference_id=%s",
                URLEncoder.encode(request.getAttribute("uid").toString(), charset),
                URLEncoder.encode(request.getAttribute("pass").toString(), charset),
                URLEncoder.encode(request.getAttribute("reference_id").toString(), charset));
               String url = "www.voodoosms.com/vapi/server/statsWebSMS";
               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;
    var reference_id = query.reference_id;
    if (uid && pass && reference_id) {
        var get_data = querystring.stringify({
          "uid": uid,
          "pass": pass,
          "reference_id": reference_id
        });
        var options = {
          host: 'www.voodoosms.com',
          path: '/vapi/server/statsWebSMS?' + 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]
        reference_id = params[: reference_id]
        if uid and pass and reference_id
            uri = "?uid=" + uid + "&pass=" + pass + "&reference_id=" + reference_id
        else
            uri = 0
        end
        if uri != 0
            url = URI.parse('http://www.voodoosms.com/vapi/server/statsWebSMS' + 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', '')
    reference_id = request.GET.get('reference_id', '')
elif request.method == 'POST':
    uid = request.POST.get('uid', '')
    pas = request.POST.get('pass', '')
    reference_id = request.POST.get('reference_id', '')
if uid and pas and listid and number and reference_id:
    u = "?uid=%s&pass=%s&reference_id=%s" % (uid, pas, reference_id)
else :
    u = 0
if u:
    res = urllib2.urlopen("https://voodoosms.com/vapi/server/statsWebSMS" + 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"]);
    string reference_id = HttpContext.Current.Server.HtmlEncode(Request["reference_id"]);

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

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

// 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>
   <result>200</result>
   <summary>
      <total_sent>3</total_sent>
      <total_complete>2</total_complete>
      <total_delivered>1</total_delivered>
      <total_pending>1</total_pending>
      <total_bounced>1</total_bounced>
   </summary>
   <data>
      <item>
         <sent_datetime>2018-06-28 14:40:00</sent_datetime>
         <broadcast_name>first websms via api</broadcast_name>
         <destination_number>44xxxxxxxxxx</destination_number>
         <delivery_status>delivered</delivery_status>
         <delivery_datetime>2018-06-28 14:42:00</delivery_datetime>
         <contact_list>first websms via api List</contact_list>
         <message>testing+124</message>
         <reference_id>301932205945wsms</reference_id>
      </item>
      <item>
         <sent_datetime>2018-06-28 14:40:00</sent_datetime>
         <broadcast_name>first websms via api</broadcast_name>
         <destination_number>44xxxxxxxxxx</destination_number>
         <delivery_status>pending</delivery_status>
         </delivery_datetime>
         <contact_list>first websms via api List</contact_list>
         <message>test+123</message>
         <reference_id>301932205946wsms</reference_id>
      </item>
      <item>
         <sent_datetime>2018-06-28 14:40:00</sent_datetime>
         <broadcast_name>first websms via api</broadcast_name>
         <destination_number>44xxxxxxxxxx</destination_number>
         <delivery_status>bounced</delivery_status>
         <delivery_datetime>2018-06-28 14:43:00</delivery_datetime>
         <contact_list>first websms via api List</contact_list>
         <message>testing+456</message>
         <reference_id>301932205947wsms</reference_id>
      </item>
   </data>
</xml>
...
...
{
    "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;