Overview
Each Funraisin platform comes with its own API allowing you to access your data from other 3rd party applications. Using the API you can tap directly into your data in real-time to store your data in other CRM systems or to simply display content such as leaderboards on other websites.
Please note that this API is intended to be used for CRM integrations, it is not designed to be used for mobile apps since the credentials would become accessible for malicious use. For mobile apps you will need to read our article on the Fundraiser API
Please pop in a support ticket for assistance along the way and so we can assist you.
Technology
The Funraisin API is designed to allow sites access to their own data via RESTful requests and to also allow some limited ability for updating and creating records. This API will not allow for more triggered requests such as processing payments or sending out tax receipts.
Limits
API query requests are not limited since you will be querying your own data on your own instance, therefore we leave the responsibility of limiting the number and frequency of requests up to each client.
Datasets though will always be limited to no more than 1000 records per request.
Data Limits
Your API will provide you with access to almost ALL of your data with the exception of information such as encrypted passwords. The data is provided to you completely unfiltered therefore we suggest applying your own validation and formatting rules.
Understanding the Funraisin Data Structure
A typical Funraisin platform can be broken down into the following key data areas.
Object | Comments | |
Events | all online, offline and DIY events | |
Events_tickets | ticket options for offline events | |
Events_waves | wave options for offline and online events | |
Events_products | shop products at an event level | |
Members_guests | ticket holders or offline event guests | |
Members | all fundraisers and event entrants | |
Members_history | a member’s entry into any event | |
Members_history_options | event-specific options e.g. merchandise, waves | |
Donations | all donations | |
Donations_scheduled | regular giving donors | |
Teams | ||
Transactions | all monetary transactions | |
Pages | static content | |
Products | products used for the shop and event merchandise | |
Product_options | product options e.g. size or colour etc | |
Sales | all product purchases | |
Sales_Items | individual line items for shop purchases | |
Raffles | all raffles | |
Raffles_Sales | all raffle sales |
Below is a more detailed description of each object.
Events and Members
All event attendees/fundraisers are stored as members and are then linked to an event via the members_history object. A single member can have unlimited members_history records, depending on how many events they are participating in, however in most P2P cases they will only have a single members_history record.
Donations
All donations are linked to either an event or a page (if not a sponsored donation). Any sponsored donation will be linked to an event and will also be linked to a member and/or a team if they are sponsoring a team.
Note: Donations will contain duplicate records since a donor is never asked to log in to make a donation. If you donate 10 times then you will have 10 donor records all with their own unique ID.
Transactions
A transaction contains just the monetary information and will either be linked to a donation or an event registration fee (if applicable) and in many cases is not needed since the same information will also be contained in either the donation or members_history objects.
Teams
Teams are optional for any event and if enabled will contain information such as team names, URLs, etc. Members within a team are linked from within their members_history record.
The diagram below shows a visual understanding of how the objects are connected.
Ticketholders / Guests
Ticketholders/guests are used for ticketed events are for all events these are people that are added by the purchaser for those attending the event
-
Storing External IDs
All objects within Funraisin have an external CRM ID field that can be used to store your own unique IDs against any record.
Creating a User
To connect to your API first you need to create a user and allow that user access to the API. This can be done in Funraisin > User Admin. Jump in and create a new user and make sure you tick the “API Access” checkbox and then keep these credentials handy. You will also be able to retrieve the user's API key at this stage for use later on.
Your API URL
To access your API you can use https://www.yourdomain.com/api/[endpoint]
Authentication
When connecting to your API you need to send through an API key for the user that you created in the step above. This can be done either using an Authentication header or via simple GET variable "apikey", when retrieving records or POST variables when updating or creating new records. We recommend that the APi Key is only sent via GET for testing purposes, for a production site using the Authentication header is preferred
For example
curl -H "Authorization: Bearer [APIKey]" "https://yourdomain.como/api/[endpoint]"
or
https://yourdomain.com/api/[endpoint]?apikey=[APIkey]
Specifying Formats and Date Ranges
When accessing each endpoint you can send a GET variable “format” to specify whether you want us to return the data in CSV of JSON format. If you don’t specify the format then you we will use CSV.
Each endpoint also has additional GET variables for filtering the data date ranges. When using dates please use the form “yyyy-mm-dd”.
Using “date_from” will return any record created or modified since that date. Using “date_to” will return any record created or modified prior to that date. Both “date_from” and “date_to” can be used together or on their own.
e.g. The below example will grab all donations made in 2016
https://yourdomain.com/api/donations?username=apiuser@yourdomain.com&password=apipassword&date_from=2016-01-01&date_to=2016-12-31
Paging & Limiting Results
For large datasets you can use the GET parameter “limit” to restrict the number of rows returned. Additionally, you can use the “offset” parameter to then handle paging.
e.g. https://yourdomain.com/api/donations?apikey=[APIkey]&limit=1000&offset=1000
By default all endpoints are limited to 1000 records unless specified otherwise via the limit querystring.
To find out how many records are available we will provide you with a record count.
- If using CSV formats then the very first column will be the total records available.
- If using JSON then the first column will be “total_records” and then the actual data will be returned via a “data” column.
Note that you cannot increase the results to greater than 1000
Updating and Creating New Records
Some endpoints will allow you to update or create new records by posting an array called “data” to the endpoint.
Example: POST to https://yourdomain.com/api/donations/123
data[d_email] = joeblogs@gmail.com;
data[d_phone_mobile] = 0404 123 456;
Will update donation record 123 with the above details.
Curl example
curl -d "data[crm_donor_id]=123" "https://domain.com/api/donations/1?apikey=abcdefghij"
Please note that when Creating new records, the API won't interact with any of the other features within Funraisin. For example, adding a donation record won't send out any automated email or activate any fundraising triggers. etc.
Deleting Records
Some endpoints will allow you to delete records by making a DELETE request to the endpoint.
Curl example
curl -x DELETE -d "data[donation_id]=1" "https://domain.com/api/donations/1?apikey=abcdefghij"
Working with Custom Fields
Some data sources support custom fields e.g. donations, teams, events, organisation pages, fundraisers. If a data source does support custom fields then these will automatically be available on the relevant endpoiint when specifying the format in JSON only.
To update or create new custom fields, you can simply post the field using the following format:
curl -d "data[customfield][field_name]=Value" "https://domain.com/api/donations/1?apikey=abcdefghij"
Searching and Advanced Filtering
Each endpoint contains specific filtering which is described below on each endpoint, but in some cases, you may need to filter data on a column which hasn't been catered for. In this instance, you are also able to add in additional filtering for any endpoint when using GET.
For additional filtering you can provide a "filter" array specifying the field name and value you want to filter on, as shown below
filter[field-name1]=value&filter[field-name2]=value
Example curl "https://yourdomain.com/api/donations?filter[d_email]=joe@blogs.com"
This will filter results pulling out records where donor's email addres is "joe@blogs.com"
Similary for searching, you can also specify a "search" array which we will use to perform a LIKE based search on whatever field you specify.
Example curl "https://yourdomain.com/api/donations?search[d_email]=blogs.com"
This will search for anything containing "blogs.com" on the email field in donations.
Endpoints
There are 2 types of endpoints for accessing your data, we have static endpoints and dynamic endpoints.
Static endpoints are simply direct access to your data tables, they return every column, un-formatted by us, making it ideal for accessing data for the purposes of storing in an external CRM.
Dynamic endpoints are the exact opposite. They consist of data that has been manipulated by us to produce more meaningful information, making these ideal for the use of displaying things like leaderboards on external websites.
Static Endpoints
The following static endpoints allow you to access your data tables.
Donations
Url: https://yourdomain.com/api/donations
Formats: CSV (default) or JSON
Filter Options: date_from, date_to, member_id, event_id, team_id. history_id
Primary key: donation_id
Foreign Keys: member_id,event_id,history_id,team_id,page_id
External ID: crm_donor_id
Donations
Column | Type | Default | Comments | |
---|---|---|---|---|
donation_id | bigint(20) | auto increment ID | ||
event_id | bigint(20) | 0 | ||
team_id | bigint(20) | 0 | ||
member_id | bigint(20) | 0 | ||
cause_id | bigint(20) | 0 | ||
fbuser_id | varchar(150) | |||
fbuser_pic | varchar(150) | |||
history_id | bigint(20) | 0 | ||
charity_id | bigint(20) | 0 | ||
page_id | bigint(20) | 0 | ||
event_page_id | bigint(20) | 0 | ||
smscode_id | bigint(20) | 0 | ||
sale_id | bigint(20) | 0 | ||
sale_item_id | bigint(20) | 0 | ||
product_id | bigint(20) | 0 | ||
raffle_sale_id | bigint(20) | 0 | ||
matched_id | bigint(20) | 0 | ||
related_donation_id | bigint(20) | 0 | used for matched giving and re-issuing tax receipts | |
donation_hash | varchar(255) | auto generated hash | ||
donation_type | varchar(20) | online | online,offline,personal,registration,sms | |
donation_frequency | varchar(50) | weekly,monthly,annual | ||
donation_period | int(4) | 0 | ||
number_donations | int(4) | 1 | ||
donation_reason | varchar(100) | |||
donation_reason_for | text | |||
donation_interval | varchar(50) | |||
display_on | enum('Y', 'N') | Y | ||
d_photo | varchar(150) | |||
d_title | varchar(20) | |||
d_fname | varchar(150) | |||
d_lname | varchar(150) | |||
d_lname_prefix | varchar(100) | |||
d_organisation | varchar(150) | |||
d_email | varchar(150) | |||
is_fundraiser_email | enum('Y', 'N') | N | Flagged Y when fundraiser adds offline donation using own email | |
care_of_email | varchar(150) | |||
d_optin | enum('Y', 'N') | N | ||
d_external_optout | enum('Y', 'N') | N | flagged Y when opts out from mailchimp, campaign monitor, etc | |
d_external_optout_date | datetime | 0000-00-00 00:00:00 | ||
d_optin_email | varchar(1) | |||
d_optin_sms | varchar(1) | |||
d_optin_post | varchar(1) | |||
d_optin_phone | varchar(1) | |||
d_optin_text | text | |||
d_optin_charity | enum('Y', 'N') | N | Not currently used | |
d_optin_fees | enum('Y', 'N') | N | ||
d_fee | double(13,2) | 0.00 | ||
d_gender | enum('M', 'F', 'O') | NULL | ||
d_language | varchar(15) | EN | ||
d_dob | date | 0000-00-00 | ||
d_address_unit | varchar(20) | |||
d_address_number | varchar(50) | |||
d_address_street | varchar(255) | |||
d_address_2 | varchar(255) | |||
d_address_suburb | varchar(255) | |||
d_address_pcode | varchar(50) | |||
d_address_state | varchar(150) | |||
d_address_country | varchar(150) | |||
d_phone | varchar(100) | |||
d_phone_home | varchar(80) | |||
d_phone_work | varchar(80) | |||
d_phone_mobile | varchar(80) | |||
d_phone_mobile_suffix | varchar(10) | |||
d_comments | text | |||
d_leave_message | enum('Y', 'N') | N | ||
d_display_name | varchar(150) | |||
d_receipt | varchar(50) | personal | ||
d_anonymous | enum('Y', 'N') | N | ||
d_amount | double(13,2) | 0.00 | actual donation amount | |
d_amount_local | double(13,2) | 0.00 | ||
d_currency | varchar(20) | |||
d_currency_rate | varchar(40) | 1.00000 | ||
d_currency_platform_rate | varchar(40) | |||
d_amount_free | double(7,2) | 0.00 | amount entered into free text field (not used for donation) | |
d_amount_sel | double(7,2) | 0.00 | amount selected from dollar handle (not used for donation) | |
gateway_customer_ref | varchar(255) | |||
gateway_card_ref | varchar(255) | |||
po_number | varchar(32) | auto generated number sent to Stripe, Paypal, etc | ||
tax_ref | varchar(80) | payment reference returned from Stripe, PayPal, etc | ||
card_type | varchar(20) | |||
payment_method | varchar(60) | credit card | ||
card_number | varchar(20) | |||
card_name | varchar(150) | |||
card_expiry | varchar(20) | |||
cheque_name | varchar(150) | Admin only | ||
cheque_number | varchar(150) | Admin only | ||
eft_reference | varchar(255) | Reference entered by donor when paying by EFT | ||
date_paid | datetime | 0000-00-00 00:00:00 | ||
date_banked | datetime | 0000-00-00 00:00:00 | ||
d_status | varchar(10) | paid | paid, pledge, refund, void | |
d_receipt_num | int(7) | 0000000 | ||
d_receipt_sent | enum('Y', 'N') | N | ||
is_mobile | enum('Y', 'N') | N | If donating via mobile device | |
is_donation | enum('Y', 'N') | Y | ||
is_profile_donation | enum('Y', 'N') | N | Flagged Y when donating from a profile page | |
d_refund_amount | double(7,2) | 0.00 | ||
d_refund_reason | text | |||
d_refund_date | datetime | 0000-00-00 00:00:00 | ||
d_reissue_date | datetime | 0000-00-00 00:00:00 | ||
gift_aid | enum('Y', 'N') | N | ||
sent_thanks | enum('Y', 'N') | N | Flagged Y when sent email by Fundraiser | |
in_memory | enum('Y', 'N') | N | ||
in_memory_title | varchar(50) | |||
in_memory_fname | varchar(150) | |||
in_memory_lname | varchar(150) | |||
in_memory_email | varchar(150) | |||
in_memory_address1 | varchar(255) | |||
in_memory_address2 | varchar(255) | |||
in_memory_card | enum('Y', 'N') | N | ||
ecard_first_name | varchar(150) | |||
ecard_last_name | varchar(150) | |||
ecard_email | varchar(150) | |||
ecard_comments | text | |||
ecard_address | text | |||
kw_address | varchar(255) | Google lookup value if used | ||
donor_lat | varchar(150) | |||
donor_lng | varchar(150) | |||
donor_ip | varchar(150) | |||
utm_campaign | text | |||
utm_source | text | |||
utm_medium | text | |||
utm_content | text | |||
utm_term | text | |||
donation_tags | text | |||
crm_donor_id | varchar(255) | |||
ecrm_customer_id | varchar(255) | |||
last_logged_in | date | 0000-00-00 | ||
ecrm_last_synced_date | datetime | 0000-00-00 00:00:00 | ||
last_updated | datetime | 0000-00-00 00:00:00 | ||
date_created | datetime | 0000-00-00 00:00:00 |
Get all donations
To access your donation data you can use the below methods.
GET https://yourdomain.com/api/donations
Get a single donation
If you want to get a specific donation record you can specify the id of the donation in the url
GET https://yourdomain.com/api/donations/[donation_id]
Get all donations from an event
If you want to get donations from specific events you can apply the following GET parameter
GET https://yourdomain.com/api/donations?event_id=123
Create a new donation
To create a new donation record you can send a POST request with the fields sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/donations
This will produce a result of Success or Failure.
Update a donation
To update an existing donation you can send a POST request specifying the donation_id in the url, with any field that you want updated sent via the $_POST[“data”] array.
This will produce a result of Success or Failure.
Recurring (scheduled) Donations
The following 2 endpoints relate specifically to regular donors. A regular donor exists in 2 parts, firstly the schedule and secondly the recurring donations themselves.
Url: https://yourdomain.com/api/scheduleddonations
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: id
Column | Type | Default | Comments |
id | bigint(20) | auto-incrementing | |
donation_id | bigint(20) | foreign key to donations table | |
d_amount | double(7,2) | donation amount | |
donation_frequency | varchar(150) | weekly, monthly, yearly | |
donation_period | int(4) | payment reference from gateway | |
donation_day | varchar(10) | 1-7 for weekly, 1-28 for monthly | |
start_date | date | ||
card_expiry | date | ||
donation_status | int(1) | 1 = active, 2= archived | |
date_created | datetime |
Get all scheduled donations
To access your donation data you can use the below methods.
GET https://yourdomain.com/api/scheduleddonations
Update a scheduled donation
To update an existing donation you can send a POST request specifying the donation_id in the URL, with any field that you want to be updated sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/scheduleddonations/[id]
Recurring Donation History
Url: https://yourdomain.com/api/recurringdonations
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: id
Read only
Column | Type | Default | Comments |
id | bigint(20) | ||
donation_id | bigint(20) | ||
d_amount | double(7,2) | donation amount | |
po_number | varchar(150) | auto-generate purchase order | |
tax_ref | varchar(255) | payment reference from gateway | |
crm_donation_id | varchar(255) | ||
date_created | datetime |
Get all recurring donations
To access your donation data you can use the below methods.
GET https://yourdomain.com/api/recurringdonations
Get a single recurring donation
If you want to get a specific donation record you can specify the id of the donation in the URL
GET https://yourdomain.com/api/recurringdonations/[id]
Participants
Url: https://yourdomain.com/api/participants/
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: member_id
External ID: crm_member_id
To access your fundraisers/participants you can use the below methods. Note that this data will NOT contain any information relating to their event, it will only give you the main contact details for each participant such as names, email, phone numbers, address data etc. To get information relating to their event, use the below method Participants Events.
Column | Type | Default | Comments | |
---|---|---|---|---|
member_id | bigint(20) | Autoincrement ID | ||
charity_id | bigint(20) | 0 | ||
member_hash | varchar(255) | auto-generated hash | ||
member_login_token | varchar(255) | |||
related_member_id | bigint(20) | 0 | ||
m_rego_number | varchar(150) | |||
fbuser_id | varchar(150) | |||
fbuser_pic | varchar(255) | |||
m_status_type | varchar(100) | |||
m_title | varchar(50) | |||
m_fname | varchar(150) | |||
m_lname | varchar(150) | |||
m_lname_prefix | varchar(100) | |||
m_middle | varchar(100) | |||
m_maiden | varchar(100) | |||
m_email | varchar(150) | |||
m_username | varchar(150) | the fundraiser's url | ||
m_pass | varchar(255) | |||
m_dob | date | 0000-00-00 | ||
m_gender | varchar(20) | NULL | ||
m_language | varchar(150) | EN | ||
m_address_unit | varchar(20) | |||
m_address_number | varchar(50) | |||
m_address_street | varchar(255) | |||
m_address_2 | varchar(255) | |||
m_address_suburb | varchar(255) | |||
m_address_city | varchar(150) | |||
m_address_pcode | varchar(20) | |||
m_address_state | varchar(150) | |||
m_address_country | varchar(150) | |||
kw_address | varchar(255) | |||
postal_is_same | enum('Y', 'N') | Y | ||
m_postal_unit | varchar(20) | |||
m_postal_number | varchar(50) | |||
m_postal_street | varchar(255) | |||
m_postal_suburb | varchar(255) | |||
m_postal_city | varchar(150) | |||
m_postal_pcode | varchar(20) | |||
m_postal_state | varchar(20) | |||
m_postal_country | varchar(150) | |||
m_phone_home | varchar(80) | |||
m_phone_work | varchar(80) | |||
m_phone_mobile | varchar(80) | |||
m_phone_mobile_suffix | varchar(10) | |||
m_emergency_contact | varchar(150) | |||
m_emergency_contact_alt | varchar(150) | |||
m_emergency_contact_type | varchar(150) | |||
m_emergency_phone | varchar(150) | |||
m_medical_conditions | varchar(10) | |||
m_medical_conditions_text | text | |||
m_business_contact_name | varchar(150) | |||
m_business_contact_number | varchar(150) | |||
m_medication | varchar(10) | |||
m_medication_details | text | |||
m_hospitalised | varchar(10) | |||
m_hospitalised_details | text | |||
m_diet_notes | text | |||
m_addition_care | text | |||
m_twitter | varchar(150) | not used | ||
m_instagram | varchar(100) | not used | ||
m_pinterest | varchar(150) | not used | ||
m_snapchat | varchar(100) | not used | ||
participated_prior | enum('Y', 'N') | N | not used | |
m_photo | varchar(255) | |||
m_coverphoto_personal | varchar(255) | |||
m_background | varchar(255) | |||
m_insupport | varchar(150) | |||
m_codeblock_personal | text | |||
m_codeblock_personal_mobile | text | |||
m_confirmation_sent | enum('Y', 'N') | N | ||
m_reminder_sent | enum('Y', 'N') | N | ||
m_donation_sent | enum('Y', 'N') | N | ||
m_goal_sent | enum('Y', 'N') | N | ||
m_alert_donation | enum('Y', 'N') | Y | not used | |
m_alert_goal | enum('Y', 'N') | Y | not used | |
m_agreed_waiver | enum('Y', 'N') | N | not used | |
m_name_alt | varchar(155) | |||
m_gallery_title | varchar(150) | not used | ||
m_gallery_copy | text | not used | ||
m_ranking_overall_on | enum('Y', 'N') | Y | not used | |
m_ranking_team_on | enum('Y', 'N') | Y | not used | |
agree_site_terms | enum('Y', 'N') | N | not used | |
participated_before | varchar(255) | no longer used | ||
agree_to_pay | enum('Y', 'N') | Y | no longer used | |
agree_over_18 | enum('Y', 'N') | N | no longer used | |
agree_to_fundraise | enum('Y', 'N') | N | no longer used | |
m_company | varchar(150) | |||
m_company_matchgiving | enum('Y', 'N') | N | ||
m_position | varchar(150) | |||
m_shirt_size | varchar(80) | |||
referal | varchar(150) | not used | ||
is_mobile | enum('Y', 'N') | N | Flagged Y if on a mobile device when registering | |
optin | enum('Y', 'N') | N | ||
m_optin | enum('Y', 'N') | N | ||
m_optin_text | text | |||
m_optin_date | datetime | 0000-00-00 00:00:00 | ||
m_optin_email | varchar(1) | |||
m_optin_sms | varchar(1) | |||
m_optin_post | varchar(1) | |||
m_optin_phone | varchar(1) | |||
m_external_optout | enum('Y', 'N') | N | ||
m_external_optout_date | datetime | 0000-00-00 00:00:00 | ||
m_optout_triggers | enum('Y', 'N') | N | ||
m_optout_triggers_date | datetime | 0000-00-00 00:00:00 | ||
crm_member_id | varchar(255) | |||
ecrm_customer_id | varchar(255) | |||
gateway_customer_ref | varchar(255) | |||
gateway_card_ref | varchar(255) | |||
m_status | int(1) | 0 | 0=draft,1=live,2=archived | |
last_logged_in | datetime | 0000-00-00 00:00:00 | ||
ecrm_last_synced_date | datetime | 0000-00-00 00:00:00 | ||
last_updated | datetime | 0000-00-00 00:00:00 | ||
date_created | datetime | 0000-00-00 00:00:00 |
Get all participants
GET https://yourdomain.com/api/participants
Get a single participant
GET https://yourdomain.com/api/participants/[member_id]
Create a new participant
POST https://yourdomain.com/api/participants
Update a participant
POST https://yourdomain.com/api/participants/[member_id]
Participants Events
Url: https://yourdomain.com/api/participantsevents
Formats: CSV (default) or JSON
Options: date_from, date_to, member_id, event_id
Primary key: history_id
External ID: crm_history_id
Foreign keys: member_id,event_id,team_id
The participants' events endpoint produces information relating to each participant’s event that they are taking part in, whether it be an online event, an offline event or a DIY event. Information such as their fundraising target, payment information is held in this table.
Column | Type | Default | Comments |
history_id | bigint(20) | ||
member_id | bigint(20) | 0 | |
event_id | bigint(20) | 0 | |
team_id | bigint(20) | 0 | |
group_id | bigint(20) | ||
table_id | bigint(20) | ||
wave_id | text | ||
ticket_id | text | ||
history_type | enum(‘online’, ‘offline’, ‘diy’) | online | |
member_type | varchar(150) | ||
bib_number | varchar(20) | ||
seat_number | int(4) | ||
is_active | enum(‘Y’, ‘N’) | N | |
is_archived | enum(‘Y’, ‘N’) | N | |
is_fundraising | enum(‘Y’, ‘N’) | Y | |
is_team | enum(‘Y’, ‘N’) | N | |
done_personaldetails | enum(‘Y’, ‘N’) | N | |
done_eventoptions | enum(‘Y’, ‘N’) | N | |
done_fundraising | enum(‘Y’, ‘N’) | N | |
done_teamdetails | enum(‘Y’, ‘N’) | N | |
conf_key | varchar(80) | ||
entry_code | varchar(20) | ||
promo_id | bigint(20) | ||
paypal_token | varchar(150) | ||
ticket | varchar(32) | ||
number_tickets | int(4) | ||
number_tables | int(4) | ||
team_access | enum(‘Y’, ‘N’) | N | |
m_display_reason | enum(‘Y’, ‘N’) | N | |
m_target | double(9,0) | 0 | |
m_target_distance | double(8,0) | ||
m_comments | text | ||
m_reason | text | ||
m_page_title | varchar(255) | ||
m_event_photo | varchar(255) | event specific profile pic | |
m_coverphoto | varchar(255) | event specific coverphoto | |
m_donation_amount | double(7,2) | 0.00 | personal donation amount |
m_donation_amount_sel | varchar(20) | dollar handle personal donation amount if applicable | |
m_donation_amount_free | varchar(20) | free text personal donation amount if applicable | |
m_donation_po | varchar(50) | auto generated purchase order for personal donation | |
m_donation_fee | double(8,2) | optional contribution fee | |
m_donation_fee_optin | enum(‘Y’, ‘N’) | N | optin to optional contribution fee |
is_paid | enum(‘Y’, ‘N’) | N | has paid |
is_complete | enum(‘Y’, ‘N’) | N | marked as completed entry |
date_completed | datetime | date marked as completed entry | |
total_paid | double(7,2) | 0.00 | |
total_paid_entry | double(7,2) | ||
total_paid_ticket | double(7,2) | 0.00 | |
total_paid_paypal | double(7,2) | 0.00 | |
total_paid_card | double(7,2) | 0.00 | |
total_paid_extra | double(7,2) | 0.00 | |
total_paid_merchandise | double(7,2) | ||
total_paid_donation | double(7,2) | ||
total_paid_fees | double(7,2) | ||
m_receipt_sent | enum(‘Y’, ‘N’) | N | |
m_confirmation_sent | enum(‘Y’, ‘N’) | N | |
payment_method | varchar(50) | credit card | |
payment_source | enum(‘online’, ‘offline’) | online | |
po_number | varchar(150) | auto generated purchase order | |
tax_ref | varchar(150) | payment reference from gateway | |
card_type | varchar(20) | ||
card_number | varchar(20) | ||
card_expiry | varchar(20) | ||
card_name | varchar(150) | ||
date_paid | datetime | ||
bsb_number | varchar(20) | ||
account_number | varchar(50) | ||
cheque_name | varchar(150) | ||
money_order_number | varchar(50) | ||
sort_order | bigint(20) | 0 | |
activity_lat | varchar(150) | ||
activity_lng | varchar(150) | ||
card_token | varchar(150) | ||
customer_token | varchar(150) | ||
utm_campaign | text | ||
utm_source | text | ||
utm_medium | text | ||
utm_content | text | ||
utm_term | text | ||
m_thanks_message | text | ||
m_thanks_video | varchar(255) | ||
m_thanks_image | varchar(255) | ||
in_memory_name | varchar(150) | ||
crm_history_id | varchar(255) | ||
last_updated | datetime | ||
date_created | datetime | 0000-00-00 00:00:00 |
Get all participant’s events
Use this to return ALL participant events
https://yourdomain.com/api/participantsevents
Get a specific event record
To return a specific record you can send through the history_id
GET https://yourdomain.com/api/participantsevents/[history_id]
Get a specific participant’s event records
To get any events for a specific person you can send through the optional “member_id” in the querystring.
GET https://yourdomain.com/api/participantsevents?member_id=1234
Get all event records for a specific event
To retrieve a list of entries for a specific event you can send through the optional “event_id” in the querystring
GET https://yourdomain.com/api/participantsevents?event_id=123
Participants Options
Url: https://yourdomain.com/api/participantsoptions/[id]
Formats: CSV (default) or JSON
Options: date_from, date_to, member_id, history_id, event_id
The participants options endpoint produces information relating to any options that were selected during the entry process such as Merchandise or Waves.
Column | Type | Default |
id | bigint(20) | |
option_type | varchar(100) | merchandise, wave, complimentary |
event_id | bigint(20) | 0 |
member_id | bigint(20) | 0 |
history_id | bigint(20) | 0 |
product_id | bigint(20) | |
wave_id | bigint(20) | 0 |
shop_product_id | bigint(20) | |
option_id | bigint(20) | 0 |
option_num | int(2) | 0 |
option_textfield | text | |
option_cost | double(7,2) | 0.00 |
date_created | datetime | 0000-00-00 00:00:00 |
Get all records
To retrieve all participant’s products use
GET https://yourdomain.com/api/participantsoptions
Get a specific participant’s records
To retrieve product information during a specific registration you can send through the history_id of the registration (from the participants events table)
GET https://yourdomain.com/api/participantsoptions/?history_id=[history_id]
Participants Fitness
Url: https://yourdomain.com/api/participantsfitness/[id]
Formats: CSV (default) or JSON
Options: date_from, date_to, member_id, history_id, event_id
The participants fitness endpoint produces information relating to any connected fitnesss devices eg. FitBit or Strava.
Get all records
To retrieve all participant’s products use
GET https://yourdomain.com/api/participantsfitness
Get a specific participant’s records
To retrieve product information during a specific registration you can send through the history_id of the registration (from the participants events table)
GET https://yourdomain.com/api/participantsfitness/?history_id=[history_id]
Participants Fitness Activity
Url: https://yourdomain.com/api/participantsfitnessactivity/[activity_id]
Formats: CSV (default) or JSON
Options: date_from, date_to, member_id, history_id, event_id
The participants fitness endpoint produces information relating to any fitness data that has been added or recorded.
Get all records
To retrieve all participant’s products use
GET https://yourdomain.com/api/participantsfitnessactvity
Get a specific participant’s records
To retrieve product information during a specific registration you can send through the history_id of the registration (from the participants events table)
GET https://yourdomain.com/api/participantsfitnessactivity/?history_id=[history_id]
Teams
Url: https://yourdomain.com/api/teams
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: team_id
External ID: crm_team_id
Foreign Keys: event_id, history_id, captain_id
Column | Type | Default | Comments |
team_id | bigint(20) | ||
event_id | bigint(20) | 0 | |
history_id | bigint(20) | 0 | Links to history_id of captain |
captain_id | bigint(20) | 0 | Links to member_id of captain |
t_name | varchar(150) | ||
t_url | varchar(150) | ||
t_target | double(9,0) | 0 | |
t_comments | text | ||
t_page_title | varchar(255) | ||
t_photo | varchar(255) | ||
t_coverphoto | varchar(255) | ||
t_alert_donation | enum(‘Y’, ‘N’) | Y | |
t_alert_member | enum(‘Y’, ‘N’) | Y | |
t_alert_goal | enum(‘Y’, ‘N’) | Y | |
t_thanks_message | text | ||
related_teams | text | ||
t_public | enum(‘Y’, ‘N’) | Y | |
crm_team_id | varchar(255) | ||
t_status | int(1) | 1 | |
last_updated | datetime | 0000-00-00 00:00:00 | |
date_created | datetime | 0000-00-00 00:00:00 |
Get all teams
To access your team data you can use the below methods.
GET https://yourdomain.com/api/teams
Get a single team
If you want to get a specific team record you can specify the team_id of the team in the url
GET https://yourdomain.com/api/teams/[team_id]
Create a new team
To create a new team record you can send a POST request with the fields sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/teams
This will produce a result of Success or Failure.
Update a team
To update an existing team you can send a POST request specifying the team_id in the url, with any field that you want updated sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/teams/[team_id]
This will product a result of Success or Failure.
Events
Url: https://yourdomain.com/api/events
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: event_id
External ID: crm_event_id
Column | Type | Default | Comments |
event_id | bigint(20) | ||
created_member_id | bigint(20) | ||
diy_category_id | bigint(20) | ||
event_key | varchar(255) | ||
event_code | varchar(20) | ||
is_locked | enum(‘Y’, ‘N’) | N | |
has_page | enum(‘Y’, ‘N’) | N | |
event_name | varchar(150) | ||
event_type | enum(‘online’, ‘offline’, ‘diy’) | online | |
event_category | varchar(150) | ||
allow_entries | enum(‘Y’, ‘N’) | Y | |
entry_type | varchar(80) | ||
entry_limit | varchar(20) | ||
use_entry_code | enum(‘Y’, ‘N’) | N | |
entry_code | varchar(50) | ||
event_fee | double(7,2) | 0.00 | |
event_fee_description | text | ||
event_ticket_price | double(7,2) | ||
event_tickets | int(5) | ||
event_tickets_max | int(4) | ||
event_tickets_min | int(3) | 1 | |
event_allow_tables | enum(‘Y’, ‘N’) | N | |
event_tables | int(4) | ||
event_table_price | double(7,2) | ||
event_seats_per_table | int(4) | ||
event_fundraising | enum(‘Y’, ‘N’) | N | |
event_domain | varchar(255) | ||
st_prefix_donation | varchar(50) | DON | |
st_prefix_registration | varchar(50) | REG | |
st_prefix_ticket | varchar(50) | TKT | |
st_prefix_shop | varchar(80) | SHP | |
event_closed | enum(‘Y’, ‘N’) | N | |
event_closed_date | date | ||
event_closed_time | time | ||
event_closed_msg | text | ||
event_short_desc | text | ||
event_about_info | text | ||
event_about_image | varchar(255) | ||
event_important_info | text | ||
event_important_image | varchar(255) | ||
event_banner | varchar(255) | ||
event_mobile_banner | varchar(255) | ||
event_image | varchar(255) | ||
event_header_height | int(3) | 300 | |
event_header_bgcolor | varchar(50) | ||
event_header_html | text | ||
event_header_mask | enum(‘Y’, ‘N’) | Y | |
event_header_mask_color | varchar(20) | #ffffff | |
event_header_mask_opacity | varchar(5) | 0.6 | |
event_thumb | varchar(255) | ||
event_target | double(13,2) | 0.00 | |
event_offline | double(13,2) | ||
event_date | date | ||
event_expiry | date | ||
event_time | varchar(50) | ||
event_end_time | varchar(10) | ||
event_location | varchar(255) | ||
event_unit | varchar(20) | ||
event_number | varchar(20) | ||
event_street | varchar(150) | ||
event_suburb | varchar(150) | ||
event_city | varchar(50) | ||
event_postcode | varchar(80) | ||
event_state | varchar(20) | ||
event_country | varchar(255) | ||
event_map | text | ||
event_website | varchar(255) | ||
show_address | enum(‘Y’, ‘N’) | N | |
show_emergency_contact | enum(‘Y’, ‘N’) | N | |
show_terms | enum(‘Y’, ‘N’) | N | |
show_waiver | enum(‘Y’, ‘N’) | N | |
event_waiver | text | ||
show_dob | enum(‘Y’, ‘N’) | N | |
show_gender | enum(‘Y’, ‘N’) | N | |
show_phone | enum(‘Y’, ‘N’) | N | |
show_mobile | enum(‘Y’, ‘N’) | N | |
show_donation | enum(‘Y’, ‘N’) | Y | |
show_progress | enum(‘Y’, ‘N’) | N | |
event_fundraising_banner | varchar(255) | ||
event_fundraising_banner_mobile | varchar(255) | ||
st_target_team | int(7) | 3000 | |
st_target_distance_member | int(7) | 0 | |
st_target_member | int(7) | 1000 | |
st_title_member | varchar(255) | ||
event_fundraising_message | text | ||
event_blog_message | text | ||
st_title_team | varchar(150) | ||
event_teamfundraising_message | text | ||
event_facebook_like_member | text | ||
event_facebook_like_team | text | ||
event_twitter_like_member | text | ||
event_twitter_like_team | text | ||
event_email_like_member | text | ||
event_email_like_team | text | ||
event_email_like_subject_member | varchar(150) | ||
event_email_like_subject_team | varchar(150) | ||
event_email_join_team | text | ||
event_email_join_subject_team | varchar(150) | ||
event_facebook_share_member | text | ||
event_facebook_share_team | text | ||
event_twitter_share_member | text | ||
event_twitter_share_team | text | ||
event_social_sharing | enum(‘Y’, ‘N’) | Y | |
event_social_sharing_public | enum(‘Y’, ‘N’) | Y | |
event_alerts | enum(‘Y’, ‘N’) | N | |
event_alert_ids | varchar(255) | ||
event_campaign_from | date | ||
st_teams | enum(‘Y’, ‘N’) | N | |
st_donations | enum(‘Y’, ‘N’) | Y | |
st_donations_personal | enum(‘Y’, ‘N’) | Y | |
event_default_image | varchar(255) | ||
event_default_team_image | varchar(255) | ||
confirmation_page_id | bigint(20) | ||
confirmation_url | varchar(255) | ||
event_confirmation_html | text | ||
send_confirmation_email | enum(‘Y’, ‘N’) | Y | |
confirmation_email_template_id | bigint(20) | ||
confirmation_email_subject | varchar(255) | ||
confirmation_email_body | text | ||
event_page_facts | enum(‘Y’, ‘N’) | Y | |
event_page_date | enum(‘Y’, ‘N’) | Y | |
event_page_location | enum(‘Y’, ‘N’) | Y | |
event_page_fees | enum(‘Y’, ‘N’) | Y | |
event_page_about | enum(‘Y’, ‘N’) | N | |
event_page_info | enum(‘Y’, ‘N’) | N | |
sort_order | bigint(20) | ||
event_status | int(1) | 0 | |
crm_event_id | varchar(255) | ||
last_updated | datetime | ||
date_created | datetime | 0000-00-00 00:00:00 |
Get all events
To access your event data you can use the below methods.
GET https://yourdomain.com/api/events
Get a single event
If you want to get a specific event record you can specify the id of the event in the url
GET https://yourdomain.com/api/events/[event_id]
Create a new event
To create a new event record you can send a POST request with the fields sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/events
This will produce a result of Success or Failure.
Update an event
To update an existing event you can send a POST request specifying the event_id in the url, with any field that you want updated sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/events/[event_id]
This will product a result of Success or Failure.
Event Products
Url: https://yourdomain.com/api/eventproducts
Formats: CSV (default) or JSON
Options: date_from, date_to,event_id
Primary key: product_id
Column | Type | Default | Comments |
product_id | bigint(20) | ||
event_id | bigint(20) | ||
shop_product_id | bigint(20) | ||
product_price | double(7,2) | ||
is_free | enum('Y', 'N') | N | |
is_mandatory | enum('Y', 'N') | N | |
sort_order | int(4) | ||
product_status | int(1) | 1 | |
last_updated | datetime | ||
date_created | datetime |
Get all products
GET https://yourdomain.com/api/eventproducts
Get a specific product
GET https://yourdomain.com/api/eventproducts/
Event Waves
Url: https://yourdomain.com/api/waves
Formats: CSV (default) or JSON
Options: date_from, date_to, event_id
Primary key: wave_id
Foreign Keys: event_id, parent_id
Column | Type | Default | Comments |
wave_id | bigint(20) | ||
event_id | bigint(20) | ||
parent_id | bigint(20) | ||
wave_name | varchar(150) | ||
wave_code | varchar(50) | code for reporting | |
wave_time | varchar(100) | ||
wave_limit | bigint(20) | ||
wave_tag | text | field for tagging waves | |
wave_date | date | ||
wave_price | double(8,2) | ||
wave_description | text | ||
wave_image | varchar(255) | ||
bib_colour | varchar(80) | ||
bib_numbers_start | bigint(4) | ||
wave_status | int(1) | 1 | |
sort_order | int(4) | ||
crm_wave_id | varchar(255) | ||
last_updated | datetime | ||
date_created | datetime |
Get all waves
GET https://yourdomain.com/api/waves
Get a specific Wave
GET https://yourdomain.com/api/waves/{wave_id}
Get a specific Event’s Waves
GET https://yourdomain.com/api/waves?event_id={event_id}
Create a new wave
To create a new event record you can send a POST request with the fields sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/waves
This will produce a result of Success or Failure.
Update a wave
To update an existing event you can send a POST request specifying the event_id in the url, with any field that you want updated sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/waves/{wave_id}
This will product a result of Success or Failure.
DIY Themes
Url: https://yourdomain.com/api/themes/
Formats: CSV (default) or JSON
Options: date_from, date_to, category_id
Primary key: category_id
Foreign Keys: none
Column | Type |
---|---|
category_id | bigint(20) |
page_id | bigint(20) |
charity_id | bigint(20) |
category_name | varchar(150) |
category_url | varchar(150) |
default_target | double(8,0) |
default_image | varchar(150) |
default_coverimage | varchar(150) |
default_blog_title | varchar(255) |
default_blog_content | text |
show_target | enum('Y', 'N') |
use_custom_nav | enum('Y', 'N') |
use_custom_dollarhandles | enum('Y', 'N') |
category_template | varchar(100) |
crm_category_id | varchar(255) |
last_updated | datetime |
Get all themes
GET https://yourdomain.com/api/themes
Get a specific theme
Shop Products
Url: https://yourdomain.com/api/products
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: product_id
Column | Type | Default | Comments |
product_id | bigint(20) | ||
product_name | varchar(150) | ||
product_tags | text | ||
product_slug | varchar(255) | ||
product_category | varchar(150) | ||
product_code | varchar(50) | ||
product_image | varchar(255) | ||
product_image_large | varchar(255) | ||
product_cost | double(7,2) | ||
product_price | double(7,2) | ||
product_description | text | ||
product_description_long | text | ||
product_delivery_price | double(5,2) | ||
product_status | int(1) | 1 | |
sort_order | int(4) | ||
crm_product_id | varchar(255) | ||
last_updated | datetime | ||
date_created | datetime |
Get all products
GET https://yourdomain.com/api/products
Get a specific Product
GET https://yourdomain.com/api/products/{product_id}
Shop Product Options
Url: https://yourdomain.com/api/productoptions
Formats: CSV (default) or JSON
Options: date_from, date_to,product_id
Primary key: option_id
Column | Type | Default | Comments |
option_id | bigint(20) | ||
product_id | bigint(20) | ||
option_name | varchar(150) | ||
option_type | varchar(50) | ||
option_code | varchar(150) | ||
option_price | double(8,2) | ||
option_image | varchar(255) | ||
option_image_large | varchar(255) | ||
option_stock | bigint(20) | ||
option_delivery | double(8,2) | ||
option_status | int(1) | ||
last_updated | datetime | ||
date_created | datetime |
Get all product options
GET https://yourdomain.com/api/productoptions
Get a specific product option
GET https://yourdomain.com/api/productoptions/
Shop Sales
Url: https://yourdomain.com/api/sales
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: sale_id
External CRM ID: crm_sale_id
Column | Type | Default | Comments |
sale_id | bigint(20) | ||
member_id | bigint(20) | ||
history_id | bigint(20) | ||
po_number | varchar(150) | ||
sale_type | enum(‘sale’, ‘credit’) | sale | |
voucher_id | bigint(20) | ||
voucher | varchar(80) | ||
title | varchar(50) | ||
first_name | varchar(150) | ||
last_name | varchar(150) | ||
varchar(150) | |||
mobile | varchar(50) | ||
phone | varchar(80) | ||
unit | varchar(50) | ||
number | varchar(50) | ||
street | varchar(150) | ||
postcode | varchar(20) | ||
suburb | varchar(150) | ||
state | varchar(20) | nsw | |
country | varchar(150) | ||
age | varchar(20) | ||
gender | enum(‘M’, ‘F’) | F | |
company | varchar(150) | ||
sub_total | double(7,2) | ||
gst | double(7,2) | ||
delivery | double(7,2) | ||
total | double(7,2) | ||
date_paid | datetime | ||
tax_ref | varchar(150) | ||
payment_method | varchar(30) | ||
email_sent | enum(‘Y’, ‘N’) | N | |
email_sent_date | datetime | ||
notes | text | ||
card_type | varchar(100) | ||
card_name | varchar(100) | ||
card_number | varchar(25) | ||
card_expiry | varchar(10) | ||
referral | varchar(150) | ||
deliver_to_billing | enum(‘Y’, ‘N’) | N | |
delivery_unit | varchar(50) | ||
delivery_number | varchar(50) | ||
delivery_street | varchar(150) | ||
delivery_suburb | varchar(150) | ||
delivery_postcode | varchar(10) | ||
delivery_state | varchar(20) | ||
shipped | enum(‘Y’, ‘N’) | N | |
shipped_date | datetime | ||
shipped_tracking | varchar(150) | ||
is_mobile | enum(‘Y’, ‘N’) | N | |
crm_sale_id | varchar(255) | ||
last_updated | datetime | ||
date_created | datetime |
Get all Sales
GET https://yourdomain.com/api/sales
Get a specific Sale
GET https://yourdomain.com/api/sales/{sale_id}
Shop Sales Items
Url: https://yourdomain.com/api/salesitems
Formats: CSV (default) or JSON
Options: date_from, date_to, sale_id, product_id
Primary key: id
Column | Type | Default | Comments |
id | bigint(20) | ||
sale_id | bigint(20) | ||
product_id | bigint(20) | ||
option_id | bigint(20) | ||
quantity | int(4) | ||
recipient_first_name | varchar(150) | ||
recipient_last_name | varchar(150) | ||
recipient_email | varchar(150) | ||
recipient_comments | text | ||
recipient_address | text | ||
unit_cost | double(7,2) | ||
product_size | varchar(150) | deprecated | |
product_colour | varchar(150) | deprecated | |
product_option | varchar(150) | deprecated | |
date_created | datetime |
Get all Sale Items
GET https://yourdomain.com/api/salesitems
Get a specific Sale
GET https://yourdomain.com/api/salesitems/
Transactions
Url: https://yourdomain.com/api/transactions
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: transaction_id
External ID: crm_transaction_id
Foreign Keys: member_id, history_id, donation_id, schedule_id
The transactions table, as the name suggests, stores information on all monetary transactions, from donations to registrations and merchandise purchases.
Column | Type | Default | Comments |
transaction_id | int(11) | ||
transaction_type | enum(‘donation’, ‘registration’, ‘merchandise’, ‘refund’) | ||
transaction_value | double(8,2) | ||
transaction_fees | double(8,2) | ||
transaction_notes | text | ||
payment_type | enum(‘credit card’, ‘paypal’, ‘refund’, ‘cash’, ‘cheque’) | ||
payment_reference | varchar(255) | ||
member_id | bigint(20) | ||
history_id | bigint(20) | ||
donation_id | bigint(20) | ||
schedule_id | bigint(20) | ||
related_transaction_id | bigint(20) | ||
po_number | varchar(100) | ||
crm_transaction_id | varchar(255) | ||
date_created | datetime |
Get all transactions
GET https://yourdomain.com/api/transactions
Get a specific transaction
GET https://yourdomain.com/api/transactions/{transaction_id}
Create a new transaction
To create a new transaction record you can send a POST request with the fields sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/transactions
This will produce a result of Success or Failure.
Update a transaction
To update an existing transaction you can send a POST request specifying the transaction_id in the url, with any field that you want updated sent via the $_POST[“data”] array.
POST https://yourdomain.com/api/transactions/{transaction_id}
This will produce a result of Success or Failure.
Refund a transaction
To refund a transaction you can send a POST request specifying the transaction_id in the url, and a refund command and the amount to refund and the refund reason via the $_POST["data"] array.
POST -d "data[refund]&data[refund_value]=100.00&data[transaction_notes]=fraud" https://yourdomain.com/api/transactions/{transaction_id}
This will produce a result of Success or Failure.
Raffles
Url: https://yourdomain.com/api/raffles
Formats: CSV (default) or JSON
Options: date_from, date_to
Primary key: raffle_id
External CRM ID: crm_raffle_id
Column | Type | Default | Comments | |
---|---|---|---|---|
raffle_id | bigint(20) | |||
charity_id | bigint(20) | |||
raffle_name | varchar(255) | |||
raffle_key | varchar(255) | |||
raffle_code | varchar(50) | |||
ticket_start | bigint(20) | 1 | ||
ticket_prefix | varchar(50) | |||
entries_closed | enum('Y', 'N') | N | ||
raffle_end_date | date | |||
raffle_end_time | time | |||
number_tickets | bigint(20) | |||
max_tickets | int(4) | |||
min_tickets | int(4) | |||
has_tax | enum('Y', 'N') | N | ||
allow_single_tickets | enum('Y', 'N') | Y | ||
ticket_price | double(8,2) | |||
ticket_image | varchar(255) | |||
raffle_short_desc | text | |||
raffle_closed_message | text | |||
raffle_thumbnail | varchar(255) | |||
send_confirmation_email | enum('Y', 'N') | Y | ||
confirmation_email_template_id | bigint(20) | |||
confirmation_email_subject | varchar(255) | |||
confirmation_email_body | text | |||
redirect_page | enum('Y', 'N') | N | ||
redirect_url | varchar(255) | |||
event_confirmation_html | text | |||
crm_raffle_id | varchar(255) | |||
sort_order | int(4) | |||
raffle_status | int(1) | 0 | ||
last_updated | datetime | |||
date_created | datetime |
Get all Raffles
GET https://yourdomain.com/api/raffles
Get a specific Raffle
GET https://yourdomain.com/api/raffles/
Raffle Tickets
Url: https://yourdomain.com/api/raffletickets
Formats: CSV (default) or JSON
Options: date_from, date_to,raffle_id
Primary key: option_id
Column | Type | Default | Comments | |
---|---|---|---|---|
option_id | bigint(20) | |||
raffle_id | bigint(20) | |||
option_name | varchar(150) | |||
option_tickets | int(4) | |||
option_price | double(8,2) | |||
option_description | text | |||
sort_order | int(4) | |||
last_updated | datetime | |||
date_created | datetime |
Get all Raffle Tickets
GET https://yourdomain.com/api/raffletickets
Get a specific Raffle Ticket
GET https://yourdomain.com/api/raffletickets/
Raffle Sales
Url: https://yourdomain.com/api/rafflesales
Formats: CSV (default) or JSON
Options: date_from, date_to,raffle_id
Primary key: sale_id
External CRM ID: crm_sale_id
Column | Type | Default | Comments | |
---|---|---|---|---|
sale_id | bigint(20) | |||
raffle_id | bigint(20) | 0 | ||
charity_id | bigint(20) | 0 | ||
option_id | bigint(20) | 0 | ||
number_tickets | bigint(20) | 0 | ||
ticket_start | bigint(20) | 0 | ||
ticket_end | bigint(20) | 0 | ||
title | varchar(80) | |||
first_name | varchar(80) | |||
last_name | varchar(80) | |||
last_name_prefix | varchar(100) | |||
varchar(80) | ||||
optin_fees | enum('Y', 'N') | N | ||
po_number | varchar(150) | |||
donation_amount | double(8,2) | |||
total_fee | double(8,2) | |||
mobile | varchar(50) | |||
mobile_suffix | varchar(5) | |||
phone | varchar(80) | |||
address_unit | varchar(50) | |||
address_number | varchar(150) | |||
address_street | varchar(150) | |||
address_2 | varchar(159) | |||
address_postcode | varchar(20) | |||
address_suburb | varchar(150) | |||
address_state | varchar(100) | |||
address_country | varchar(150) | |||
kw_address | varchar(255) | |||
dob | date | 0000-00-00 | ||
gender | varchar(20) | NULL | ||
company | varchar(150) | |||
optin | enum('Y', 'N') | N | ||
optin_text | text | NULL | ||
optin_email | varchar(1) | |||
optin_sms | varchar(1) | |||
optin_post | varchar(1) | |||
optin_phone | varchar(1) | |||
sub_total | double(7,2) | |||
gst | double(7,2) | |||
total | double(7,2) | |||
date_paid | datetime | |||
tax_ref | varchar(150) | |||
card_type | varchar(50) | |||
card_country | varchar(10) | |||
card_brand | varchar(80) | |||
card_name | varchar(80) | |||
card_number | varchar(80) | |||
card_expiry | varchar(10) | |||
payment_method | varchar(30) | |||
email_sent | enum('Y', 'N') | N | ||
email_sent_date | datetime | |||
is_mobile | enum('Y', 'N') | N | ||
crm_sale_id | varchar(255) | |||
last_updated | datetime | |||
date_created | datetime |
Get all Sales
GET https://yourdomain.com/api/rafflesales
Get a specific Sale
Tickets
Url: https://yourdomain.com/api/tickets
Formats: CSV (default) or JSON
Options: date_from, date_to, event_id
Primary key: ticket_id
External CRM ID: N/A
Column | Type |
---|---|
ticket_id | bigint(20) |
event_id | bigint(20) |
member_type_id | varchar(80) |
ticket_name | varchar(150) |
ticket_code | varchar(50) |
ticket_category | varchar(150) |
ticket_price | double(8,2) |
ticket_limit | bigint(20) |
is_table | enum('Y', 'N') |
allow_guests | enum('Y', 'N') |
is_private | enum('Y', 'N') |
num_tickets | bigint(20) |
min_buy_limit | int(4) |
max_buy_limit | int(4) |
ticket_description | text |
ticket_image | varchar(255) |
ticket_line_item | varchar(100) |
ticket_status | int(1) |
sort_order | int(4) |
crm_ticket_id | varchar(255) |
last_updated | datetime |
date_created | datetime |
Indexes
Get all Tickets
GET https://yourdomain.com/api/tickets
Get a specific Ticket Option
GET https://yourdomain.com/api/tickets/{ticket_id}
Get a specific Event Ticket Option
GET https://yourdomain.com/api/tickets?event_id={event_id}
Ticketholders / Offline Event Guests
Url: https://yourdomain.com/api/ticketholders
Formats: CSV (default) or JSON
Options: date_from, date_to,ticket_id,event_id
Primary key: guest_id
Column | Type |
---|---|
guest_id | bigint(20) |
member_id | bigint(20) |
event_id | bigint(20) |
history_id | bigint(20) |
ticket_id | bigint(20) |
wave_id | bigint(20) |
table_id | bigint(20) |
related_member_id | bigint(20) |
bib_number | varchar(100) |
g_fname | varchar(150) |
g_lname | varchar(150) |
g_lname_prefix | varchar(80) |
g_email | varchar(150) |
g_phone | varchar(80) |
g_notes | text |
g_company | varchar(150) |
g_gender | enum('M', 'F', 'O') |
g_dob | date |
g_shirt_size | varchar(150) |
g_emergency_contact | varchar(150) |
g_emergency_contact_alt | varchar(150) |
g_emergency_phone | varchar(150) |
g_emergency_contact_type | varchar(150) |
crm_guest_id | varchar(255) |
ecrm_customer_id | varchar(255) |
ecrm_last_synced_date | datetime |
last_updated | datetime |
date_created | datetime |
Indexes
Get all Ticket Holders
GET https://yourdomain.com/api/ticketholders
Get a specific Ticket Holder
Webforms
Url: https://yourdomain.com/api/webforms/[form_id]
Formats: CSV (default) or JSON
Webforms are forms that are built from within Funraisin itself and therefore these typically have no set structure since you are in complete control of what fields are captured.
Pages
Url: https://yourdomain.com/api/pages/[page_id]
Formats: CSV (default) or JSON
Pages will provide you access to the static pages created within the CMS module.
Dynamic Endpoints
The below endpoints provide you access to information that would otherwise require querying multiple data tables to determine the result such as leaderboards. The data produced from these endpoints are created on the fly based on the data in the database and as a result they are cached for a period of 10 minutes to protect the integrity of the live database.
Top Fundraisers
Url: https://yourdomain.com/api/topfundraisers/{optional limit}/{optional event_id}
Formats: CSV (default) or JSON
Returns an unformatted list of your top fundraisers in order of total amount raised, restricted to the optional limit. If no limit provided then it defaults to 100.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
member_id, name, page url, raised, target, photo, event
Top Teams
Url: https://yourdomain.com/api/topteams/{optional limit}/{optional event_id}
Formats: CSV (default) or JSON
Returns an unformatted list of your top teams in order of total amount raised, restricted to the optional limit. If no limit provided then it defaults to 100.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
team_id_id, name, page url, raised, target, photo, event
Top Donations
Url: https://yourdomain.com/api/topdonations/{optional limit}/{optional event_id}
Formats: CSV (default) or JSON
Returns an unformatted list of your top donations in order of total amount raised, restricted to the optional limit. If no limit provided then it defaults to 100.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
donation_id_id, display name, comments, amount donated, photo, page url of person or team sponsored
Total Donations
Url: https://yourdomain.com/api/totaldonations/{optional event_id}
Formats: CSV (default) or JSON
Options: member_id, team_id, history_id
Returns a dollar amount of total donations based on the parameters sent. If no parameters then it returns the sum of all donations.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
amount
Total Fundraisers
Url: https://yourdomain.com/api/totalmembers/{optional event_id}
Formats: CSV (default) or JSON
Returns an integer for the number of fundraisers.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
total
Total Teams
Url: https://yourdomain.com/api/totalteams/{optional event_id}
Formats: CSV (default) or JSON
Returns an integer for the number of teams.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
total
Total Steps
Url: https://yourdomain.com/api/totalsteps/{optional event_id}
Formats: CSV (default) or JSON
Options: member_id, team_id, history_id
Returns an integer of total steps based on the parameters sent. If no parameters then it returns the sum of all steps.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
steps
Total KMs
Url: https://yourdomain.com/api/totalkms/{optional event_id}
Formats: CSV (default) or JSON
Options: member_id, team_id, history_id
Returns an integer of total kilometres based on the parameters sent. If no parameters then it returns the sum of all kilometres.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
kilometres
Total Miles
Url: https://yourdomain.com/api/totalmiles/{optional event_id}
Formats: CSV (default) or JSON
Options: member_id, team_id, history_id
Returns an integer of total miles based on the parameters sent. If no parameters then it returns the sum of all miles.
If you wish to restrict the results to a certain event you can pass through the optional event_id paramater in the url.
Data Returned
miles
Custom Endpoints
In addition to the above endpoints which are fixed in terms of what data you can access, you are able to create your very own custom endpoints and choose what data you want to receive.
Using the Data Exports feature which is the ability to create customisable data files that can be downloaded, emailed or dropped onto a sFTP server, you are able to access these same data exports programmatically via the API.
This allows you to essentually pick and choose exactly what you want to receive data wise and it also allows you to access data across multiple tables, for example you can access both donor and fundraiser data in a single call, you can even apply custom SQL queries to get exactly the right data that you need.
To access a data export via the API you will need the Export url which can be obtained by viewing the data export from within the admin and clickin into the API Access tab. This will provide you with the endpoint for the specific data export.
Don't forget the same rules apply as per all the other endpoints, you will still need to pass across your API key and you can also still set the data format to csv or Json using the ?format=json attribute