Account Settings

This document lays out the specification of interacting with the Qgiv Account Settings system, allowing for reading, writing, and updating account settings.

Account Settings Properties

GET : https://secure.qgiv.com/admin/api/account/settings

Returns all account settings including the organization settings and individual form settings.

Qgiv noreply@qgiv.com www.qgiv.com 53 Lake Morton Drive Lakeland Florida 33811
Qgiv Form Qgiv 839 1 1 0 1 1 y y info@qgiv.com info@qgiv.com Thank you for your donation! Thank you for donating to our cause! 100 10 n 1 1 0 0 $ amounts 1 0 0 1
{"settings":{
	"organization":{
		"title":"Qgiv",
		"contactEmail":"noreply@qgiv.com",
		"contactURL":"www.qgiv.com",
		"contactStreet":"53 Lake Morton Dr.",
		"contactCity":"Lakeland",
		"contactState":"Florida",
		"contactZip":"33811"
	},
	"forms":	[
		{
		"id":"2",
		"mobileLogo":"839",
		"activeDonation":"1",
		"restrictionClass":"simple"
		"activePledge":"1",
		"isEndDateEnabled":"1",
		"mobileRedirect":"1",
		"displayMaximumDonationAmount":"",
		"collectCompany":"y",
		"collectPhone":"y",
		"donorTitles":"",
		"receiptFromEmail":"info@qgiv.com",
		"receiptFromName":"",
		"receiptSubject":"Thank you for your donation!",
		"receiptContent":"Thank you for donating to our cause!",
		"maximumDonationAmount":"100",
		"minimumDonationAmount":"10",
		"receiptFromOrganizationEmail":"",
		"state":"1"
		},
		...
	]
}}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/account/settings.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/account/settings.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/account/settings.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
   'token' => '[your API token]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/account/settings.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
   'token' => '[your API token]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/account/settings.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

POST : https://secure.qgiv.com/admin/api/account/settings

Updates the organization settings and specified form settings for the organization.

Input

Qgiv company info@qgiv.com
0 0 simple
{"settings":{
	"organization":{
		"title":"Qgiv company",
		"contactEmail":"info@qgiv.com"
	},
	"forms":	[
		{
			"id":"2",
			"activePledge":"0",
			"isEndDateEnabled":"0",
			"restrictionClass":"simple"
		},
		...
	]
}}
Libraries to use :
using System.Net;
using System.Text;
using System.IO;


string postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP&package=[xml or json formatted input]";
HttpWebResponse resp = null;
string result = null;

