Partyline is a CRM software used by Political organizations to manage data.
Anedot will send financial page data to Partyline directly via donation_completed
events. Non-financial page data and custom field data are not supported at this time.
Connect Anedot to Partyline
To connect Anedot to Partyline, follow the steps below:
Access the Settings>Integrations>Directory tab within your fundraising account.
Click the blue + New Connection button in the upper right corner of the Directory.
Select Partyline from the Directory list.
Select the Action Pages you would like synced with Partyline. The default is All Pages.
To exclude pages, enter a comma separated list of the Action Page IDs
Optionally, you can scope the integration to only send team-specific data to Partyline.
Enter your Partyline API Key.
Enter your Client Secret.
Click Save to complete the connection!
The integration endpoint (not shown) hits Partyline’s Anedot API (
https://platform.gulfpartyline.com/api/anedot
).
The Action Pages, Team, and credentials can be modified at any time post-setup.
Data Relays
We only send relays for financial pages (only send webhook
donation_completed
events).We do not send custom fields.
Push Unsent (failed donations, all donations) + date range for relays works for financial pages.
Field Mapping
Relay Fields
The Anedot Fields match the Submission's Raw Data and the Partyline Fields match the Request Body relay.
Anedot Field | Partyline Field |
“donation_completed” | event |
(Donation) id | uid |
createdAt | date |
(Donation object: includes anedot & vendor fee amounts) | fees (multiple fields) |
“[firstName] [lastName]” | name |
phone | phone |
title | title |
amount (x100) | amount |
origin (Donation) | origin |
status (Donation) | status |
suffix | suffix |
address { | address { |
comments (Donation) | comments |
employerName | employer |
lastName | last_name |
“true” or “false” | recurring |
createdAt | created_at |
“individual” or “organization” | donor_type |
firstName | first_name |
occupation | occupation |
* (optional field) | referred_by |
actionPageId | campaign_uid |
totalAmount (x100) | event_amount |
phone | mobile_phone |
organization | organization |
actionPageName | campaign_name |
middleName (first letter only) | middle_initial |
id of the first(originating) donation on the commitment (if recurring) | originating_uid |
actionPageName | campaign_identifier |
“di” | api_method |
*referred_by is a numeric value that maps as follows:
Numeric value | Partyline referred_by Value |
0 | "Magazine" |
1 | "TV" |
2 | "Newspaper" |
3 | "Radio" |
4 | "Facebook" |
5 | "Twitter" |
6 | "Online Ad" |
7 | "Word of mouth" |
8 | "Other" |
Payload Data
Request Headers
{}
Request Body
{
"event": "donation_completed",
"payload": {
"uid": "dbd0ce1bb5544cd767ddd",
"date": "2023-05-11T14:37:13.580Z",
"fees": {
"anedot_fees": {
"amount": "2.30"
},
"vendor_fees": []
},
"name": "Annie Dot",
"email": "[email protected]",
"phone": "2255011234",
"title": null,
"amount": "$50.00",
"origin": "hosted",
"status": "completed",
"suffix": null,
"address": {
"zip": "70503",
"city": "Lafayette",
"state": "LA",
"street": "123 Test Road",
"country": "US",
"street_2": null
},
"comments": null,
"employer": null,
"last_name": "Dot",
"recurring": false,
"created_at": "2023-05-11T14:37:13.548Z",
"donor_type": "individual",
"first_name": "Annie",
"occupation": null,
"referred_by": null,
"campaign_uid": "00c7b970-c269-4062-979e-b7aa939995fe",
"event_amount": "$50.00",
"mobile_phone": null,
"organization": null,
"campaign_name": "Feed the Children - March Gala",
"middle_initial": null,
"originating_uid": null,
"campaign_identifier": "Feed the Children - March Gala"
},
"api_method": "di"
}
Response Body (Success)
"Anedot Transaction Imported Successfully"
Response Body (Failure)
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"> \n<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n<head> \n<title>IIS 10.0 Detailed Error - 404.0 - Not Found</title> \n<style type=\"text/css\"> \n<!-- \nbody{margin:0;font-size:.7em;font-family:Verdana,Arial,Helvetica,sans-serif;} \ncode{margin:0;color:#006600;font-size:1.1em;font-weight:bold;} \n.config_source code{font-size:.8em;color:#000000;} \npre{margin:0;font-size:1.4em;word-wrap:break-word;} \nul,ol{margin:10px 0 10px 5px;} \nul.first,ol.first{margin-top:5px;} \nfieldset{padding:0 15px 10px 15px;word-break:break-all;} \n.summary-container fieldset{padding-bottom:5px;margin-top:4px;} \nlegend.no-expand-all{padding:2px 15px 4px 10px;margin:0 0 0 -12px;} \nlegend{color:#333333;;margin:4px 0 8px -12px;_margin-top:0px; \nfont-weight:bold;font-size:1em;} \na:link,a:visited{color:#007EFF;font-weight:bold;} \na:hover{text-decoration:none;} \nh1{font-size:2.4em;margin:0;color:#FFF;} \nh2{font-size:1.7em;margin:0;color:#CC0000;} \nh3{font-size:1.4em;margin:10px 0 0 0;color:#CC0000;} \nh4{font-size:1.2em;margin:10px 0 5px 0; \n}#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:\"trebuchet MS\",Verdana,sans-serif; \n color:#FFF;background-color:#5C87B2; \n}#content{margin:0 0 0 2%;position:relative;} \n.summary-container,.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} \n.content-container p{margin:0 0 10px 0; \n}#details-left{width:35%;float:left;margin-right:2%; \n}#details-right{width:63%;float:left;overflow:hidden; \n}#server_version{width:96%;_height:1px;min-height:1px;margin:0 0 5px 0;padding:11px 2% 8px 2%;color:#FFFFFF; \n background-color:#5A7FA5;border-bottom:1px solid #C1CFDD;border-top:1px solid #4A6C8E;font-weight:normal; \n font-size:1em;color:#FFF;text-align:right; \n}#server_version p{margin:5px 0;} \ntable{margin:4px 0 4px 0;width:100%;border:none;} \ntd,th{vertical-align:top;padding:3px 0;text-align:left;font-weight:normal;border:none;} \nth{width:30%;text-align:right;padding-right:2%;font-weight:bold;} \nthead th{background-color:#ebebeb;width:25%; \n}#details-right th{width:20%;} \ntable tr.alt td,table tr.alt th{} \n.highlight-code{color:#CC0000;font-weight:bold;font-style:italic;} \n.clear{clear:both;} \n.preferred{padding:0 5px 2px 5px;font-weight:normal;background:#006633;color:#FFF;font-size:.8em;} \n--> \n</style> \n \n</head> \n<body> \n<div id=\"content\"> \n<div class=\"content-container\"> \n <h3>HTTP Error 404.0 - Not Found</h3> \n <h4>The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.</h4> \n</div> \n<div class=\"content-container\"> \n <fieldset><h4>Most likely causes:</h4> \n <ul> \t<li>The directory or file specified does not exist on the Web server.</li> \t<li>The URL contains a typographical error.</li> \t<li>A custom filter or module, such as URLScan, restricts access to the file.</li> </ul> \n </fieldset> \n</div> \n<div class=\"content-container\"> \n <fieldset><h4>Things you can try:</h4> \n <ul> \t<li>Create the content on the Web server.</li> \t<li>Review the browser URL.</li> \t<li>Create a tracing rule to track failed requests for this HTTP status code and see which module is calling SetStatus. For more information about creating a tracing rule for failed requests, click <a href=\"http://go.microsoft.com/fwlink/?LinkID=66439\">here</a>. </li> </ul> \n </fieldset> \n</div> \n \n<div class=\"content-container\"> \n <fieldset><h4>Detailed Error Information:</h4> \n <div id=\"details-left\"> \n <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> \n <tr class=\"alt\"><th>Module</th><td> IIS Web Core</td></tr> \n <tr><th>Notification</th><td> MapRequestHandler</td></tr> \n <tr class=\"alt\"><th>Handler</th><td> ASPClassic</td></tr> \n <tr><th>Error Code</th><td> 0x80070002</td></tr> \n \n </table> \n </div> \n <div id=\"details-right\"> \n <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> \n <tr class=\"alt\"><th>Requested URL</th><td> https://platform.gulfpartyline.com:443/core/webhooks/api/anedot/adf/sdf.asp</td></tr> \n <tr><th>Physical Path</th><td> D:\\PLATFORM\\core\\webhooks\\api\\anedot\\adf\\sdf.asp</td></tr> \n <tr class=\"alt\"><th>Logon Method</th><td> Anonymous</td></tr> \n <tr><th>Logon User</th><td> Anonymous</td></tr> \n \n </table> \n <div class=\"clear\"></div> \n </div> \n </fieldset> \n</div> \n \n<div class=\"content-container\"> \n <fieldset><h4>More Information:</h4> \n This error means that the file or directory does not exist on the server. Create the file or directory and try the request again. \n <p><a href=\"https://go.microsoft.com/fwlink/?LinkID=62293&IIS70Error=404,0,0x80070002,17763\">View more information »</a></p> \n \n </fieldset> \n</div> \n</div> \n</body> \n</html> \n"
Response Status (Success)
200
Response Status (Failure)
400