Skip to main content

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>
  • partnerMetadata: <Object | undefined>
    • The partner metadata base64 unencoded and json parsed as specified using our Donate link or Donate Button. undefined if not specified.
  • 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>
      • 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.
      • name: <string>
        • The nonprofit's displayable name.
  • amount: <string>
    • Numerical amount in the unit defined by the ISO currency code, represented as a string.
  • netAmount: <string>
    • Net amount of the donation after subtracting third party fees.
  • currency: <string>
  • 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>

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!"
}