Partner Webhook
Learn more
Don't know what a webhook is? Learn more from this What are webhooks? blog post.
Setting up your webhook
Please email us at partners@every.org to set up a Partner Webhook.
In your email, include:
- A couple sentences about your use case
- Your webhook endpoint
We will then send you a unique webhook_token
which you can include as a
parameter on your Donate Link. All donations that are made
via your Donate Link with your webhook_token
will result in a notification
being sent to your webhook.
Data format
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.
undefined
if not specified.
- The partner donation ID as specified using our
Donate link or Donate Button.
partnerMetadata: <Object | undefined>
- The partner metadata base64 unencoded and json parsed as specified using our
Donate link or Donate Button.
undefined
if not specified.
- The partner metadata base64 unencoded and json parsed as specified using our
Donate link or Donate Button.
firstName: <string | undefined>
undefined
if the donor chose not to share this info with the nonprofit.
lastName: <string | undefined | null>
undefined
if the donor chose not to share this info with the nonprofit.null
if the donor has no associated last name.
email: <string | null>
undefined
if the donor chose not to share this info with the nonprofit.null
if the donor has no associated email.
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.
undefined
if 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
currency
code, 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: <"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",
"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!"
}