├── LICENSE ├── README.md ├── demos ├── csharp │ ├── DonorDriveApiDemo.csproj │ ├── Program.cs │ └── README.md ├── demos.md ├── javascript │ ├── README.md │ └── index.html └── php │ ├── README.md │ └── index.php ├── how-tos.md ├── overview.md └── resources ├── about.md ├── activity.md ├── badges.md ├── donations.md ├── donors.md ├── events.md ├── incentives.md ├── milestones.md ├── participants.md ├── teamgroups.md └── teams.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 DonorDrive 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DonorDrive Public API 2 | 3 | The DonorDrive Public API makes it easy to build integrations using public event, participant, and team data through a RESTful interface. Data is retrieved via GET requests and successful responses are returned in JSON format. The API is completely open to integrations using the interface in a responsible manner. 4 | 5 | Please limit requests to one every 15 seconds. Make use of the `etag` and `if-none-match` headers to reduce network overhead on redundant API calls. Please don't abuse the API, or we may be forced to rate-limit requests. A reasonable example of the interval is as follows: when updating a streaming overlay, polling the participant endpoint every 15 seconds and checking for a change in `etag` (HTTP 200). If a change is detected, use the participantID to get additional information from nested endpoints, and display the combined information on the streaming overlay. 6 | 7 | For general inquiries and requests for larger volume integrations, please email support@donordrive.com for assistance. 8 | 9 | ## Table of Contents 10 | * [Overview](overview.md) 11 | * [How-Tos](how-tos.md) 12 | * [Demos](demos/demos.md) 13 | * Resources 14 | * [About](resources/about.md) 15 | * [Activity](resources/activity.md) 16 | * [Badges](resources/badges.md) 17 | * [Donations](resources/donations.md) 18 | * [Donors](resources/donors.md) 19 | * [Events](resources/events.md) 20 | * [Incentives](resources/incentives.md) 21 | * [Milestones](resources/milestones.md) 22 | * [Participants](resources/participants.md) 23 | * [Teams](resources/teams.md) 24 | * [Team Groups](resources/teamgroups.md) -------------------------------------------------------------------------------- /demos/csharp/DonorDriveApiDemo.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | NU1701 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /demos/csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Net.Http; 4 | using System.Net.Http.Headers; 5 | using System.Threading.Tasks; 6 | 7 | public class Program 8 | { 9 | private const string URL = "https://testdrive.donordrive.com/api/"; 10 | private static string urlParameters = "participants?version=1.5&orderBy=sumDonations%20DESC&limit=10"; 11 | 12 | static void Main(string[] args) 13 | => new Program().MainAsync().GetAwaiter().GetResult(); 14 | 15 | private async Task MainAsync() 16 | { 17 | using (var client = new HttpClient()) 18 | { 19 | client.BaseAddress = new Uri(URL); 20 | HttpResponseMessage response = await client.GetAsync(urlParameters); 21 | if (response.IsSuccessStatusCode) 22 | { 23 | dynamic participants = response.Content.ReadAsAsync>().Result; 24 | foreach (dynamic participant in participants) 25 | { 26 | Console.WriteLine("{0}", participant); 27 | } 28 | } 29 | else 30 | { 31 | Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /demos/csharp/README.md: -------------------------------------------------------------------------------- 1 | # C# DonorDrive API Demo 2 | A basic demo utilizing .NET Core 2.0 to showcase a participant request with optional filtering. 3 | 4 | ### Prerequisites 5 | No Authentication is required for the public API. 6 | -------------------------------------------------------------------------------- /demos/demos.md: -------------------------------------------------------------------------------- 1 | # Demos 2 | 3 | ## C# 4 | A basic demo utilizing .NET Core 2.0 to showcase a participant request with optional filtering. 5 | 6 | [Download](/demos/csharp) 7 | 8 | ## JavaScript 9 | Launching index.html will open a page that you can use to generate JavaScript code snippets to call the DonorDrive Public API. 10 | You can also use the page to hit the Public API and view the results. It is suggested that you read the main README before using this page. 11 | 12 | [Download](/demos/javascript) 13 | 14 | ## PHP 15 | A basic demo using PHP to get all participants from an event. 16 | 17 | [Download](/demos/php) 18 | 19 | ## Node 20 | The Node demo is developed and maintained by [ammuench's Github project](https://github.com/ammuench/extra-life-api) 21 | -------------------------------------------------------------------------------- /demos/javascript/README.md: -------------------------------------------------------------------------------- 1 | # JavaScript DonorDrive API Demo 2 | 3 | Launching [index.html](index.html) will open a page that you can use to generate JavaScript code snippets to call the DonorDrive Public API. 4 | You can also use the page to hit the Public API and view the results. It is suggested that you read the main README before using this page. -------------------------------------------------------------------------------- /demos/javascript/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JavaScript DonorDrive API Demo 10 | 11 | 13 | 14 | 15 | 38 |
39 |

Top Participants Goals

40 |
41 |
42 |
43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /demos/php/README.md: -------------------------------------------------------------------------------- 1 | # PHP DonorDrive API Demo 2 | A basic demo using PHP to get all participants from an event. 3 | 4 | ### Prerequisites 5 | 6 | Requests in PHP require the use of modules cURL (recommended) or PECL, or the use of a 3rd party HTTP request library. 7 | 8 | No Authentication is required for the public API. 9 | -------------------------------------------------------------------------------- /demos/php/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PHP DonorDrive API Demo 5 | 6 | 7 | 8 | 18 |
19 |

Event Participants

20 |
21 | 1, 27 | // CURLOPT_HEADER => 1, 28 | CURLOPT_URL => 'https://testdrive.donordrive.com/api/participants?version=1.5&limit=10&orderBy=sumDonations%20DESC&offset=1&limit=9', 29 | CURLOPT_CONNECTTIMEOUT => $timeout 30 | )); 31 | 32 | $response = curl_exec($curl); 33 | $jsonResponse = json_decode($response, true); 34 | curl_close($curl); 35 | 36 | if($jsonResponse) { 37 | foreach($jsonResponse as $participant) { 38 | echo '
39 |
40 |
41 |

' . $participant['displayName'] . '

42 |

' . $participant['createdDateUTC'] . '

43 |

' . $participant['eventName'] . '

44 |
45 |
46 |
'; 47 | } 48 | } else { 49 | echo '

No participants for this event found

'; 50 | } 51 | 52 | ?> 53 |
54 |
55 | 56 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /how-tos.md: -------------------------------------------------------------------------------- 1 | # How-Tos 2 | 3 | ## Getting Started 4 | Visit the DonorDrive instance you wish to integrate with. Make note of the domain. 5 | 6 | For example: if you visited https://testdrive.donordrive.com you would access the API by appending one of the resource endpoints cataloged below: https://testdrive.donordrive.com/api/events. 7 | 8 | If there's a particular *how-to* you don't see listed below or in the [Demos](/demos/demos.md) section, don't hesitate to put in an issue. 9 | 10 | --- 11 | 12 | ### Getting an Event 13 | `https://testdrive.donordrive.com/api/events` 14 | ### Getting an Event's teams 15 | `https://testdrive.donordrive.com/api/events/508/teams` 16 | ### Getting a Team's Participants 17 | `https://testdrive.donordrive.com/api/teams/8580/participants` 18 | ### Getting a Participant's Details 19 | `https://testdrive.donordrive.com/api/participants/15882` 20 | ### Getting a Participant's Donations 21 | `https://testdrive.donordrive.com/api/participants/15882/donations` 22 | ### Getting a Participant's Top Donor using the limit and orderBy clauses 23 | `https://testdrive.donordrive.com/api/participants/15882/donors?limit=1&orderBy=sumDonations%20DESC` 24 | ### Getting all Participants from an Event with 'bob' in their name using the where clause 25 | `https://testdrive.donordrive.com/api/events/508/participants?where=displayName%20LIKE%20%27%25bob%25%27` 26 | -------------------------------------------------------------------------------- /overview.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | ## Versioning 4 | 5 | The DonorDrive Public API will receive updates as the needs within the platform grow, and to accommodate feature requests from the community. 6 | 7 | Versions may be accessed by Query Parameter: https://testdrive.donordrive.com/api/events?version=1.5 8 | 9 | |Supported Version|Default?| 10 | |---|---| 11 | |1.3|| 12 | |1.2|| 13 | |1.1|| 14 | |1.0|Yes| 15 | 16 | **We will support previous Versions as long as reasonably possible. We will do our best to notify the community well in advance of deprecating/dropping support for a given Version.** 17 | 18 | ## Status Codes 19 | A 200 Status Code will return for successful API calls. Meaningful codes + messaging will be furnished in the event of an error. Here are some other responses you may encounter. 20 | 21 | |Status Code|Description| 22 | |---|---| 23 | |204|No Content - The pagination offset is out of range.| 24 | |304|Not Modified - If `If-None-Match` was furnished, and the response is unmodified, a 304 will be returned instead of a payload.| 25 | |400|Bad Request - The request could not be interpreted.| 26 | |404|Not Found - The request could not be found for the ID or URL provided.| 27 | |412|Precondition Failed - The version furnished is unsupported.| 28 | |429|Too Many Requests - You've been rate limited, take a break.| 29 | |500|Internal Server Error - Technical support has been notified.| 30 | |503|Service Unavailable - The API is unavailable or undergoing maintenance. Please try again later.| 31 | 32 | ## Array-based Endpoints 33 | 34 | Since version 1.1, the `offset` parameter is 0-based, so the first record has an `offset` of 0, second record has an `offset` of 1, etc. The result set returned from endpoints can be further restricted by including the following Query Parameters. 35 | 36 | |Query Parameter|Description|Notes| 37 | |---|---|---| 38 | |`limit`|The result set will be restricted by the value defined. Default and max is set to 100. Any value above 100 will return a 400 error.|| 39 | |`offset`|The result set returned will start at the index furnished by offset (i.e. when working with a working set larger than the limit of 100, offset may be furnished to paginate through results).|| 40 | |`orderBy`|The specified `filterable` (see `where` below) fields will be used to create the sort-order of the response payload.|[SQL Order By](https://www.w3schools.com/sql/sql_orderby.asp)| 41 | |`where`|Value provided will follow the rules of a SQL-style `where` clause. Note that not all columns are `filterable` using the `where` clause. For each column in the response field list for an endpoint, the `filterable` column specifies whether or not it can be used within a `where` clause.|[SQL Where](https://www.w3schools.com/sql/sql_where.asp)| 42 | 43 | ## Response Headers 44 | 45 | The following response headers are included to facilitate the handling of data. 46 | 47 | |Header|Description|Notes| 48 | |---|---|---| 49 | |`API-Version`|The version of the API used to fulfill the request.|| 50 | |`Cache-Control`|See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control for usage|| 51 | |`ETag`|See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag for usage|| 52 | |`Last-Modified`|Can be used to compare when a record was last updated. Useful when comparing if your data is still valid.|| 53 | |`Link`|First, Prev, Next, and Last values will be present, if applicable.|For Array-based responses; [RFC](http://www.rfc-editor.org/rfc/rfc5988.txt)| 54 | |`Num-Records`|The number of records within the entire result set.|For Array-based responses| 55 | -------------------------------------------------------------------------------- /resources/about.md: -------------------------------------------------------------------------------- 1 | # About 2 | 3 | Information pertaining to this DonorDrive program. 4 | 5 | **Added in version 1.3** 6 | 7 | ## Endpoints 8 | 9 | |Path|Return Type|Notes| 10 | |---|---|---| 11 | |`/api/about`|`object`|| 12 | 13 | ## Response 14 | 15 | The response from the `about` endpoint is an object. 16 | 17 | ### Example 18 | 19 | ```json 20 | { 21 | "currency": { 22 | "symbol":"$", 23 | "label":"USD" 24 | }, 25 | "displayName": "Try", 26 | "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras eget velit lectus. Sed at molestie urna. Donec sed purus quis dolor consequat congue mattis non mi.", 27 | "programID": "1259-100", 28 | "avatarImageURL": "https://assets.donordrive.com/clients/try/img/badgeLogo.jpg", 29 | "charityName": "Try DonorDrive", 30 | "links": { 31 | "home":"https://testdrive.donordrive.com/" 32 | } 33 | } 34 | ``` 35 | 36 | ### Fields 37 | 38 | |Field|Type|Description|Guaranteed|Filterable|Notes| 39 | |---|---|---|---|---|---| 40 | |`avatarImageURL`|`string`|The URL for the avatar image associated with this Event|Yes||| 41 | |`charityName`|`string`|The name of the Charity Organization associated with this Program|Yes||| 42 | |`currency`|`object`|Default currency details for this programs|Yes||`symbol` and `label` will always be present| 43 | |`description`|`string`|A brief description of this Program|||| 44 | |`displayName`|`string`|The friendly name for this Program|Yes||| 45 | |`links`|`object`|An object containing related resources|||`home`: The home page for this Program
`register`: The registration form for the single registration event or personal campaign type associated with this Program| 46 | |`numOpenParticipantEvents`|`integer`|The number of participant events (registration events and personal campaign types) that are currently open for registration|Yes||| 47 | |`programID`|`string`|The unique ID of this Program|Yes||| 48 | 49 | -------------------------------------------------------------------------------- /resources/activity.md: -------------------------------------------------------------------------------- 1 | # Activity 2 | 3 | Recent Activity associated with a Participant or Team. 4 | 5 | ## Endpoints 6 | 7 | Default `orderBy`: `createdDateUTC DESC` 8 | 9 | |Path|Return Type|Notes| 10 | |---|---|---| 11 | |`/api/events/{eventID}/activity`|`array`|To find `{eventID}`, visit your Event's Fundraising Page. Look for the `&eventID=` URL parameter.| 12 | |`/api/participants/{participantID}/activity`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 13 | |`/api/teams/{teamID}/activity`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 14 | 15 | ## Response 16 | 17 | The response from the `activity` endpoint is an array of objects, with a maximum of 5, outlining the recent activity around the participant or team. 18 | 19 | ### Example 20 | 21 | ```json 22 | [ 23 | { 24 | "message": "Five Dollar Incentive", 25 | "amount": 5, 26 | "isIncentive": 1, 27 | "createdDateUTC": "2019-11-10T19:38:51.897+0000", 28 | "title": "Friendly Donor", 29 | "imageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 30 | "type": "donation" 31 | }, 32 | { 33 | "amount": 15, 34 | "createdDateUTC": "2019-11-08T15:22:13.933+0000", 35 | "title": "Friendly Donor", 36 | "imageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 37 | "type": "donation" 38 | }, 39 | { 40 | "amount": 10, 41 | "createdDateUTC": "2019-11-06T16:26:02.487+0000", 42 | "title": "Friendly Donor", 43 | "imageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 44 | "type": "donation" 45 | }, 46 | { 47 | "message": "Raised 100 dollars!", 48 | "createdDateUTC": "2019-11-06T16:25:01.530+0000", 49 | "title": "100 Club Badge", 50 | "imageURL": "http://assets.donordrive.com/try/images/$event508$/badge_2F7819D3_C019_3C7D_B9D716687CEEC0A5.png", 51 | "type": "participantBadge" 52 | }, 53 | { 54 | "message": "Sent 25 donation invite emails!", 55 | "createdDateUTC": "2019-11-06T16:25:00.530+0000", 56 | "title": "Enthusiastic Participant Badge", 57 | "imageURL": "https://assets.donordrive.com/try/images/$event508$/badge_DCB0A883_BC0A_97DB_639B4D7BFDEC638E.png", 58 | "type": "participantBadge" 59 | } 60 | ] 61 | ``` 62 | 63 | ### Fields 64 | 65 | |Field|Type|Description|Guaranteed|Filterable|Notes| 66 | |---|---|---|---|---|---| 67 | |`amount`|`float`|The amount of this Donation Activity||Yes|For `donation` type Activity items| 68 | |`createdDateUTC`|`date`|The date (in UTC) this Activity item was created|Yes|Yes|ISO-8601 format| 69 | |`imageURL`|`string`|The URL for the image associated with the Activity item|Yes|Yes|| 70 | |`isIncentive`|`boolean`|`true` if this donation claimed a Fundraiser or Team Incentive||Yes|For `donation` type Activity items| 71 | |`message`|`string`|The message associated with the Activity item||Yes|| 72 | |`title`|`string`|The title associated with the Activity item||Yes|| 73 | |`type`|`string`|The type of Activity item|Yes|Yes|`donation` or `participantBadge` or `teamBadge`| -------------------------------------------------------------------------------- /resources/badges.md: -------------------------------------------------------------------------------- 1 | # Badges 2 | 3 | Achievement Badges associated with a Participant or Team. 4 | 5 | **This feature may not be available for all instances of DonorDrive.** 6 | 7 | ## Endpoints 8 | 9 | Default `orderBy`: `unlockedDateUTC DESC` 10 | 11 | |Path|Return Type|Notes| 12 | |---|---|---| 13 | |`/api/participants/{participantID}/badges`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 14 | |`/api/teams/{teamID}/badges`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 15 | 16 | ## Response 17 | 18 | The response from the `badges` endpoint is an array of badge objects. 19 | 20 | ### Example 21 | 22 | ```json 23 | [ 24 | { 25 | "description": "Log your first activity", 26 | "isUnlocked": true, 27 | "title": "Log your first activity", 28 | "unlockedDateUTC": "2020-11-18T19:32:24.373Z", 29 | "badgeImageURL": "https://assets.donordrive.com/try/images/$event1444$/badge_41FE3AEF_EFF5_F3B7_2E7C92C797E8D019.png", 30 | "badgeCode": "log-your-first-activity" 31 | }, 32 | { 33 | "description": "Updated Profile", 34 | "isUnlocked": true, 35 | "title": "Making it Personal", 36 | "unlockedDateUTC": "2019-08-20T17:12:42.407Z", 37 | "badgeImageURL": "https://assets.donordrive.com/try/images/badge_2D23D09D_00D7_9BEA_FBA21459ADCB5AD4.png", 38 | "badgeCode": "making-it-personal" 39 | }, 40 | { 41 | "description": "Log 1,000 Activity Units", 42 | "isUnlocked": false, 43 | "title": "Log 1,000 Activity Units", 44 | "badgeImageURL": "https://assets.donordrive.com/try/images/$event1444$/badge_420B949E_A0B7_558B_57164EF78EF9992E.png", 45 | "badgeCode": "log-1-000-activity-units", 46 | "links": { 47 | "page": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.participant&participantID=130662" 48 | } 49 | } 50 | ] 51 | ``` 52 | 53 | ### Fields 54 | 55 | |Field|Type|Description|Guaranteed|Filterable|Notes| 56 | |---|---|---|---|---|---| 57 | |`badgeCode`|`string`|The code associated with this Badge|Yes|Yes|| 58 | |`badgeImageURL`|`string`|The URL for the image associated with this Badge|Yes||| 59 | |`description`|`string`|The description of this Badge|Yes|Yes, `LIKE` operator recommended|Honors `Accept-Language` header| 60 | |`isUnlocked`|`string`|`true` if this Badge has been unlocked by the target|Yes|Yes|Added: 1.3| 61 | |`links`|`object`|An object containing related resources|Yes|No|`page`: The URL for the Participant's or Team's Fundraising Page| 62 | |`title`|`string`|The title of this Badge|Yes|Yes, `LIKE` operator recommended|Honors `Accept-Language` header| 63 | |`unlockedDateUTC`|`date`|The date this Badge was unlocked by the Participant or Team||Yes|ISO-8601 format|Changed: 1.3
This field is present if the Badge `isUnlocked`| -------------------------------------------------------------------------------- /resources/donations.md: -------------------------------------------------------------------------------- 1 | # Donations 2 | 3 | Donations associated with an Event, Participant, or Team. 4 | 5 | ## Endpoints 6 | 7 | Default `orderBy`: `createdDateUTC DESC` 8 | 9 | |Path|Return Type|Notes| 10 | |---|---|---| 11 | |`/api/events/{eventID}/donations`|`array`|To find `{eventID}`, visit your Event's Fundraising Page. Look for the `&eventID=` URL parameter.| 12 | |`/api/participants/{participantID}/donations`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 13 | |`/api/teams/{teamID}/donations`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 14 | 15 | ## Response 16 | 17 | The response from the `donations` endpoint is an array of donation objects. 18 | 19 | ### Example 20 | 21 | ```json 22 | [ 23 | { 24 | "displayName": "Friendly Donor", 25 | "participantID": 4024, 26 | "amount": 10, 27 | "donorID": "EB8610A3FC435D58", 28 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 29 | "createdDateUTC": "2019-10-30T18:01:18.513+0000", 30 | "eventID": 581, 31 | "teamID": 5074, 32 | "donationID": "DF4E676D0828A8D5", 33 | "links": { 34 | "recipient": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.participant&participantID=4024", 35 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.donate&participantID=4024" 36 | }, 37 | "isRegFee": false, 38 | "recipientName": "Jane Participant", 39 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg", 40 | "message": null, 41 | "activityPledgeUnitAmount": 10.00, 42 | "activityPledgeMaxAmount": 1000.00 43 | }, 44 | { 45 | "displayName": "Jane Participant", 46 | "participantID": 4024, 47 | "amount": 10, 48 | "donorID": "DC3A81BE19445E15", 49 | "isRegFee": false, 50 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 51 | "createdDateUTC": "2019-10-28T16:02:42.583+0000", 52 | "eventID": 581, 53 | "teamID": 5074, 54 | "donationID": "F491FB1141299348", 55 | "links": { 56 | "recipient": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.participant&participantID=4024", 57 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.donate&participantID=4024" 58 | }, 59 | "incentiveID": "213F6CC8-9CFE-C59F-C3FE158798AFA7B1", 60 | "recipientName": "Jane Participant", 61 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg", 62 | "message": null, 63 | "donorIsRecipient": true 64 | }, 65 | { 66 | "displayName": "The Donation Foundation", 67 | "participantID": 4024, 68 | "amount": 100, 69 | "isRegFee": false, 70 | "donorID": "03F279F2BF01283D", 71 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 72 | "createdDateUTC": "2019-10-26T15:26:13.290+0000", 73 | "eventID": 581, 74 | "teamID": 5074, 75 | "donationID": "3FF734E8C1657F6C", 76 | "links": { 77 | "recipient": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.participant&participantID=4024", 78 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.donate&participantID=4024" 79 | }, 80 | "recipientName": "Jane Participant", 81 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg", 82 | "message": null 83 | } 84 | ] 85 | ``` 86 | 87 | ### Fields 88 | 89 | |Field|Type|Description|Guaranteed|Filterable|Notes| 90 | |---|---|---|---|---|---| 91 | |`activityPledgeMaxAmount`|`float`|The maximum amount pledged for an activity pledge|No|No|| 92 | |`activityPledgeUnitAmount`|`integer`|The amount pledged per activity unit|No|No|| 93 | |`amount`|`float`|The amount of this Donation||Yes|Dependent on privacy settings dictated by the Donor| 94 | |`avatarImageURL`|`string`|The URL for the avatar image associated with the Donor|Yes|Yes|| 95 | |`createdDateUTC`|`date`|The date (in UTC) this Donation was created|Yes|Yes|ISO-8601 format| 96 | |`displayName`|`string`|The Donor's name||Yes|Dependent on privacy settings dictated by the Donor| 97 | |`donationID`|`string`|The unique ID of this Donation|Yes|Yes|| 98 | |`donorID`|`string`|The unique ID of the Donor||Yes|Dependent on privacy settings dictated by the Donor| 99 | |`donorIsRecipient`|`boolean`|`true` if the donor is the same constituent as the recipient|No|No|Dependent on privacy settings dictated by the Donor| 100 | |`eventID`|`integer`|The ID of the Event this Donor is associated with|Yes|Yes|| 101 | |`incentiveID`|`string`|The ID of the Fundraiser Incentive associated to this Donation||Yes|| 102 | |`isRegFee`|`boolean`|`true` if the donation is a registration fee|No|No|| 103 | |`links`|`object`|An object containing related resources|No|No|`recipient`: The URL for this recipient's (Event, Participant, Team) Fundraising Page
`donate`: The donation URL for this Participant| 104 | |`message`|`string`|The message from the Donor|Yes|No|Dependent on privacy settings dictated by the Donor| 105 | |`participantID`|`integer`|The ID of the Participant associated to this Donation||Yes|Participant Donations only| 106 | |`recipientName`|`string`|The name of the event, Participant, or Team the received the donation|Yes|No|| 107 | |`recipientImageURL`|`string`|The URL for the avatar image associated with this Event, Participant, or Team|Yes|No|| 108 | |`teamID`|`integer`|The ID of the Team associated to this Donation||Yes|Team Participant Donations and Team Donations only| -------------------------------------------------------------------------------- /resources/donors.md: -------------------------------------------------------------------------------- 1 | # Donors 2 | 3 | Donors associated with an Event, Participant, or Team. 4 | 5 | ## Endpoints 6 | 7 | Default `orderBy`: `modifiedDateUTC DESC` 8 | 9 | |Path|Return Type|Notes| 10 | |---|---|---| 11 | |`/api/events/{eventID}/donors`|`array`|To find `{eventID}`, visit your Event's Fundraising Page. Look for the `&eventID=` URL parameter.| 12 | |`/api/participants/{participantID}/donors`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 13 | |`/api/teams/{teamID}/donors`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 14 | 15 | ## Response 16 | 17 | The response from the `donors` endpoint is an array of donor objects. 18 | 19 | ### Example 20 | 21 | ```json 22 | [ 23 | { 24 | "displayName": "Friendly Donor", 25 | "donorID": "EB8610A3FC435D58", 26 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 27 | "modifiedDateUTC": "2019-10-30T18:01:18.513+0000", 28 | "sumDonations": 3500, 29 | "numDonations": 13, 30 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg" 31 | }, 32 | { 33 | "displayName": "Barnabas Jungleham", 34 | "donorID": "C650B80FC37D7464", 35 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 36 | "modifiedDateUTC": "2019-10-14T15:35:27.370+0000", 37 | "sumDonations": 30, 38 | "numDonations": 1, 39 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg" 40 | }, 41 | { 42 | "displayName": "Kimberly Jalapeno", 43 | "donorID": "63135F1FCCEABD47", 44 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 45 | "modifiedDateUTC": "2019-10-07T18:36:00.343+0000", 46 | "sumDonations": 200, 47 | "numDonations": 4, 48 | "recipientImageURL": "https://testdrive.donordrivecontent.com/try/images/$avatars$/constituent_8672DB7B-CE87-F677-6260FF8F15074828.jpg" 49 | } 50 | ] 51 | ``` 52 | 53 | ### Fields 54 | 55 | |Field|Type|Description|Guaranteed|Filterable|Notes| 56 | |---|---|---|---|---|---| 57 | |`avatarImageURL`|`string`|The URL for the avatar image associated with the Donor|Yes|Yes|| 58 | |`displayName`|`string`|The Donor's name|Yes||Changed: 1.3
Dependent on privacy settings dictated by the Donor| 59 | |`donorID`|`string`|The unique ID of the Donor|||Changed: 1.3
Dependent on privacy settings dictated by the Donor| 60 | |`modifiedDateUTC`|`date`|The date (in UTC) this Donor last donated|Yes|Yes|ISO-8601 format| 61 | |`numDonations`|`integer`|The number of Donations this Donor has made to the Participant or Team|Yes|Yes|| 62 | |`recipientImageURL`|`string`|The URL for the avatar image associated with this Event, Participant, or Team|Yes|No|| 63 | |`sumDonations`|`float`|The sum total of Donations this Donor has made to the Participant or Team|Yes|Yes|| -------------------------------------------------------------------------------- /resources/events.md: -------------------------------------------------------------------------------- 1 | # Events 2 | 3 | Active Events in this instance of DonorDrive. 4 | 5 | ## Endpoints 6 | 7 | |Path|Return Type|Notes| 8 | |---|---|---| 9 | |`/api/events/{eventID}`|`object`|To find `{eventID}`, visit your Event's Fundraising Page. Look for the `&eventID=` URL parameter.| 10 | 11 | ## Response 12 | 13 | The response from the `events` endpoint is a single event object. 14 | 15 | ### Example 16 | 17 | ```json 18 | { 19 | "avatarImage": "https://assets.donordrive.com/clients/try/img/badgeLogo.jpg", 20 | "endDateUTC": "2019-11-03T21:45:00.0+0000", 21 | "venue": "The Venue", 22 | "city": "The City", 23 | "country": "US", 24 | "eventID": 605, 25 | "province": "NY", 26 | "timezone": "America/New_York", 27 | "type": "P", 28 | "startDateUTC": "2019-11-02T15:45:00.0+0000", 29 | "features": { 30 | "participantBadges": true, 31 | "participantIncentives": true, 32 | "participantMilestones": true, 33 | "teams": true, 34 | "teamBadges": true 35 | }, 36 | "name": "Test Participant Event", 37 | "numParticipants": 300, 38 | "numTeams": 50, 39 | "links": { 40 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.event&eventID=605#donate", 41 | "page": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.event&eventID=605" 42 | }, 43 | "hasDates": true, 44 | "checkInEndDateUTC": "2019-11-01T15:45:00.0+0000", 45 | "checkinStartDateUTC": "2019-10-01T15:45:00.0+0000", 46 | "publishDateUTC": "2019-02-02T15:45:00.0+0000", 47 | "hasLocation": true, 48 | "latitude": 0.000, 49 | "longitude": 0.000 50 | } 51 | ``` 52 | 53 | ### Fields 54 | 55 | |Field|Type|Description|Guaranteed|Filterable|Notes| 56 | |---|---|---|---|---|---| 57 | |`avatarImageURL`|`string`|The URL for the avatar image associated with this Event|Yes|Yes|| 58 | |`city`|`string`|The Event's city||Yes|Events with location only| 59 | |`checkInEndDateUTC`|`date`|The date when event check-in ends|No|No|| 60 | |`checkInStartDateUTC`|`date`|The date when event check-in begins|No|No|| 61 | |`country`|`string`|The Event's country||Yes|Events with location only| 62 | |`description`|`string`|A brief description of this Event|||Added: 1.3| 63 | |`endDateUTC`|`date`|The end date (in UTC) of this Event||Yes|Events with dates only; ISO-8601 format| 64 | |`eventID`|`integer`|The unique ID of the Event|Yes|Yes|| 65 | |`expressRegistrationParticipantTypeID`|`string`|The participant type ID used for third party registration|No|No|Depends on Third Party Registration being enabled| 66 | |`features`|`object`|Features enabled/supported in this event. See Notes for details|||Added: 1.3
`participantBadges`: `true` if badges are available for participants
`participantIncentives`: `true` if fundraising incentives are available for participants
`participantMilestones`: `true` if fundraising milestones are available for participants
`teams`: `true` if team support has been enabled
`teamBadges`: `true` if badges are available for teams| 67 | |`fundraisingGoal`|`float`|This Event's fundraising goal||Yes|| 68 | |`geofenceRadius`|`integer`|The radius around the event location within which mobile check-in is available|No|No|Depends on the event having a location, latitude, and longitude| 69 | |`hasDates`|`boolean`|`true` if the event has dates associated with it|Yes|Yes|| 70 | |`hasExpressRegistration`|`boolean`|`true` if Third Party Registration is enabled|No|Yes|| 71 | |`hasLocation`|`boolean`|`true` if a location is specified|Yes|Yes|| 72 | |`latitude`|`float`|The latitude of the event location|No|No|Depends on the event having a location| 73 | |`longitude`|`float`|The longitude of the event location|No|No|Depends on the event having a location| 74 | |`links`|`object`|An object containing related resources|||`donate`: The donation URL for this Event
`page`: The URL for this Event's Fundraising Page
`stream`: The URL for the Live Fundraising(TM) stream associated with this Event| 75 | |`name`|`string`|The Event's name|Yes|Yes|| 76 | |`numDonations`|`integer`|The number of donations this Event has received||Yes|| 77 | |`numParticipants`|`integer`|The number of participants associated with this Event|||| 78 | |`numTeams`|`integer`|The number of teams associated with this Event|||| 79 | |`province`|`string`|The Event's province/state||Yes|Events with location only| 80 | |`publishDateUTC`|`date`|The date the event was published|Yes|No|| 81 | |`startDateUTC`|`date`|The start date (in UTC) of this Event||Yes|Events with dates only; ISO-8601 format| 82 | |`streamIsLive`|`boolean`|`true` if this Event is actively streaming on it's Fundraising Page||Yes|| 83 | |`sumActivityUnits`|`integer`|The sum of all activity tracked in the event|No|Yes|Depends on Activity Impact being enabled| 84 | |`sumDonations`|`float`|The total sum of donations this Event has received||Yes|| 85 | |`timezone`|`string`|The Event's timezone|||Events with dates only| 86 | |`type`|`string`|The Event's type|Yes|Yes|`C`: Capital Campaign; `I`: Personal Campaign Group; `P`: Participant Event; `T`: Ticket Event| 87 | |`venue`|`string`|The Event's venue||Yes|Events with location only| -------------------------------------------------------------------------------- /resources/incentives.md: -------------------------------------------------------------------------------- 1 | # Incentives 2 | 3 | Fundraiser Incentives associated with a Participant. 4 | 5 | **This feature may not be available for all instances of DonorDrive.** 6 | 7 | ## Endpoints 8 | 9 | Default `orderBy`: `amount ASC` 10 | 11 | |Path|Return Type|Notes| 12 | |---|---|---| 13 | |`/api/participants/{participantID}/incentives`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 14 | |`/api/teams/{teamID}/incentives`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 15 | 16 | ## Response 17 | 18 | The response from the `incentives` endpoint is an array of incentive objects. 19 | 20 | ### Example 21 | 22 | ```json 23 | [ 24 | { 25 | "amount": 10, 26 | "description": "I'll give you a personal shoutout on stream!", 27 | "incentiveImageURL": "https://assets.donordrive.com/extralife/images/$constituents$/98DEB758-C29F-F29A-66B83598945B70D1/deedee.jpg", 28 | "quantity": 5, 29 | "quantityClaimed": 0, 30 | "links": { 31 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.participant&participantID=15882&incentiveID=DBAC7F77-D0D0-A244-C3879E9BC1B5AC06#donate" 32 | }, 33 | "incentiveID": "DBAC7F77-D0D0-A244-C3879E9BC1B5AC06", 34 | "isActive": true 35 | }, 36 | { 37 | "endDateUTC": "2021-04-14T07:00:00.0+0000", 38 | "amount": 22, 39 | "description": "Spin the prize wheel!", 40 | "quantity": 5, 41 | "quantityClaimed": 0, 42 | "incentiveID": "74885F1C-0A20-4CA1-011F56911302E557", 43 | "isActive": false, 44 | "startDateUTC": "2021-04-01T07:00:00.0+0000" 45 | }, 46 | { 47 | "amount": 50, 48 | "description": "Choose my Mario Kart character!", 49 | "incentiveImageURL": "https://assets.donordrive.com/extralife/images/$constituents$/98DEB758-C29F-F29A-66B83598945B70D1/deedee.jpg", 50 | "quantity": 1, 51 | "quantityClaimed": 0, 52 | "links": { 53 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.participant&participantID=15882&incentiveID=DBB0826A-F48D-319A-DE3F070C2CC46D7F#donate" 54 | }, 55 | "incentiveID": "DBB0826A-F48D-319A-DE3F070C2CC46D7F", 56 | "isActive": true 57 | } 58 | ] 59 | ``` 60 | 61 | ### Fields 62 | 63 | |Field|Type|Description|Guaranteed|Filterable|Notes| 64 | |---|---|---|---|---|---| 65 | |`amount`|`float`|The amount of this Fundraiser Incentive|Yes|Yes|| 66 | |`description`|`string`|A text description of this Fundraiser Incentive|Yes|Yes|| 67 | |`incentiveID`|`string`|The unique ID of this Fundraiser Incentive|Yes|Yes|| 68 | |`endDateUTC`|`date`|If present, the date (in UTC) this Fundraiser Incentive becomes unavailable||Yes|ISO-8601 format| 69 | |`incentiveImageURL`|`string`|The URL for the image associated with this Fundraiser Incentive||| 70 | |`isActive`|`string`|`true` if this Fundraiser Incentive currently accepts donations|Yes|Yes|Added: 1.2| 71 | |`links`|`object`|An object containing related resources|||`donate`: The donation URL for this Fundraiser Incentive| 72 | |`startDateUTC`|`date`|If present, the date (in UTC) this Fundraiser Incentive became available||Yes|ISO-8601 format| 73 | |`quantity`|`integer`|The total number available for this Fundraiser Incentive||Yes|If not present, the quantity is unlimited| 74 | |`quantityClaimed`|`integer`|The number claimed of this Fundraiser Incentive||Yes|If not present, the quantity is unlimited and the quantity claimed is zero| -------------------------------------------------------------------------------- /resources/milestones.md: -------------------------------------------------------------------------------- 1 | # Milestones 2 | 3 | Fundraiser Milestones associated with a Participant. 4 | 5 | **This feature may not be available for all instances of DonorDrive.** 6 | 7 | ## Endpoints 8 | 9 | Default `orderBy`: `amount ASC` 10 | 11 | |Path|Return Type|Notes| 12 | |---|---|---| 13 | |`/api/participants/{participantID}/milestones`|`array`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 14 | |`/api/teams/{teamID}/milestones`|`array`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 15 | 16 | ## Response 17 | 18 | The response from the `milestones` endpoint is an array of milestone objects. 19 | 20 | ### Example 21 | 22 | ```json 23 | [ 24 | { 25 | "fundraisingGoal": 1000, 26 | "description": "Pie in the face!", 27 | "milestoneID": "F611075E-B722-E1A7-C91690575DD48210", 28 | "isActive": true, 29 | "isComplete": true 30 | }, 31 | { 32 | "fundraisingGoal": 2500, 33 | "description": "I'll eat a spoonful of hot sauce!", 34 | "milestoneID": "200F1E52-EDD2-3E85-CD951C029594E855", 35 | "isActive": true, 36 | "isComplete": true 37 | }, 38 | { 39 | "fundraisingGoal": 5000, 40 | "description": "I'll dye my hair!", 41 | "links": { 42 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.participant&participantID=15882&donationAmount=401.50#donate" 43 | }, 44 | "milestoneID": "22BA1A3A-1234-FF6A-394361D3FF9304FF", 45 | "isActive": true 46 | } 47 | ] 48 | ``` 49 | 50 | ### Fields 51 | 52 | |Field|Type|Description|Guaranteed|Filterable|Notes| 53 | |---|---|---|---|---|---| 54 | |`description`|`string`|A text description of this Fundraiser Milestone|Yes|Yes|| 55 | |`fundraisingGoal`|`float`|The amount of this Fundraiser Milestone|Yes|Yes|| 56 | |`isActive`|`string`|`true` if this Fundraiser Milestone is currently active|Yes|Yes|Added: 1.2| 57 | |`isComplete`|`boolean`|`true` if this Fundraiser Milestone has been reached||Yes|| 58 | |`links`|`object`|An object containing related resources||Yes|`donate`: URL to donate the exact amount to reach Fundraiser Milestone| 59 | |`milestoneID`|`string`|The unique ID of this Fundraiser Milestone|Yes|Yes|| 60 | |`endDateUTC`|`date`|If present, the date (in UTC) this Fundraiser Milestone becomes unavailable||Yes|ISO-8601 format| 61 | |`startDateUTC`|`date`|If present, the date (in UTC) this Fundraiser Milestone became available||Yes|ISO-8601 format| -------------------------------------------------------------------------------- /resources/participants.md: -------------------------------------------------------------------------------- 1 | # Participants/Personal Campaigns 2 | 3 | Individual fundraisers participating in an active Participant Event or Personal Campaign. 4 | 5 | ## Endpoints 6 | 7 | |Path|Return Type|Notes| 8 | |---|---|---| 9 | |`/api/participants/{participantID}`|`object`|To find `{participantID}`, visit your Participant's Fundraising Page. Look for the `&participantID=` URL parameter.| 10 | 11 | ## Response 12 | 13 | The response from the `participants` endpoint is a single fundraiser object. 14 | 15 | ### Example 16 | 17 | ```json 18 | [ 19 | { 20 | "displayName": "Liam Bonham", 21 | "fundraisingGoal": 8000, 22 | "eventName": "Test Participant Event", 23 | "links": { 24 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.participant&participantID=19265#donate", 25 | "page": "https://testdrive.donordrive.com/index.cfm?fuseaction=donordrive.participant&participantID=19265" 26 | }, 27 | "createdDateUTC": "2019-11-02T15:02:38.93+0000", 28 | "eventID": 508, 29 | "sumDonations": 4661, 30 | "participantID": 19265, 31 | "teamName": "The Bonhams", 32 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-constituent-default.gif", 33 | "teamID": 8775, 34 | "isTeamCaptain": true, 35 | "sumPledges": 0, 36 | "numDonations": 51 37 | } 38 | ] 39 | ``` 40 | 41 | ### Fields 42 | 43 | |Field|Type|Description|Guaranteed|Filterable|Notes| 44 | |---|---|---|---|---|---| 45 | |`activityGoal`|`float`|The Participant's activity goal|No|No|| 46 | |`avatarImageURL`|`string`|The URL for the avatar image associated with this Participant|Yes|Yes|| 47 | |`campaignDate`|`date`|The date of the Personal Campaign|||Personal Campaigns only; ISO-8601 format| 48 | |`campaignName`|`string`|The name of the Personal Campaign|||Personal Campaigns only| 49 | |`canBeCaptain`|`boolean`|`true` if the Participant's type permits them to be a team captain|No|No|| 50 | |`createdDateUTC`|`date`|The date (in UTC) this Participant was created|Yes|Yes|ISO-8601 format| 51 | |`displayName`|`string`|This Participant's name|Yes|Yes|| 52 | |`eventID`|`integer`|The ID of the Event this Participant is associated with|Yes|Yes|| 53 | |`eventName`|`string`|The name of the Event this Participant is associated with|Yes||| 54 | |`fundraisingGoal`|`float`|This Participant's individual goal|Yes|Yes|| 55 | |`hasActivityTracking`|`boolean`|`true` if Participant's type has activity tracking enabled|No|No|| 56 | |`isCheckedIn`|`boolean`|`true` if the Participant has completed event check-in|No|Yes|| 57 | |`isCustomAvatarImage`|`boolean`|`true` if that Participant has uploaded an avatar image|No|No|| 58 | |`isTeamCaptain`|`boolean`|`true` if this Participant is the captain of a Team||`true`|Team Participants only| 59 | |`links`|`object`|An object containing related resources|||`donate`: The donation URL for this Participant
`page`: The URL for this Participant's Fundraising Page
`stream`: The URL for the Live Fundraising(TM) stream associated with this Participant| 60 | |`mustBeTeamCaptain`|`boolean`|`true` if the Participant's type requires them to be a team captain|No|No|| 61 | |`numAwardedBadges`|`integer`|The number of badges this Participant has received||Yes|Added: 1.2| 62 | |`numIncentives`|`integer`|The number of fundraising incentives this Participant has created||Yes|Added: 1.3| 63 | |`numMilestones`|`integer`|The number of fundraising milestones this Participant has created||Yes|Added: 1.3| 64 | |`numDonations`|`integer`|The number of donations this Participant has received|Yes|Yes|| 65 | |`participantID`|`integer`|The unique ID of this Participant|Yes|Yes|| 66 | |`participantTypeCode`|`string`|The code associated with the Participant's type|Yes|Yes|| 67 | |`streamingChannel`|`string`|The Participant's streaming channel name|No|No|| 68 | |`streamingPlatform`|`string`|The streaming platform name|No|No|| 69 | |`streamIsEnabled`|`boolean`|`true` if the Participant has configured streaming|No|Yes|| 70 | |`streamIsLive`|`boolean`|`true` if this Participant is actively streaming on their Fundraising Page||Yes|| 71 | |`sumActivityUnits`|`float`|The total activity logged by this Participant|No|Yes|| 72 | |`sumDonations`|`float`|The total sum of donations this Participant has received|Yes|Yes|| 73 | |`sumPledges`|`float`|The total sum of pledges this Team has received||Yes|| 74 | |`teamID`|`integer`|The ID of the Team this Participant is associated with||Yes|Team Participants only| 75 | |`teamName`|`string`|The name of the Team this Participant is associated with|||Team Participants only| -------------------------------------------------------------------------------- /resources/teamgroups.md: -------------------------------------------------------------------------------- 1 | # Team Groups 2 | 3 | Team Groups associated with this instance of DonorDrive 4 | 5 | **This feature may not be available for all instances of DonorDrive.** 6 | 7 | ## Endpoints 8 | 9 | |Path|Return Type|Notes| 10 | |---|---|---| 11 | |`/api/teamgroups/{groupCode}`|`object`|To find `{groupCode}`, contact your DonorDrive Administrator.| 12 | 13 | ## Response 14 | 15 | The response from the `teamgroups` endpoint is a team group object. 16 | 17 | ### Example 18 | 19 | ```json 20 | [ 21 | { 22 | "numParticipants": 80, 23 | "fundraisingGoal": 10000, 24 | "numTeams": 15, 25 | "groupCode": "dd", 26 | "sumDonations": 2500, 27 | "name": "DonorDrive", 28 | "numDonations": 55 29 | } 30 | ] 31 | ``` 32 | 33 | ### Fields 34 | 35 | |Field|Type|Description|Guaranteed|Filterable|Notes| 36 | |---|---|---|---|---|---| 37 | |**`fundraisingGoal`**|`float`|This Team Group's goal|Yes||| 38 | |**`groupCode`**|`string`|The key associated with this Team Group|Yes||| 39 | |**`name`**|`string`|The name of this Team Group|Yes||| 40 | |**`numDonations`**|`integer`|The number of donations this Team Group has received|Yes||| 41 | |**`numParticipants`**|`integer`|The number of participants associated with this Team Group|Yes||| 42 | |**`numTeams`**|`integer`|The number of teams associated with this Team Group|Yes||| 43 | |**`sumDonations`**|`float`|The total sum of donations this Team Group has received|Yes||| -------------------------------------------------------------------------------- /resources/teams.md: -------------------------------------------------------------------------------- 1 | # Teams 2 | 3 | #### Endpoints 4 | 5 | |Path|Return Type|Notes| 6 | |---|---|---| 7 | |`/api/teams/{teamID}`|`object`|To find `{teamID}`, visit your Team's Fundraising Page. Look for the `&teamID=` URL parameter.| 8 | 9 | ## Response 10 | 11 | The response from the `teams` endpoint is a single team object. 12 | 13 | ### Example 14 | 15 | ```json 16 | [ 17 | { 18 | "numParticipants": 5, 19 | "fundraisingGoal": 20000, 20 | "eventName": "Test Participant Event", 21 | "links": { 22 | "donate": "https://testdrive.donordrive.com/index.cfm?fuseaction=donate.team&teamID=8775", 23 | "page": "https://testdrive.donordrive.com/index.cfm?fuseaction=donorDrive.team&teamID=8775" 24 | }, 25 | "createdDateUTC": "2019-11-02T15:02:38.93+0000", 26 | "eventID": 508, 27 | "sumDonations": 9349.5, 28 | "name": "The Bonhams", 29 | "isInviteOnly": false, 30 | "captainDisplayName": "Liam Bonham", 31 | "avatarImageURL": "https://static.donordrive.com/clients/try/img/avatar-team-default.gif", 32 | "teamID": 8775, 33 | "sumPledges": 0, 34 | "numDonations": 97 35 | } 36 | ] 37 | ``` 38 | 39 | ### Fields 40 | 41 | |Field|Type|Description|Guaranteed|Filterable|Notes| 42 | |---|---|---|---|---|---| 43 | |`activitygoal`|`float`|The Team's activity goal|No|No|| 44 | |`avatarImageURL`|`string`|The URL for the avatar image associated with this Team|Yes||| 45 | |`captainDisplayName`|`string`|The captain Participant's name|Yes|Yes|| 46 | |`createdDateUTC`|`date`|The date (in UTC) this Team was created|Yes|Yes|ISO-8601 format| 47 | |`eventID`|`integer`|The ID of the Event this Team is associated with|Yes|Yes|| 48 | |`eventName`|`string`|The name of the Event this Team is associated with|Yes||| 49 | |`fundraisingGoal`|`float`|This Team's goal|Yes|Yes|| 50 | |`hasActivityTracking`|`boolean`|`true` if Team's type has activity tracking enabled|No|No|| 51 | |`hasExclusiveCode`|`boolean`|`true` if the Team's type is configured to allow exclusive teams|No|No|| 52 | |`hasTeamOnlyDonations`|`boolean`|`true` if the Team's type has Disabled Personal Fundraising|No|No|| 53 | |`isCustomAvatarImage`|`boolean`|`true` if that Team has uploaded an avatar image|No|No|| 54 | |`isInviteOnly`|`boolean`|Does this Team restrict registration to invitations-only||Yes|| 55 | |`links`|`object`|An object containing related resources|||`donate`: The donation URL for this Team
`page`: The URL for this Team's Fundraising Page
`stream`: The URL for the Live Fundraising(TM) stream associated with this Team| 56 | |`name`|`string`|This Team's name|Yes|Yes|| 57 | |`numAwardedBadges`|`integer`|The number of badges this Team has received||Yes|Added: 1.2| 58 | |`numDonations`|`integer`|The number of donations this Team has received|Yes|Yes|| 59 | |`numIncentives`|`integer`|The total number of team incentives configured|No|No|| 60 | |`numMilestones`|`integer`|The total number of team milestones configured|No|No|| 61 | |`numParticipants`|`integer`|The number of Participants associated with this Team|Yes|Yes|| 62 | |`sourceTeamID`|`integer`|The Team's original teamID in the first event it appeared in|Yes|Yes|| 63 | |`streamingChannel`|`string`|The Teams's streaming channel name|No|No|| 64 | |`streamingPlatform`|`string`|The streaming platform name|No|No|| 65 | |`streamIsEnabled`|`boolean`|`true` if the Team has configured streaming|No|Yes|| 66 | |`streamIsLive`|`boolean`|`true` if this Team is actively streaming on their Fundraising Page||Yes|| 67 | |`sumActivityUnits`|`float`|The total activity logged by this Team|No|Yes|| 68 | |`sumDonations`|`float`|The total sum of donations this Team has received|Yes|Yes|| 69 | |`sumPledges`|`float`|The total sum of pledges this Team has received||Yes|| 70 | |`teamID`|`integer`|The unique ID of this Team|Yes|Yes|| --------------------------------------------------------------------------------