Action Pages: Webhooks

Anedot can posts Action Page submission, donation, and commitment data to other applications in realtime when there's a change in your account.

Webhooks allow an application to be notified of changes in Anedot. They are intended to provide an efficient way for integrations which react to creations or changes of state in Anedot.  Allow your integration to take action only when something is created or changed.

Webhook Objects

  • Submission - Immutable required container with lead information, and 1 or more donation entries if available
  • Donation - Immutable, hosted gift, recurrence of a commitment, or payment.
  • Product - Immutable product description optional associated with a donation and submission.
  • Commitment - Mutable optional commitment from donor to be charged on a scheduled interval

Object Diagram

ActionPage WebhookObjects-2

Available Actions

Setting Name event Description
Commitment Created commitment_created A new recurring commitment was created
Commitment Failed To Process commitment_failed_to_process A recurrence of a commitment failed to charge the donor an automated donation
Commitment Updated commitment_updated Changes were made to commitment, name, address, amount, or schedule frequency, or commitment cancelled
Donation ACH Returned donation_ach_returned Check return
Donation Chargeback donation_chargeback Check charge back
Donation Chargeback Reversed donation_chargeback_reversed Charge back reversed
Donation Completed donation_completed Successful submission with donation
Donation Partially Refunded donation_partially_refunded Refund less that full donation amount
Donation Refunded donation_refunded Full refund, with our without fees
Donation Voided donation_voided

Donation void occurred, no charge was made

Payload message examples

attribute examples format example value
submission_id uuid f42e7e4f-c93d-4956-a5a2-efab4eef4558
event_date ISO UTC date 2020-12-11 22:06:26 UTC
net_amount decimal money as string 23.70

Donation Created via donor form

amount_in_dollars full amount of donation or payment
net_amount payment minus fees
commitment_uid if present associated commitment
origin hosted if via form recurring if via commitment schedule
custom_field_responses example radio custom field
products > internal_identifier Product id or SKU created via Action Pages >  Products
created_at Original submission date
updated_at Any subsequent changes to a message payload

Other Commitment Attributes of Interest

attribute value explanation
cancellation_reason failure When a commitment is cancelled because of multiple declines
account_cancellation Indicates that an account admin cancelled a commitment
schedule Indicates that the commitment had a set expiration date that passed
nil Indicates that an Anedot staff member cancelled a commitment at a donor's request
donor Indicates that the donor cancelled their commitment.
whodunnit email of user Indicates the user that made a change to the commitment.  Nil if changed internally by Anedot.
payment_status_message varies Relays a value from payment provider first time payment is declined on a recurring.

Donation Example Messages

Note, all donation payloads follow the same schema 

Donation Completed

{
"event": "donation_completed",
"payload": {
"submission_id": "f42e7e4f-c93d-4956-a5a2-efab4eef4558",
"donation": {
"id": "d467208a8376024eacd71",
"donation_project": "",
"products":
[
{
"internal_identifier": "dl332",
"name": "Slipper"
}
],
"fees": {
"anedot_fees": {
"amount": "1.30"
},
"vendor_fees": []
}
},
"origin": "hosted",
"commitment_uid": "e1c696e4-4b7d-443b-a69d-1eb1f7027e29",
"event_amount": "25.00",
"amount_in_dollars": "25.0",
"net_amount": "23.70",
"frequency": "once",
"action_page_id": "e8f8f185-9a94-4fec-8c9c-974065b4db75",
"action_page_name": "New Donation Page",
"donor_profile_id": "",
"payment_method_id": "9d19c94c-8249-4a26-b1aa-299a423bc852",
"created_at": "2020-12-11 22:06:25 UTC",
"updated_at": "2020-12-11 22:06:26 UTC",
"address_line_1": "143 S 3rd St",
"address_line_2": "",
"address_city": "Philadelphia",
"address_region": "PA",
"address_postal_code": "19106",
"address_country": "US",
"email": "susan.b.anthony@anedot.com",
"phone": "5552221212",
"first_name": "Susan",
"last_name": "Anthony",
"middle_name": "",
"occupation": "",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "10.0.0.1",
"referrer": "https://secure.anedot.com/example/slug",
"referrer_to_form": "",
"custom_field_responses": {
"turn_up": "Option One"
},
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": ""
}
}

Donation Voided

{
"event": "donation_voided",
"payload": {
"submission_id": "f42e7e4f-c93d-4956-a5a2-efab4eef4558",
"donation": {
"id": "d467208a8376024eacd71",
"donation_project": "",
"products": [
{
"internal_identifier": "dl332",
"name": "Slipper"
}
],
"fees": {
"anedot_fees": {
"amount": "-1.30"
},
"vendor_fees": []
}
},
"origin": "hosted",
"commitment_uid": "e1c696e4-4b7d-443b-a69d-1eb1f7027e29",
"event_amount": "-25.00",
"amount_in_dollars": "25.0",
"net_amount": "-23.70",
"frequency": "once",
"action_page_id": "e8f8f185-9a94-4fec-8c9c-974065b4db75",
"action_page_name": "New Donation Page",
"donor_profile_id": "",
"payment_method_id": "9d19c94c-8249-4a26-b1aa-299a423bc852",
"created_at": "2020-12-11 22:06:25 UTC",
"updated_at": "2020-12-11 22:06:26 UTC",
"address_line_1": "143 S 3rd St",
"address_line_2": "",
"address_city": "Philadelphia",
"address_region": "PA",
"address_postal_code": "19106",
"address_country": "US",
"email": "susan.b.anthony@anedot.com",
"phone": "5552221212",
"first_name": "Susan",
"last_name": "Anthony",
"middle_name": "",
"occupation": "",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "2600:100c:b01f:815d:456d:5903:4547:f517",
"referrer": "https://secure.anedot.com/mje-test/slug",
"referrer_to_form": "",
"custom_field_responses": {
"turn_up": "Option One"
},
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": ""
}
}

