Text CALL to 88440
info@voodooSMS.com

+44 (0)1484 599 311

Login Free Account

Developer Tools

Free Account

transferCredit

This call can be used by reseller accounts only to move credits between accounts via API.

Definition

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

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'

from_account:

account ID to take the credits from

to_account:

account ID to add the credits to

amount:

the credits to transfer e.g. 100

format:

Return format requested: XML, JSON or PHP data.

Credit Transfer without any query parameter

Request


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

$url = 'https://www.voodoosms.com/vapi/server/transferCredit?uid='.$uid.'&pass='.$pass'&from_account='
    .$from_account'&to_account='.$to_account."&amount=".$amount."&format=".format;

$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("from_account") != null
            && request.getAttribute("to_account") != null
            && request.getAttribute("amount") != null
            && request.getAttribute("format") != null) {
               String charset = "UTF-8";
               String query = String.format("uid=%s&pass=%s&from_account=%s&to_account=%s&amount=%s
                &format=%s",
                URLEncoder.encode(request.getAttribute("uid").toString(), charset),
                URLEncoder.encode(request.getAttribute("pass").toString(), charset));
                URLEncoder.encode(request.getAttribute("from_account").toString(), charset),
                URLEncoder.encode(request.getAttribute("to_account").toString(), charset));
                URLEncoder.encode(request.getAttribute("amount").toString(), charset));
                URLEncoder.encode(request.getAttribute("format").toString(), charset));
               String url = "www.voodoosms.com/vapi/server/transferCredit?" + query;
               // 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 from_account = query.from_account;
    var to_account = query.to_account;
    var amount = query.amount;
    var format = query.format;

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

        var options = {
            host: 'www.voodoosms.com',
            path: '/vapi/server/transferCredit' + 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]
     from_account = params[: from_account]
     to_account = params[: to_account]
     amount = params[: amount]
     format = params[: format]

     if uid and pass and from_account and to_account and amount and format
          uri = "uid=" + uid + "&pass=" + pass + "&from_account=" + from_account +
                "&to_account=" + to_account + "&amount=" + amount + "&format=" + format
     else
          uri = 0
     end

     if uri != 0
           url = URI.parse('http://www.voodoosms.com/vapi/server/transferCredit' + 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', '')
         pass = request.GET.get('pass', '')
         from_account = request.GET.get('from_account', '')
         to_account = request.GET.get('to_account', '')
         amount = request.GET.get('amount', '')
         format = request.GET.get('format', '')
    elif request.method == 'POST':
          uid = request.POST.get('uid', '')
          pass = request.POST.get('pass', '')
          from_account = request.POST.get('from_account', '')
          to_account = request.POST.get('to_account', '')
          amount = request.POST.get('amount', '')
          format = request.POST.get('format', '')

    if uid and pass and from_account and to_account and amount and format:
         u = "uid=%s&pass=%s&from_account=%s&to_account=%s&amount=%s&format=%s" % (uid, pass, from_account,
    to_account, amount, format)
    else :
         u = 0

    if u :
         res = urllib2.urlopen("https://voodoosms.com/vapi/server/transferCredit" + 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 from_account = HttpContext.Current.Server.HtmlEncode(Request["from_account"]);
    string to_account = HttpContext.Current.Server.HtmlEncode(Request["to_account"]);
    string amount = HttpContext.Current.Server.HtmlEncode(Request["amount"]);
    string format = HttpContext.Current.Server.HtmlEncode(Request["format"]);

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

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

/* 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 OK</result>
   <resultText>Credits Successfully Transfered</resultText>
</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;