AES ConductorLink API Guide
Overview
The AES ConductorLink API can be accessed by http POST, with parameters passed in JSON format. Sample code can be found below.
In all cases an API access key must be used in the request header to authenticate. Please email contactus@aesauctions.com to obtain your Organization’s unique access key.
Test and Production Server URL's
QA Staging Server – https://actestserver.com
Production Server – https://auctionconductor.com
Available Calls
Events
/getEvent returns the current name of the event, to ensure accuracy of event_id's.
/getOrganizationEvents returns all events found for a particular Organization.
Contributors
A Contributor is any person involved with the event. This may be a Patron (someone who makes a purchase), Attendee for an event, Online only participant, corporate or personal Sponsor, event Volunteer, or in-kind auction item Donor.
Event Contributors
Event Contributors reference existing Contributors, and contain additional data specific to a particular Event.
Categories
All Packages that are being sold need to have a single assigned Category. The category assigned determines the friendly number of the package. By default, category number ranges will be assigned by 100's for 3 digit numbering or 100's for 4 digit numbering. For example, a category may be assigned the range of 100-199, and the first package added to this category would automatically be assigned pkg #100, the second #101, etc.
Packages
Packages are sold at the event. Some packages may be published (visible on the mobile bidding site) or unpublished (for purposes of controlling which devices show special packages). By default all Silent, Live and Fixed Price packages should be published, and all Multi-Unit, Registration Extras, Sponsorships, and Tickets and Admission packages should be unpublished. Donation packages may be published in certain scenarios, and hidden in others.
Post Event (Final Data Sync)
After the event has concluded, there is typically a period of a few days where final payments and sales are validated, changed, and finalized. After this waiting period has passed, and all auction categories have permanently closed, the final data may be downloaded one last time, in the following order:
- /lockEvent - when the event is Locked, all low level users will be restricted from adding or editing contributors, packages, payments and sales in AES.
- /getContributors - provides all Contributors found for the event. It is crucial to the success of the next 2 steps to ensure all contributors are accounted for.
- /getSales - provides all Sales (purchases and winning bids) for the event, for all currently closed packages. Each Sale is assigned to a specific Contributor.
- /getPayments - provides all cash, check, and credit card Payments collected in AES. Each Payment is assigned to a specific Contributor.
Webhooks
AES Webhooks - will let your application know when a Contributor checks out successfully from the event Microsite only. Includes information about the Contributor and their Guests, which Packages they purchased, and their Payment.
Appendix A - US State/Territory or Country Values
|
Country |
Afghanistan |
Albania |
Algeria |
Andorra |
Angola |
Antigua and Barbuda |
Argentina |
Armenia |
Australia |
Austria |
Azerbaijan |
Bahamas |
Bahrain |
Bangladesh |
Barbados |
Belarus |
Belgium |
Belize |
Benin |
Bhutan |
Bolivia |
Bosnia and Herzegovina |
Botswana |
Brazil |
Brunei Darussalam |
Bulgaria |
Burkina Faso |
Burundi |
Cabo Verde |
Cambodia |
Cameroon |
Canada |
Central African Republic |
Chad |
Chile |
China |
Colombia |
Comoros |
Congo |
Costa Rica |
Côte d'Ivoire |
Croatia |
Cuba |
Cyprus |
Czech Republic |
Democratic Republic of the Cong |
Denmark |
Djibouti |
Dominica |
Dominican Republic |
Ecuador |
Egypt |
El Salvador |
Equatorial Guinea |
Eritrea |
Estonia |
Ethiopia |
Fiji |
Finland |
France |
Gabon |
Gambia |
Georgia |
Germany |
Ghana |
Greece |
Grenada |
Guatemala |
Guinea |
Guinea-Bissau |
Guyana |
Haiti |
Honduras |
Hungary |
Iceland |
India |
Indonesia |
Iran |
Iraq |
Ireland |
Israel |
Italy |
Jamaica |
Japan |
Jordan |
Kazakhstan |
Kenya |
Kiribati |
Kuwait |
Kyrgyzstan |
Laos |
Latvia |
Lebanon |
Lesotho |
Liberia |
Libya |
Liechtenstein |
Lithuania |
Luxembourg |
Macedonia |
Madagascar |
Malawi |
Malaysia |
Maldives |
Mali |
Malta |
Marshall Islands |
Mauritania |
Mauritius |
Mexico |
Micronesia (Federated States of) |
Monaco |
Mongolia |
Montenegro |
Morocco |
Mozambique |
Myanmar |
Namibia |
Nauru |
Nepal |
Netherlands |
New Zealand |
Nicaragua |
Niger |
Nigeria |
North Korea |
Norway |
Oman |
Pakistan |
Palestine |
Palau |
Panama |
Papua New Guinea |
Paraguay |
Peru |
Philippines |
Poland |
Portugal |
Qatar |
Republic of Korea (South Korea) |
Republic of Moldova |
Romania |
Russian Federation |
Rwanda |
Saint Kitts and Nevis |
Saint Lucia |
Saint Vincent and the Grenadines |
Samoa |
San Marino |
Sao Tome and Principe |
Saudi Arabia |
Senegal |
Serbia |
Seychelles |
Sierra Leone |
Singapore |
Slovakia |
Slovenia |
Solomon Islands |
Somalia |
South Africa |
South Sudan |
Spain |
Sri Lanka |
Sudan |
Suriname |
Swaziland |
Sweden |
Switzerland |
Syrian Arab Republic |
Tajikistan |
Thailand |
Timor-Leste |
Togo |
Tonga |
Trinidad and Tobago |
Tunisia |
Turkey |
Turkmenistan |
Tuvalu |
Uganda |
Ukraine |
United Arab Emirates |
United Kingdom of Great Britain and Northern Ireland |
United Republic of Tanzania |
United States of America |
Uruguay |
Uzbekistan |
Vanuatu |
Venezuela |
Vietnam |
Yemen |
Zambia |
Zimbabwe |
Appendix B - Sample Call in C#
private string createContributor()
{
try
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create(createContributorUrl);
httpWebRequest.Headers.Add("AES_API_KEY", "xxx___KEY___xxx");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = new JavaScriptSerializer().Serialize(new {
first_name = "First Name",
middle_name = "Middle Name",
last_name = "Last Name",
company = "Company Name",
title = "Administrator",
address1 = "Address 1",
address2 = "Address 2",
city = "City",
state = "NY",
zip = "12354",
contributor_since = "2017/01/2017",
phone = "1234567890",
cell = "0123456789",
fax = "0123456789",
website = "http://mysite.com",
salutation = "Mr.",
email = "testemail@testdomain.com",
email_opt = true
});
streamWriter.Write(json);
}
var response = (HttpWebResponse)httpWebRequest.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
return responseString;
}
catch (WebException ex)
{
//Catch 500 error response
if (((HttpWebResponse)ex.Response).StatusCode == HttpStatusCode.InternalServerError)
{
using (var stream = ex.Response.GetResponseStream())
using (var reader = new StreamReader(stream))
return reader.ReadToEnd();
}
throw;
}
}