Webhooks
Don't know what a webhook is? Learn more from this What are webhooks? blog post.
Every.org supports using webhooks to get notified when one of your donors
completes a donation. After you set up your webhook, we will make a POST
request to your webhook endpoint with information about the new donation.
Every.org webhooks come in two flavors - the Nonprofit Donation Webhook and the Partner webhook.
Nonprofit Donation Webhook
The Nonprofit Donation Webhook enables nonprofit admins to get notified every time a donation is made to their nonprofit.
Read more about setting up a Nonprofit Donation Webhook for your nonprofit here.
Partner Webhook
The Partner Webhook enables developers using a Donate Link to get notified every time a donation is completed via their link.
Read more about setting up a Partner Webhook here.
Data format
Requests made by both the Nonprofit Donation and Partner webhooks follow the same format, minus a few fields.
The webhook request will be a JSON-formatted string with the following properties:
chargeId: <string>- Unique ID to the donation. Matches the “Charge ID” of donations in the nonprofit Admin Dashboard.
partnerDonationId: <string | undefined>- The partner donation ID as specified using our
Donate link or Donate Button.
undefinedif not specified.
- The partner donation ID as specified using our
Donate link or Donate Button.
designation: <string | undefined>- The program or project this donation is intended to support.
firstName: <string | undefined>- Included if the donor shared their info with the nonprofit or made the donation public.
"Anonymous"otherwise.
lastName: <string | undefined | null>- Included if the donor shared their info with the nonprofit or made the donation public.
"Donor"otherwise.nullif the donor has no associated last name.
email: <string | undefined | null>undefinedif the donor did not share their info with the nonprofit.nullif the donor has no associated email.
address: <object | undefined>- The address the donor entered when donating. Only included if the donor
entered an address and shared their info with the nonprofit, either by
choice or because the Donate link used
require_share_info. - An object with the following properties, each of which may be missing:
streetAddress: <string | undefined>city: <string | undefined>state: <string | undefined>postalCode: <string | undefined>country: <string | undefined>
- The address the donor entered when donating. Only included if the donor
entered an address and shared their info with the nonprofit, either by
choice or because the Donate link used
toNonprofit: <object>- An object with the following properties:
slug: <string>- The slug that identifies the nonprofit. Every.org
uses the slug to construct the nonprofit's URL as follows:
every.org/<slug>
- The slug that identifies the nonprofit. Every.org
uses the slug to construct the nonprofit's URL as follows:
ein: <string | undefined>- The nonprofit's EIN.
undefinedif the receiving organization does not have an EIN, as in the case where they are fiscally sponsored.
- The nonprofit's EIN.
name: <string>- The nonprofit's displayable name.
- An object with the following properties:
amount: <string>- Numerical amount in the unit defined by the ISO
currencycode, represented as a string.
- Numerical amount in the unit defined by the ISO
netAmount: <string>- Net amount of the donation after subtracting third party fees.
currency: <string>- Currency code as defined in ISO 4217
frequency: <"Yearly"|"Monthly"|"One-time">donationDate: <string Date>- Date that the donation was initiated
publicTestimony: <string | undefined>- A publicly available comment for this donation written by the donor showing at every.org that can be shared.
privateNote: <string | undefined>- A private note for the nonprofit written by the donor.
fromFundraiser: <object | undefined>- An object with the following properties:
id: <string>- The fundraiser's id.
title: <string>- The fundraiser's title.
slug: <string>- The slug that identifies the fundraiser. Every.org
uses the slug to construct the nonprofit's URL as follows:
every.org/<toNonprofit.slug>/f/<fromFundraiser.slug>
- The slug that identifies the fundraiser. Every.org
uses the slug to construct the nonprofit's URL as follows:
- An object with the following properties:
paymentMethod: <string>- The method used to make the payment.
Example request body:
{
"chargeId": "somerandomuuid",
"partnerDonationId": "somerandomuuid",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@emailprovider.org",
"address": {
"streetAddress": "123 Main St",
"city": "San Francisco",
"state": "California",
"postalCode": "94103",
"country": "US"
},
"toNonprofit": {
"slug": "givedirectly",
"ein": "271661997",
"name": "Give Directly"
},
"amount": "1000.00",
"netAmount": "970.07",
"currency": "USD",
"frequency": "Monthly",
"donationDate": "2022-02-03T05:00:16.175Z",
"publicTestimony": "I love animals",
"privateNote": "Thank you for the fantastic work!"
}