Example: Using a public data call to display a supporter’s MP on a data capture action
This example will show you how to use a public data call to query our target databases for information and display them to supporters, without having to use an email to target form. This uses the EaAOContactData service.
Create the first page of the data capture action, including the postcode field and any other fields you would like included.
On the second page, add a Code Block
Inside the code block, put in code like this (NOTE: Replace ‘your-token’ with your public token):
<spanid="userPostcode"style="display:none;">{user_data~Postcode}</span>
<p>Your MP is <spanid="mpName"></span></p>
<script>varuserPostcode=encodeURIComponent($.trim($('#userPostcode').text()));var service = "EaAOContactData";varconstituencyDatabaseId = 3;vartoken="your-token";vardataUrl="https://ca.engagingnetworks.app/ea-dataservice/data.service?service=" + service +
"&constituencyDatabaseId=" + constituencyDatabaseId +
"&postcode="+userPostcode +
"&token=" +token+"&contentType=json";varnewDataRequest=$.ajax({url:dataUrl,dataType:"jsonp",crossDomain:true,timeout:30000});newDataRequest.done(function(data) {varmpName=data.rows[0].columns[1].value+''+data.rows[0].columns[2].value+''+data.rows[0].columns[3].value+''+data.rows[0].columns[4].value;$('#mpName').text(mpName);});newDataRequest.fail(function(jqXHR,textStatus) {console.log('ajax error'+jqXHR.responseText);});</script>
The page will then display something like: Your MP is Caroline Lucas MP
How does it work?
The first span just puts the supporter’s postcode in a hidden box so we can reference it later. The next paragraph then shows text to the supporter “Your MP is xxx”, where xxx is filled in by the script.
The script begins by assigning the postcode to a variable, which it gets from the hidden span. The dataurl that will be used to query the contact database is then made, including a filter for the supporter’s postcode. The database ID refers to the Westminster MP database, and the service as seen on Public Data Services. The token is the public token you have on your account.
The data request is then made, using the URL. When it is done, the received JSON information is put in a variable called data. From this, the MP’s name is assembled via a few columns of the received data. Finally, it is inserted into the mpName span from the second line.