Commitment Example Messages

Note, all commitment payloads follow the same schema

Commitment Failed to Process

{
"event": "commitment_failed_to_process",
"payload": {
"id": "c89cc126-853d-42ec-85dd-d56834722413",
"total_amount_in_dollars": "10.3",
"fund_allocations": [
{
"amount_in_dollars": "10.3",
"fund": {
"id": "3bfe8049-aa5a-4db1-840c-c1ede521dd5c",
"identifier": "95263a32-4dc8-4e41-8ea1-174d527472f9",
"name": "General Fund"
}
}
],
"next_capture_on": "2021-04-03 12:55:10 UTC",
"cancelled_on": "",
"expired_on": "",
"failed_on": "",
"paused_on": "",
"token": "1500139abd7729e85079362ae4a8c768cd5d0b70",
"frequency": "monthly",
"action_page_id": "b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"action_page_name": "Commitment Page",
"donor_profile_id": "",
"payment_method_id": "952219f9-b345-46c2-9e88-c362e4ba626f",
"submission_id": "3af17864-9db0-4083-b18b-d88d043266dc",
"created_at": "2021-01-03 12:55:10 UTC",
"updated_at": "2021-03-17 16:44:50 UTC",
"address_line_1": "123 Pelinor Way",
"address_line_2": "",
"address_city": "Pelinor",
"address_region": "TX",
"address_postal_code": "76545",
"address_country": "US",
"email": "gandalf@thegrey.com",
"phone": "8765456789",
"first_name": "Gandalf",
"last_name": "Thegrey",
"middle_name": "",
"occupation": "retired",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "127.0.0.1",
"referrer": "http://secure.anedot.me:3000/washington/b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"referrer_to_form": "",
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": "false",
"payment_status_message": "Declined",👈
"changed_attributes": {},
"cancellation_reason": "",
"whodunnit": ""
}
}

 

Commitment Updated with Cancellation Reason

{
"event": "commitment_updated",
"payload": {
"id": "c89cc126-853d-42ec-85dd-d56834722413",
"total_amount_in_dollars": "10.3",
"fund_allocations": [
{
"amount_in_dollars": "10.3",
"fund": {
"id": "3bfe8049-aa5a-4db1-840c-c1ede521dd5c",
"identifier": "95263a32-4dc8-4e41-8ea1-174d527472f9",
"name": "General Fund"
}
}
],
"next_capture_on": "2021-04-03 12:55:10 UTC",
"cancelled_on": "2021-03-17 00:00:00 UTC",
"expired_on": "",
"failed_on": "",
"paused_on": "",
"token": "1500139abd7729e85079362ae4a8c768cd5d0b70",
"frequency": "monthly",
"action_page_id": "b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"action_page_name": "Commitment Page",
"donor_profile_id": "",
"payment_method_id": "952219f9-b345-46c2-9e88-c362e4ba626f",
"submission_id": "3af17864-9db0-4083-b18b-d88d043266dc",
"created_at": "2021-01-03 12:55:10 UTC",
"updated_at": "2021-03-17 16:52:48 UTC",
"address_line_1": "123 Pelinor Way",
"address_line_2": "",
"address_city": "Pelinor",
"address_region": "TX",
"address_postal_code": "76545",
"address_country": "US",
"email": "gandalf@thegrey.com",
"phone": "8765456789",
"first_name": "Gandalf",
"last_name": "Thegrey",
"middle_name": "",
"occupation": "retired",
"employer_name": "",
"title": "",
"suffix": "",
"ip_address": "127.0.0.1",
"referrer": "http://secure.anedot.me:3000/washington/b9cb82d0-2e19-4ff1-9cf1-3a8a4b8f02ce",
"referrer_to_form": "",
"communications_consent_email": "",
"communications_consent_phone": "",
"currently_employed": "false",
"payment_status_message": "",
"changed_attributes": {
"cancelled_on": [
null,
"2021-03-17 00:00:00 UTC"
],
"updated_at": [
"2021-03-17 16:44:50 UTC",
"2021-03-17 16:52:48 UTC"
]
},
"cancellation_reason": "failure",👈
"whodunnit": ""
}
}

Submission Completed Example Fields

 {
action_page_id: "",
action_page_name: "",
address_line_1: "",
address_line_2: "",
address_city: "",
address_region: "",
address_postal_code: "",
address_country: "",
communications_consent_email: "",
communications_consent_phone: "",
created_at: "",
currently_employed: "",
custom_field_responses: "<<custom_field_responses>>",
donations: "<<donations>>",
donor_profile_id: "",
email: "",
employer_name: "",
first_name: "",
id: "",
ip_address: "",
last_name: "",
middle_name: "",
occupation: "",
phone: "",
referrer: "",
referrer_to_form: "",
source_code: "",
suffix: "",
title: "",
updated_at: "",
utm_campaign: "",
utm_content: "",
utm_medium: "",
utm_source: "",
utm_term: ""
}