Transactions
This document lays out the specification of interacting with the Qgiv Transactions system, allowing for reading of Transactions.
Additional Transaction Filters
- filterValue (string)
- newFilterValue (string)
GET : https://secure.qgiv.com/admin/api/reporting/transactions/last/[limit]
[limit] must be an integer value greater than zero
Returns the last [limit] transactions associated with the current form or organization
{
"transactions": {
"transaction": {
"transStatus": "Accepted",
"title": "Dr.",
"firstName": "Qgiv",
"lastName": "Tester",
"phone": "8888888888",
"fee": "0.00",
"giftAssist": "1.61",
"netAmount": "100.00",
"billingName": "Qgiv Tester",
"billingAddress": "50 Lake Morton Dr",
"billingCity": "Lakeland",
"billingState": "FL",
"billingZip": "33811",
"billingCountry": "US",
"lastFour": "1111",
"associatedInfo": "mailcampaign",
"donationSource": "donation form",
"sourceID": "",
"optedIn": "y",
"filter": "",
"donorId": "12345",
"type": "one time",
"isRecurring":"y",
"recurringId":"4321",
"recurringStartDate":"March 16, 2012",
"recurringEndDate":"no end",
"frequency":"1 week",
"paymentType": "Credit Card",
"paymentMethod": "Visa",
"checkNumber": "12345678",
"auctionPurchases": [
{
"id": "13631"
"product": "56886",
"qty": "1",
"total": "10.00",
"productName": "Sunglasses",
"category": "85740",
"categoryName": "Store Items",
"itemNumber": "15"
}
],
"auctionDonations": [
{
"id": "6231"
"product": "56887",
"title": "Bikes for Tykes",
"category": "12345",
"categoryName": "Fund-a-Need Items",
"itemNumber": "22",
"value": "100.00",
}
],
"customAmountName": "other",
"restrictionId": "Test 12345",
"restriction": "Test Restriction",
"subRestriction": "Test Sub Restriction",
"donations": [
{
"id": "296557",
"donationAmount": "100.00"
}
],
"classification": {
"id": "1665",
"title": "Miami, FL"
},
"storePurchases": [
{
"id": "290",
"product": "1475",
"qty": "1",
"total": "37.45",
"category": "1819"
}
],
"registrations": [
{
"id": "1195",
"checkNumber": "12345678",
"category": "1700",
"categoryFee": "25.00",
"categoryTitle": "Senior",
"registrationTotal": "25.00",
"participantDataMapping": "123456"
}
],
"dedication": "In honor of Qgiv",
"dedicationName": "In honor of",
"dedicationText": "Qgiv",
"dedicationRecipients": "email@email.com",
"dedicationFields": {
"dedicationField": [
{
"question": "Dedication Field #1",
"answer": "Answer",
"id": "3638"
},
]
},
"donationFields": {
"donationField": [
{
"question": "Additional Question #1",
"answer": "Answer",
"reference": "Add Quest #1",
"id": "3739"
},
]
},
"event":{
"id":"4009"
"eventName":"Charity Dinner",
"packages":{
"package":{
"id":"10821",
"eventDataMapping": "exampleText",
"packageName":"Single Ticket",
"packageQuantity":"1",
"packageUnitCost":"25.00",
"packageDirectCost": "12.50",
"packageFairMarketValue": "12.50",
"packageTotal":"25.00",
"packageFields":[{
"packageField":{
"id":"41539",
"question":"What is your meat preference?",
"answer":"Steak"
}
}],
"packageRegistrations": [{
"id": "66152",
"packageFields": [{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
},
{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
}]
}]
}
},
"refunds": {
"refund": {
"settleDate": "2011-10-15",
"transactionDate": "2011-10-13 12:12:22",
"value": "30.00",
"id": "1196"
}
},
"emailDataMapping": "exampleText",
"formDataMapping": "exampleText",
"restrictionDataMapping": "exampleText",
"recurringDataMapping": "exampleText",
"contactCompany": "Qgiv",
"contactAddress": "50 Lake Morton Dr",
"contactCity": "Lakeland",
"contactState": "FL",
"contactZip": "33811",
"contactCountry": "US",
"contactEmail": "qgiv.tester@qgiv.com",
"value": "100.00",
"transactionDate": "April 16, 2015 10:54:10",
"transactionWasAnonymous": "n",
"transactionMemo": "",
"form": "Cipher Beta1",
"id": "355201",
"formId": "2"
}
...
},
"id": "2"
}
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/transactions/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/transactions/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/transactions/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/transactions/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/transactions/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/transactions/after/[Transaction ID]
[Transaction ID] must be a valid Transaction ID
Returns the transactions with ID's greater than the given ID
{
"transactions": {
"transaction": {
"transStatus": "Accepted",
"title": "Dr.",
"firstName": "Qgiv",
"lastName": "Tester",
"phone": "8888888888",
"fee": "0.00",
"giftAssist": "1.61",
"netAmount": "100.00",
"billingName": "Qgiv Tester",
"billingAddress": "50 Lake Morton Dr",
"billingCity": "Lakeland",
"billingState": "FL",
"billingZip": "33811",
"billingCountry": "US",
"lastFour": "1111",
"associatedInfo": "mailcampaign",
"donationSource": "donation form",
"sourceID": "",
"optedIn": "y",
"filter": "",
"donorId": "12345",
"type": "one time",
"isRecurring": "y",
"pledge": "1234",
"paymentType": "Credit Card",
"paymentMethod": "Visa",
"checkNumber": "12345678",
"auctionPurchases": [
{
"id": "13631"
"product": "56886",
"qty": "1",
"total": "10.00",
"productName": "Sunglasses",
"category": "85740",
"categoryName": "Store Items",
"itemNumber": "15"
}
],
"auctionDonations": [
{
"id": "6231"
"product": "56887",
"title": "Bikes for Tykes",
"category": "12345",
"categoryName": "Fund-a-Need Items",
"itemNumber": "22",
"value": "100.00",
}
],
"customAmountName": "other",
"restrictionId": "Test 12345",
"restriction": "Test Restriction",
"subRestriction": "Test Sub Restriction",
"donations": [
{
"id": "123456",
"attribution": {
"type": "Participant",
"details": [
{
"id": "1100",
"participantTitle": "Mr.",
"participantOrganization": "Qgiv",
"participantFirstName": "Don",
"participantLastName": "Smith",
"participantStreet": "123 Main Street",
"participantCity": "Winterlake",
"participantState": "Alaska",
"participantZip": "12345",
"participantCountry": "US",
"participantPhone": "5555555555",
"participantEmail": "don.smith@mailinator.com"
}
]
},
"privacyCommunicationSelection": {
"contactViaEmail": "y",
"showName": "y",
"showAmount": "y"
},
"donationAmount": "100.00"
}
],
"classification": {
"id": "1665",
"title": "Miami, FL"
},
"storePurchases": [
{
"id": "290",
"product": "1475",
"qty": "1",
"total": "37.45",
"category": "1819"
}
],
"registrations": [
{
"id": "1195",
"checkNumber": "12345678",
"category": "1700",
"categoryFee": "25.00",
"categoryTitle": "Senior",
"registrationTotal": "25.00",
"participantDataMapping": "123456"
}
],
"dedication": "In honor of Qgiv",
"dedicationName": "In honor of",
"dedicationText": "Qgiv",
"dedicationRecipients": "email@email.com",
"dedicationFields": {
"dedicationField": [
{
"question": "Dedication Field #1",
"answer": "Answer",
"id": "3638"
},
]
},
"donationFields": {
"donationField": [
{
"question": "Additional Question #1",
"answer": "Answer",
"reference": "Add Quest #1",
"id": "3739"
},
]
},
"event":{
"id":"4009"
"eventName":"Charity Dinner",
"packages":{
"package":{
"id":"10821",
"eventDataMapping": "exampleText",
"packageName":"Single Ticket",
"packageQuantity":"1",
"packageUnitCost":"25.00",
"packageDirectCost": "12.50",
"packageFairMarketValue": "12.50",
"packageTotal":"25.00",
"packageFields":[{
"packageField":{
"id":"41539",
"question":"What is your meat preference?",
"answer":"Steak"
}
}],
"packageRegistrations": [{
"id": "66152",
"packageFields": [{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
},
{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
}]
}]
}
}
},
"refunds": {
"refund": {
"settleDate": "2011-10-15",
"transactionDate": "2011-10-13 12:12:22",
"value": "30.00",
"id": "1196"
}
},
"emailDataMapping": "exampleText",
"formDataMapping": "exampleText",
"restrictionDataMapping": "exampleText",
"recurringDataMapping": "exampleText",
"contactCompany": "Qgiv",
"contactAddress": "50 Lake Morton Dr",
"contactCity": "Lakeland",
"contactState": "FL",
"contactZip": "33811",
"contactCountry": "US",
"contactEmail": "qgiv.tester@qgiv.com",
"value": "100.00",
"transactionDate": "April 16, 2015 10:54:10",
"transactionWasAnonymous": "n",
"transactionMemo": "",
"form": "Cipher Beta1",
"id": "355201",
"formId": "2"
}
...
},
"id": "2"
}
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/transactions/after/300000.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/transactions/after/300000.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/transactions/after/300000.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/transactions/after/300000.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/transactions/after/300000.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/transactions/dates/[begin]:[end]
[begin] and [end] must be valid dates in the following format: MMDDYYYY or MM-DD-YYYY
ex. /reporting/transactions/dates/01012012:12312012 or /reporting/transactions/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/transactions/dates/01-01-2012 083000:12-31-2012 093000
Returns all transactions associated with the current form or organization
{
"transactions": {
"transaction": {
"transStatus": "Accepted",
"title": "Dr.",
"firstName": "Qgiv",
"lastName": "Tester",
"phone": "8888888888",
"fee": "0.00",
"giftAssist": "1.61",
"netAmount": "100.00",
"billingName": "Qgiv Tester",
"billingAddress": "50 Lake Morton Dr",
"billingCity": "Lakeland",
"billingState": "FL",
"billingZip": "33811",
"billingCountry": "US",
"lastFour": "1111",
"associatedInfo": "mailcampaign",
"donationSource": "donation form",
"sourceID": "",
"optedIn": "y",
"filter": "",
"donorId": "12345",
"type": "one time",
"isRecurring": "y",
"pledge": "1234",
"paymentType": "Credit Card",
"paymentMethod": "Visa",
"checkNumber": "12345678",
"auctionPurchases": [
{
"id": "13631"
"product": "56886",
"qty": "1",
"total": "10.00",
"productName": "Sunglasses",
"category": "85740",
"categoryName": "Store Items",
"itemNumber": "15"
}
],
"auctionDonations": [
{
"id": "6231"
"product": "56887",
"title": "Bikes for Tykes",
"category": "12345",
"categoryName": "Fund-a-Need Items",
"itemNumber": "22",
"value": "100.00",
}
],
"customAmountName": "other",
"restrictionId": "Test 12345",
"restriction": "Test Restriction",
"subRestriction": "Test Sub Restriction",
"donations": [
{
"id": "296557",
"donationAmount": "100.00"
}
],
"classification": {
"id": "1665",
"title": "Miami, FL"
},
"storePurchases": [
{
"id": "290",
"product": "1475",
"qty": "1",
"total": "37.45",
"category": "1819"
}
],
"registrations": [
{
"id": "1195",
"checkNumber": "12345678",
"category": "1700",
"categoryFee": "25.00",
"categoryTitle": "Senior",
"registrationTotal": "25.00",
"participantDataMapping": "123456"
}
],
"dedication": "In honor of Qgiv",
"dedicationName": "In honor of",
"dedicationText": "Qgiv",
"dedicationRecipients": "email@email.com",
"dedicationFields": {
"dedicationField": [
{
"question": "Dedication Field #1",
"answer": "Answer",
"id": "3638"
},
]
},
"donationFields": {
"donationField": [
{
"question": "Additional Question #1",
"answer": "Answer",
"reference": "Add Quest #1",
"id": "3739"
},
]
},
"event":{
"id":"4009"
"eventName":"Charity Dinner",
"packages":{
"package":{
"id":"10821",
"eventDataMapping": "exampleText",
"packageName":"Single Ticket",
"packageQuantity":"1",
"packageUnitCost":"25.00",
"packageDirectCost": "12.50",
"packageFairMarketValue": "12.50",
"packageTotal":"25.00",
"packageFields":[{
"packageField":{
"id":"41539",
"question":"What is your meat preference?",
"answer":"Steak"
}
}],
"packageRegistrations": [{
"id": "66152",
"packageFields": [{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
},
{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
}]
}]
}
}
},
"refunds": {
"refund": {
"settleDate": "2011-10-15",
"transactionDate": "2011-10-13 12:12:22",
"value": "30.00",
"id": "1196"
}
},
"emailDataMapping": "exampleText",
"formDataMapping": "exampleText",
"restrictionDataMapping": "exampleText",
"recurringDataMapping": "exampleText",
"contactCompany": "Qgiv",
"contactAddress": "50 Lake Morton Dr",
"contactCity": "Lakeland",
"contactState": "FL",
"contactZip": "33811",
"contactCountry": "US",
"contactEmail": "qgiv.tester@qgiv.com",
"value": "100.00",
"transactionDate": "April 16, 2015 10:54:10",
"transactionWasAnonymous": "n",
"transactionMemo": "",
"form": "Cipher Beta1",
"id": "355201",
"formId": "2"
}
...
},
"id": "2"
}
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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/[id]
Returns the transaction requested, individually specified by ID.
{
"transactions": {
"transaction": {
"transStatus": "Accepted",
"title": "Dr.",
"firstName": "Qgiv",
"lastName": "Tester",
"phone": "8888888888",
"fee": "0.00",
"giftAssist": "1.61",
"netAmount": "100.00",
"billingName": "Qgiv Tester",
"billingAddress": "50 Lake Morton Dr",
"billingCity": "Lakeland",
"billingState": "FL",
"billingZip": "33811",
"billingCountry": "US",
"lastFour": "1111",
"associatedInfo": "mailcampaign",
"donationSource": "donation form",
"sourceID": "",
"optedIn": "y",
"filter": "",
"donorId": "12345",
"type": "one time",
"isRecurring": "y",
"pledge": "1234",
"paymentType": "Credit Card",
"paymentMethod": "Visa",
"checkNumber": "12345678",
"auctionPurchases": [
{
"id": "13631"
"product": "56886",
"qty": "1",
"total": "10.00",
"productName": "Sunglasses",
"category": "85740",
"categoryName": "Store Items",
"itemNumber": "15"
}
],
"auctionDonations": [
{
"id": "6231"
"product": "56887",
"title": "Bikes for Tykes",
"category": "12345",
"categoryName": "Fund-a-Need Items",
"itemNumber": "22",
"value": "100.00",
}
],
"customAmountName": "other",
"restrictionId": "Test 12345",
"restriction": "Test Restriction",
"subRestriction": "Test Sub Restriction",
"donations": [
{
"id": "296557",
"donationAmount": "100.00"
}
],
"classification": {
"id": "1665",
"title": "Miami, FL"
},
"storePurchases": [
{
"id": "290",
"product": "1475",
"qty": "1",
"total": "37.45",
"category": "1819"
}
],
"registrations": [
{
"id": "1195",
"checkNumber": "12345678",
"category": "1700",
"categoryFee": "25.00",
"categoryTitle": "Senior",
"registrationTotal": "25.00",
"participantDataMapping": "123456"
}
],
"dedication": "In honor of Qgiv",
"dedicationName": "In honor of",
"dedicationText": "Qgiv",
"dedicationRecipients": "email@email.com",
"dedicationFields": {
"dedicationField": [
{
"question": "Dedication Field #1",
"answer": "Answer",
"id": "3638"
},
]
},
"donationFields": {
"donationField": [
{
"question": "Additional Question #1",
"answer": "Answer",
"reference": "Add Quest #1",
"id": "3739"
},
]
},
"event":{
"id":"4009"
"eventName":"Charity Dinner",
"packages":{
"package":{
"id":"10821",
"eventDataMapping": "exampleText",
"packageName":"Single Ticket",
"packageQuantity":"1",
"packageUnitCost":"25.00",
"packageDirectCost": "12.50",
"packageFairMarketValue": "12.50",
"packageTotal":"25.00",
"packageFields":[{
"packageField":{
"id":"41539",
"question":"What is your meat preference?",
"answer":"Steak"
}
}],
"packageRegistrations": [{
"id": "66152",
"packageFields": [{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
},
{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
}]
}]
}
}
},
"refunds": {
"refund": {
"settleDate": "2011-10-15",
"transactionDate": "2011-10-13 12:12:22",
"value": "30.00",
"id": "1196"
}
},
"emailDataMapping": "exampleText",
"formDataMapping": "exampleText",
"restrictionDataMapping": "exampleText",
"recurringDataMapping": "exampleText",
"contactCompany": "Qgiv",
"contactAddress": "50 Lake Morton Dr",
"contactCity": "Lakeland",
"contactState": "FL",
"contactZip": "33811",
"contactCountry": "US",
"contactEmail": "qgiv.tester@qgiv.com",
"value": "100.00",
"transactionDate": "April 16, 2015 10:54:10",
"transactionWasAnonymous": "n",
"transactionMemo": "",
"form": "Cipher Beta1",
"id": "355201",
"formId": "2"
}
},
"id": "2"
}
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/transactions/347683.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/transactions/347683.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/transactions/347683.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/transactions/347683.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/transactions/347683.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/reporting/transactions/last/[limit]
[limit] must be an integer value greater than zero
Returns the last [limit] transactions associated with the current form or organization with a given filter. Filters can be used to further limit transaction queries.
{
"filterValue":"fil_1",
"newFilterValue":"fil_2",
}
Output
{
"transactions": {
"transaction": {
"transStatus": "Accepted",
"title": "Dr.",
"firstName": "Qgiv",
"lastName": "Tester",
"phone": "8888888888",
"fee": "0.00",
"giftAssist": "1.61",
"netAmount": "100.00",
"billingName": "Qgiv Tester",
"billingAddress": "50 Lake Morton Dr",
"billingCity": "Lakeland",
"billingState": "FL",
"billingZip": "33811",
"billingCountry": "US",
"lastFour": "1111",
"associatedInfo": "mailcampaign",
"donationSource": "donation form",
"sourceID": "",
"optedIn": "y",
"filter": "",
"donorId": "12345",
"type": "one time",
"isRecurring": "y",
"pledge": "1234",
"paymentType": "Credit Card",
"paymentMethod": "Visa",
"checkNumber": "12345678",
"auctionPurchases": [
{
"id": "13631"
"product": "56886",
"qty": "1",
"total": "10.00",
"productName": "Sunglasses",
"category": "85740",
"categoryName": "Store Items",
"itemNumber": "15"
}
],
"auctionDonations": [
{
"id": "6231"
"product": "56887",
"title": "Bikes for Tykes",
"category": "12345",
"categoryName": "Fund-a-Need Items",
"itemNumber": "22",
"value": "100.00",
}
],
"customAmountName": "other",
"restrictionId": "Test 12345",
"restriction": "Test Restriction",
"subRestriction": "Test Sub Restriction",
"donations": [
{
"id": "296557",
"donationAmount": "100.00"
}
],
"classification": {
"id": "1665",
"title": "Miami, FL"
},
"storePurchases": [
{
"id": "290",
"product": "1475",
"qty": "1",
"total": "37.45",
"category": "1819"
}
],
"registrations": [
{
"id": "1195",
"checkNumber": "12345678",
"category": "1700",
"categoryFee": "25.00",
"categoryTitle": "Senior",
"registrationTotal": "25.00",
"participantDataMapping": "123456"
}
],
"dedication": "In honor of Qgiv",
"dedicationName": "In honor of",
"dedicationText": "Qgiv",
"dedicationRecipients": "email@email.com",
"dedicationFields": {
"dedicationField": [
{
"question": "Dedication Field #1",
"answer": "Answer",
"id": "3638"
},
]
},
"donationFields": {
"donationField": [
{
"question": "Additional Question #1",
"answer": "Answer",
"reference": "Add Quest #1",
"id": "3739"
},
]
},
"event":{
"id":"4009"
"eventName":"Charity Dinner",
"packages":{
"package":{
"id":"10821",
"eventDataMapping": "exampleText",
"packageName":"Single Ticket",
"packageQuantity":"1",
"packageUnitCost":"25.00",
"packageDirectCost": "12.50",
"packageFairMarketValue": "12.50",
"packageTotal":"25.00",
"packageFields":[{
"packageField":{
"id":"41539",
"question":"What is your meat preference?",
"answer":"Steak"
}
}],
"packageRegistrations": [{
"id": "66152",
"packageFields": [{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
},
{
"id": "44834",
"referenceName": "field_reference",
"question": "Required Field",
"answer": "Option 1"
}]
}]
}
}
},
"refunds": {
"refund": {
"settleDate": "2011-10-15",
"transactionDate": "2011-10-13 12:12:22",
"value": "30.00",
"id": "1196"
}
},
"emailDataMapping": "exampleText",
"formDataMapping": "exampleText",
"restrictionDataMapping": "exampleText",
"recurringDataMapping": "exampleText",
"contactCompany": "Qgiv",
"contactAddress": "50 Lake Morton Dr",
"contactCity": "Lakeland",
"contactState": "FL",
"contactZip": "33811",
"contactCountry": "US",
"contactEmail": "qgiv.tester@qgiv.com",
"value": "100.00",
"transactionDate": "April 16, 2015 10:54:10",
"transactionWasAnonymous": "n",
"transactionMemo": "",
"form": "Cipher Beta1",
"id": "355201",
"formId": "2"
}
...
},
"id": "2"
}
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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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/transactions/dates/01012012:12312012.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