try {
HttpWebRequest req = WebRequest.Create(new Uri("https://secure.qgiv.com/admin/api/account/settings.xml")) as HttpWebRequest;
req.Method = "POST";
req.Accept = "*/*";
req.UserAgent = "http_request/0.1";
req.Timeout = 50000;
req.ContentType = "application/x-www-form-urlencoded";
byte[] formData = UTF8Encoding.UTF8.GetBytes(postData);
using (Stream post = req.GetRequestStream()) {
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
resp = req.GetResponse() as HttpWebResponse;

if (resp.StatusCode == System.Net.HttpStatusCode.OK) {
using (resp) {
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
}
} catch (Exception e) {
result = "error : " + e.Message;
}
String data = URLEncoder.encode("token", "UTF-8") + "=" + URLEncoder.encode("skyMV9YeaxQ7EjbEUHt8TUiP", "UTF-8");
data += "&" + URLEncoder.encode("package", "UTF-8") + "=" URLEncoder.encode("[xml or json formatted input]", "UTF-8");

URL url = new URL("https://secure.qgiv.com/admin/api/account/settings.xml");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
String output;
while ((line = rd.readLine()) != null) {
output += line;
}

wr.close();
rd.close();
return output;
var apiRequest = false;
var url = "https://secure.qgiv.com/admin/api/account/settings.xml";
var postData = "token=skyMV9YeaxQ7EjbEUHt8TUiP&package=[xml or json formatted input]";
var results;

var isIE8 = window.XDomainRequest ? true : false;
if (typeof XMLHttpRequest != "undefined") {
if(isIE8) {
apiRequest = new Window.XDomainRequest()
} else {
apiRequest = new XMLHttpRequest();
}
} else if (window.ActiveXObject) {
var ieVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for (var i = 0; i < ieVersions.length; i++) {
try {
apiRequest = new ActiveXObject(aVersions[i]);
} catch(oError) {
throw new Error("XMLHttp object could be created.");
}
}
}

if (!apiRequest) {
alert("An error has occuerd while creating XMLHttpRequest object");
}


if (apiRequest) {
apiRequest.open("POST", url, true);
apiRequest.onreadystatechange = handleResponse;
apiRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
apiRequest.send(postData);
}

function handleResponse() {
if (apiRequest.readyState == 4) {
if (apiRequest.status == 200) {
results = apiRequest.responseText;
} else {
results = "Server response is unsuccessful";
}
} else {
results = "Server response is incomplete"
}
}
$postArray = array(
'token' => '[your API token]',
'package' => '[xml or json formatted input]'
);

$postString = http_build_query($postArray);

$url = 'https://secure.qgiv.com/admin/api/account/settings.xml';

$curlHandler = curl_init();

curl_setopt($curlHandler, CURLOPT_URL, $url);
curl_setopt($curlHandler, CURLOPT_POST, true);
curl_setopt($curlHandler, CURLOPT_POSTFIELDS, $postString);
curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandler, CURLOPT_SSL_VERIFYHOST, false);

$response = curl_exec($curlHandler);

if (curl_errno($curlHandler)) {
$response = 'error : '.curl_error($curlHandler);
} else {
curl_close($curlHandler);
}

return $response;

import urllib, urllib2

postArray = {
'token' : '[your API token]',
'package' : '[xml or json formatted input]'
}

postString = urllib.urlencode(postArray)

url = 'https://secure.qgiv.com/admin/api/account/settings.xml';

request = urllib2.Request(url, data=data)

try:
  response = urllib2.urlopen(request)
  result = response.read()
  response.close()
except urllib2.URLError, e:
  result = 'error : ' + str(e.code)

return result

Output

Qgiv Company info@qgiv.com www.qgiv.com 53 Lake Morton Drive Lakeland Florida 33811
Qgiv Form Qgiv 839 1 0 0 0 1 y y info@qgiv.com info@qgiv.com Thank you for your donation! Thank you for donating to our cause! 100 10 n 1 1 0 0 $ simple 1 0 0 1
{"settings":{
  "organization":{
    "title":"Qgiv Company",
    "contactEmail":"info@qgiv.com",
    "contactURL":"www.qgiv.com",
    "contactStreet":"53 Lake Morton Dr.",
    "contactCity":"Lakeland",
    "contactState":"Florida",
    "contactZip":"33811"
  },
  "forms":  [
    {
    "id":"2",
    "title":"Qgiv Form",
    "formType":"Qgiv"
    "mobileLogo":"839",
    "activeDonation":"1",
    "restrictionClass":"simple"
    "activePledge":"0",
    "isEndDateEnabled":"0",
    "mobileRedirect":"1",
    "displayMaximumDonationAmount":"",
    "collectCompany":"y",
    "collectPhone":"y",
    "donorTitles":"",
    "receiptFromEmail":"info@qgiv.com",
    "receiptFromName":"",
    "receiptSubject":"Thank you for your donation!",
    "receiptContent":"Thank you for donating to our cause!",
    "maximumDonationAmount":"100",
    "minimumDonationAmount":"10",
    "receiptFromOrganizationEmail":"",
    "collectMobileAddress": "0",
    "defaultRecurringFrequency": "n",
    "enableCreateOwnPledge": "1",
    "enableDonorLogins": "1",
    "currency": {
        "format": "0",
        "symbolLocation": "0",
        "symbol": "$"
    },
    "restrictionClass": "simple",
    "mobileRedirect": "1",
    "displayDonationAmountLimit": "0",
    "collectMobileAddress": "0"
    "redirectSMS": "1"
    },
    ...
  ]
}}

* denotes a required field

** denotes a required field based on Event settings

*** denotes a field that is only required when submitting Form level API credentials