Peer-to-Peer Registrations
This document lays out the specification of interacting with the Peer-to-Peer Registrations system, allowing for reading of P2P Registrations.
GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/[limit]
[limit] must be an integer value greater than zero
Returns the last [limit] registrations associated with the current Hobnob event
<forms>
<form id="1995">
<registrations>
<registration id="704">
1995
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>750.00</fundraisinggoal>
<registrant id="20022">
<firstname>Tester</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>parent@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Lakeland Walk</title>
</classification>
<purchasehistory id="3032">
<category>1569</category>
<categoryfee>20.00</categoryfee>
<registrationtotal>10.00</registrationtotal>
<promocode>10OFF</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24514</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>1</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:25:31</registrationdate>
<childregistrations>
<childregistration id="705">
<form>1995</form>
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>75.00</fundraisinggoal>
<registrant id="20023">
<firstname>Child</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>child@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>704</parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Seattle Walk</title>
</classification>
<purchasehistory id="3033">
<category>1599</category>
<categoryfee>10.00</categoryfee>
<registrationtotal>0.00</registrationtotal>
<promocode>FREECHILD</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24515</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>0</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:26:02</registrationdate>
<state>1</state>
</alias>
</avatar>
</childregistration>
</childregistrations>
<state>1</state>
</alias>
</avatar>
</parentregistration>
</registration>
</registrations>
</form>
</forms>
{
"forms": {
"form": {
"id": "1995",
"registrations": {
"registration": {
"id": "704",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "750.00",
"registrant": {
"id": "20022",
"firstName": "Tester",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "parent@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Lakeland Walk"
},
"purchaseHistory": {
"id": "3032",
"category": "1569",
"categoryFee": "20.00",
"registrationTotal": "10.00",
"promoCode": "10OFF",
"promoCodeFee": "10.00"
},
"globalAccount": "24514",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "1",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:25:31",
"childRegistrations": {
"childRegistration": {
"id": "705",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "75.00",
"registrant": {
"id": "20023",
"firstName": "Child",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "child@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"parentRegistration": "704",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Seattle Walk"
},
"purchaseHistory": {
"id": "3033",
"category": "1599",
"categoryFee": "10.00",
"registrationTotal": "0.00",
"promoCode": "FREECHILD",
"promoCodeFee": "10.00"
},
"globalAccount": "24515",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "0",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:26:02",
"state": "1"
}
...
},
"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("GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/10.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("GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/10.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 = "GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/10.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 = 'GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/10.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 = 'GET : https://secure.qgiv.com/admin/api/reporting/registrations/last/10.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
GET : https://secure.qgiv.com/admin/api/reporting/registrations/dates/[begin]:[end]
[begin] and [end] must be valid dates in the following format: MMDDYYYY or MM-DD-YYYY
ex. /reporting/registrations/dates/01012012:12312012 or /reporting/registrations/dates/01-01-2012:12-31-2012
Timestamps can also be inputted to further filter results by using the following format: MMDDYYYY HHIISS ex. /reporting/registrations/dates/01-01-2012 083000:12-31-2012 093000
Returns all registrations associated with the current form or organization
<forms>
<form id="1995">
<registrations>
<registration id="704">
1995
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>750.00</fundraisinggoal>
<registrant id="20022">
<firstname>Tester</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>parent@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Lakeland Walk</title>
</classification>
<purchasehistory id="3032">
<category>1569</category>
<categoryfee>20.00</categoryfee>
<registrationtotal>10.00</registrationtotal>
<promocode>10OFF</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24514</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>1</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:25:31</registrationdate>
<childregistrations>
<childregistration id="705">
<form>1995</form>
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>75.00</fundraisinggoal>
<registrant id="20023">
<firstname>Child</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>child@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>704</parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Seattle Walk</title>
</classification>
<purchasehistory id="3033">
<category>1599</category>
<categoryfee>10.00</categoryfee>
<registrationtotal>0.00</registrationtotal>
<promocode>FREECHILD</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24515</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>0</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:26:02</registrationdate>
<state>1</state>
</alias>
</avatar>
</childregistration>
</childregistrations>
<state>1</state>
</alias>
</avatar>
</parentregistration>
</registration>
</registrations>
</form>
</forms>
{
"forms": {
"form": {
"id": "1995",
"registrations": {
"registration": {
"id": "704",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "750.00",
"registrant": {
"id": "20022",
"firstName": "Tester",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "parent@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Lakeland Walk"
},
"purchaseHistory": {
"id": "3032",
"category": "1569",
"categoryFee": "20.00",
"registrationTotal": "10.00",
"promoCode": "10OFF",
"promoCodeFee": "10.00"
},
"globalAccount": "24514",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "1",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:25:31",
"childRegistrations": {
"childRegistration": {
"id": "705",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "75.00",
"registrant": {
"id": "20023",
"firstName": "Child",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "child@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"parentRegistration": "704",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Seattle Walk"
},
"purchaseHistory": {
"id": "3033",
"category": "1599",
"categoryFee": "10.00",
"registrationTotal": "0.00",
"promoCode": "FREECHILD",
"promoCodeFee": "10.00"
},
"globalAccount": "24515",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "0",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:26:02",
"state": "1"
}
...
},
"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/reporting/registrations/dates/01012016:12312016.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/reporting/registrations/dates/01012016:12312016.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/reporting/registrations/dates/01012016:12312016.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/reporting/registrations/dates/01012016:12312016.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/reporting/registrations/dates/01012016:12312016.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
GET : https://secure.qgiv.com/admin/api/reporting/registrations/[id]
Returns the registration requested, individually specified by ID.
<forms>
<form id="1995">
<registration id="704">
1995
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>750.00</fundraisinggoal>
<registrant id="20022">
<firstname>Tester</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>parent@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Lakeland Walk</title>
</classification>
<purchasehistory id="3032">
<category>1569</category>
<categoryfee>20.00</categoryfee>
<registrationtotal>10.00</registrationtotal>
<promocode>10OFF</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24514</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>1</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:25:31</registrationdate>
<childregistrations>
<childregistration id="705">
<form>1995</form>
<category id="1569">
<title>5k Walk</title>
</category>
<fundraisinggoal>75.00</fundraisinggoal>
<registrant id="20023">
<firstname>Child</firstname>
<lastname>Qgiv</lastname>
<street>50 Lake Morton Dr.</street>
<city>Lakeland</city>
<state>Florida</state>
<zip>33811</zip>
<country>US</country>
<phone>8888888888</phone>
<cell>
<email>child@qgiv.com</email>
</cell>
</registrant>
<emergencycontact1>0</emergencycontact1>
<emergencycontact2>0</emergencycontact2>
<parentregistration>704</parentregistration>
<emailfollowup>1</emailfollowup>
<showinsearch>1</showinsearch>
<showinleaderboard>1</showinleaderboard>
<notifyfordonation>1</notifyfordonation>
<notifyforbadges>1</notifyforbadges>
<classification id="1590">
<title>Seattle Walk</title>
</classification>
<purchasehistory id="3033">
<category>1599</category>
<categoryfee>10.00</categoryfee>
<registrationtotal>0.00</registrationtotal>
<promocode>FREECHILD</promocode>
<promocodefee>10.00</promocodefee>
</purchasehistory>
<globalaccount>24515</globalaccount>
<team>1456</team>
<teamname>SuperWalk</teamname>
<teamcaptain>0</teamcaptain>
<avatar>
<alias>
<totalraised>0.00</totalraised>
<totalonline>0.00</totalonline>
<totalofflineunverified>0.00</totalofflineunverified>
<totalofflineverified>0.00</totalofflineverified>
<registrationdate>2016-01-28 12:26:02</registrationdate>
<state>1</state>
</alias>
</avatar>
</childregistration>
</childregistrations>
<state>1</state>
</alias>
</avatar>
</parentregistration>
</registration>
</form>
</forms>
{
"forms": {
"form": {
"id": "1995",
"registration": {
"id": "704",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "750.00",
"registrant": {
"id": "20022",
"firstName": "Tester",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "parent@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Lakeland Walk"
},
"purchaseHistory": {
"id": "3032",
"category": "1569",
"categoryFee": "20.00",
"registrationTotal": "10.00",
"promoCode": "10OFF",
"promoCodeFee": "10.00"
},
"globalAccount": "24514",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "1",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:25:31",
"childRegistrations": {
"childRegistration": {
"id": "705",
"form": "1995",
"category": {
"id": "1569",
"title": "5k Walk"
},
"fundraisingGoal": "75.00",
"registrant": {
"id": "20023",
"firstName": "Child",
"lastName": "Qgiv",
"street": "50 Lake Morton Dr.",
"city": "Lakeland",
"state": "Florida",
"zip": "33811",
"country": "US",
"phone": "8888888888",
"email": "child@qgiv.com"
},
"emergencyContact1": "0",
"emergencyContact2": "0",
"parentRegistration": "704",
"emailFollowup": "1",
"showInSearch": "1",
"showInLeaderboard": "1",
"notifyForDonation": "1",
"notifyForBadges": "1",
"classification": {
"id": "1590",
"title": "Seattle Walk"
},
"purchaseHistory": {
"id": "3033",
"category": "1599",
"categoryFee": "10.00",
"registrationTotal": "0.00",
"promoCode": "FREECHILD",
"promoCodeFee": "10.00"
},
"globalAccount": "24515",
"team": "1456",
"teamName": "SuperWalk",
"teamCaptain": "0",
"totalRaised": "0.00",
"totalOnline": "0.00",
"totalOfflineUnverified": "0.00",
"totalOfflineVerified": "0.00",
"registrationDate": "2016-01-28 12:26:02",
"state": "1"
}
...
},
"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/reporting/registrations/704.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/reporting/registrations/704.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/reporting/registrations/704.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/reporting/registrations/704.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/reporting/registrations/704.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
* 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