Data services – calls you can make
This document is intended to describe the various data services that we offer and provide examples of what these data service calls can be used for.
Important: The data returned by these calls is cached in a reporting table. This reporting table is refreshed every 15 minutes, so new actions won’t immediately increase the count.
What are Data Services?
Data Services allow you to perform data calls externally from the software using a ‘public token’. These data calls will return basic data for your action pages and donation pages in XML or JSON format.
Accessing the Data Services
Details for all of our current data services can be found at this link
In order to use the data services you will need a ‘public token’. This token can be generated from the admin tab. After logging in as a Super Admin, click Manage Tokens to generate the public token. Once you have a public token you can use it to build the data call URL.
The URL must contain the name of service being called and the token. Other values may be required depending on the service. You also specify what format you want to receive the data in. The default format is XML, but you can also add “contentType=json” to retrieve the results in JSON format. If you require a campaignId, this refers to the “Campaign Number” of the page – this is not the same as the number that appears in page-builder pages’ URLs. You can see campaign numbers in transactional exports and also at the very bottom of the page’s HTML in the final comments (it’s the middle number).
If you wanted to grab the number of constituents that participated in a particular data capture page, you can construct a url like this:
http://ca.engagingnetworks.app/ea-dataservice/data.service?service=EaDataCapture&token={your-public-token}&campaignId=20177&contentType=json&resultType=summary
Visiting that url would return a JSON structure looking something like this:
{"rows":[{"columns":[{"name":"campaignId","value":"20177","type":"xs:int","format":""},{"name":"campaignName","value":"Example Data Capture","type":"xs:string","format":""},{"name":"pageHits","value":"90","type":"xs:int","format":""},{"name":"registrations","value":"23","type":"xs:int","format":""},{"name":"participations","value":"23","type":"xs:int","format":""},{"name":"participatingSupporters","value":"10","type":"xs:int","format":""}]}]}
The value we are looking for here is “participatingSupporters”. This gives us the number of unique constituents who have filled in the petition.
Available Data Services
Service Name | Use |
ActiveJobs | This service returns the current status of all active jobs running in your account |
DataCaptureParticipations | This service returns the number of participations for the Data Capture or Petition page called |
IssueResponse | This service returns whether or not a political contact supports a particular issue or not. |
EaEmailAOTarget | This service returns details or summmary output of ‘Email AO target’ campaign(s) information for a client based on the received token and parameter(s) |
EaEmailAOTargetContact | This service returns details of the contacts for the received campaignId and filter(s) |
EaEmailNonAOTarget | This service returns details or summary output of ‘Email to Target’ campaign(s) information for pages using client created databases based on the received token and parameter(s) |
EaEmailNonAOTargetContact | This service returns details of the contacts for the received campaignId and filter(s) |
EaDataCapture | This service returns the details of Data Capture or Petition pages for the received campaignId and filter(s) |
EaSupporterQuestionResponse | This service returns the details of your constituents response to a question(s) for the received questionID and filters |
EaContactQuestionResponse | This service returns the details of the contacts response to a question(s) for the received questionID and filters |
NetDonor | This service returns the details for a Netdonor page(s) based on the received campaignID and filter(s). NOTE: We do not return any secure payment information |
IssueSupport | This service returns details of the contacts for the received constituencyDatabaseId who support the received issueId |
ContactsByParty | This service returns summary output of the number of candidates by party for the received constituencyDatabaseId |
AccountReports | This service returns general data for you account based on the date range and filters received. Example: New Joins, Total Donations Made, etc. |
EaAOContactData | This service returns details of the contacts for the received constituencyDatabaseId and filter(s) |
EaAOContactDataByPostcode | This service returns details of the contacts for the received constituencyDatabaseId and filter(s) |
EaSupporterCount | This service returns summary output of the number of supporters for a client based on the received token |
EaCampaignInfo | This service returns details of basic campaign information for a client based on the received token and optional parameters. |
EaBroadcastInfo | This service returns details of basic broadcast information for a client based on the received token and optional broadcast id(s) |
EaReferenceData | This service returns details of the reference data for the received referenceDataName |
EaPoliticianResponse | This service returns details of the question response(s) for politicians based on the received filters |
FundraisingSummary | This service returns summary output for net donor actions for a client based on the received token and campaignId(s) |
RollCall | This service returns supporter data for actions for a client based on the received token, campaignId(s), dataSet and detailRows |
FundraisingRollCall | This service returns supporter data for actions for a client based on the received token, campaignId(s), dataSet and detailRows dataSet 1 returns first name and country. dataSet 2 returns first name and city detailRows defaults to 20 (the maximum number of rows this service will return) |
P2PTeamSearch | Allows you to search for a P2P Team by the Team Name |
SupporterData | This service returns details describing which tagged data fields contain data for the supporter identified by the received email address and token(identifies client) |
BroadcastMessageAttribute | This service returns email broadcast information and any attributes associated to those emails |
ProfileCount | This service returns the number of supporters that match a particular profile. The required argument is the profileName as provided in the account dashboard. |
Registration vs Participation vs ParticipatingSupporters
You may have noticed that when calling data from one of your actions that three different numeric values are returned. These values are ‘registrations’, ‘participations’, and ‘participating supporters’.
Registrations = The number of constituents that submitted form data on an action, but did not fully complete the action.
Participants = The number of completed actions taken on a page.
Participating Supporters = The unique constituents that completed a page.
What can I do with this Data?
After accessing the data you have full control of how you manipulate that data. You could manipulate the raw data returned from the data services to create custom visuals and social proof for your pages. For example, you could create a custom thermometer for a donation page, or a creative roll call or counter for an advocacy page – or you could also check for a new constituent and change the page behavior accordingly. Get creative!
Here is an example of a unique roll call that a client created: