Skip to main content
Version: Next

DonorPerfect

DonorPerfect is a donor management software used by nonprofits for marketing, automations, integrations, and fundraising tools.

Anedot relays financial data collected through Anedot Donation Pages to DonorPerfect.


Connect Anedot to DonorPerfect

To connect your Anedot fundraising account to DonorPerfect successfully, follow the steps below:

  1. Access the Settings > Intregrations tab within your fundraising account Dashboard.

  2. Select the blue + New Connection button in the upper right corner.

  3. Select DonorPerfect from the Integration Directory.

  4. Next, select which Action Pages you would like to sync with DonorPerfect. Default is All Action 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 DonorPerfect.
  5. Apply your DonorPerfect API Key .

  6. Click Save !

The Action Pages, Team, and credentials can be modified at any time post-setup.


Data Relays

  • Anedot currently supports the following fields. These fields must be setup on Action Pages as Hidden Custom Fields to work properly:

    • gl_code (General Ledger Code - Fund Name )

    • solicit_code

    • sub_solicit_code

    • campaign

    • gift_narrative

    • gift_type

    • gfname

    • glname

    • receipt_delivery_g

    • donor_rcpt_type

      • Blank = Individual
      • I = Individual
      • C = Consolidated
  • Custom Field values can be set at the page-level , as a Global Value , or through URL Parameters .

  • Custom Field values are stored on all donations and recurrence payloads.​

  • Single and Multi-Fund relays are supported.

    • This is determined by the @split_gift='Y/N)' param. Y = Multi-Fund, N = Single Fund)
    • For Multi-Fund donations, expect n+1 relays (where n is the number of funds). The first relay will have @record_type='M' for "main gift," which is a summary of the total donation amount. Each subsequent relay corresponds to an individual fund and will have @record_type='G'.
    • Multi-Fund donations send one relay per fund.

Data in DonorPerfect

  • In DonorPerfect new records are created and updated based on the Email for that record.

    • Use Quick Search to locate donor records. The search results will display the record Created Date and Modified Date . The Modified Date references the most recent successful relay. See the image below.

    • Click on the donor record to view specific details such as the donor's contact information, latest donation, and other donation metrics. See the image below.

    • To view all donations for a donor, click the Gifts tab. See Image 3.


Field Mapping

Donor Relay

This is related to the SaveDonor Template.

Anedot FieldDonorPerfect Field
“0”donor_id
firstNamefirst_name
lastNamelast_name
middleNamemiddle_name
suffixsuffix
titletitle
title, or if not present, firstNamesalutation
N/Aprof_title
N/Aopt_line
address {line1}address
address {line2}address2
address citycity
address regionstate
address postal\_codezip
address countrycountry
N/Aaddress_type
N/Ahome_phone
N/Abusiness_phone
N/Afax_phone
phonemobile_phone
emailemail
“N”org_rec
“IN”donor_type
“N”nomail
N/Anomail_reason
N/Anarrative
donor_rcpt_type otherwise “I”*donor_rcpt_type
“Anedot”user_id

*Custom Hidden Fields must be added to the Anedot Donation Page in order to be relayed.

Donation Relay

This is related to the SaveGift Template

Anedot FieldDonorPerfect Field
“0”gift_id
donor_id ( from Donor Relay’s Response )donor_id
“G” (or “M” for multi-fund)record_type
created_atgift_date
total_amount_processed (supports total charge amount, import for DPF)amount
gl_code*gl_code
solicit_code*solicit_code
sub_solicit_code*sub_solicit_code
campaign*campaign
gift_type*gift_type
“N” (or “Y” for multi-fund)split_gift
“N” for one-time donations, “Y” for pledges/commitmentspledge_payment
(Donation) id (or (Submission) id for multi-fund)reference
N/Atransaction_id
N/Amemory_honor
gfname*gfname
glname*glname
0fmv
0batch_no
gift_narrative *gift_narrative
N/Aty_letter_no
DonorPerfect gift ID for the first multi-fund donation (main gift) otherwise blankglink
DonorPerfect pledge ID for pledges/commitmentsplink
“N”nocalc
N/Aold_amount
“USD”currency
N/Agift_aid_date
N/Agift_aid_amt
N/Agift_aid_eligible_g
“N”receipt
receipt_delivery_g* (for non-split/single fund gifts and for main gift on split/multi-fund gifts) otherwise “N”receipt_delivery_g
“3DD”acknowledgepref
“Anedot”user_id

*Custom Hidden Fields must be added to the Anedot Donation Page in order to be relayed.

Pledge Relay

This is related to the SavePledge Template (commitments and recurrences).

Anedot FieldDonorPerfect Field
“0”gift_id
donor_id ( from Donor Relay’s Response )donor_id
created_atgift_date
(Commitment) schedule_startstart_date
“0”total
N/Abill
(Commitment) first letter of frequency (“A”, “S”, “Q”, “M”)frequency
“Y”reminder
gl_code*gl_code
solicit_code*solicit_code
“N”initial_payment
sub_solicit_code*sub_solicit_code
N/Awriteoff_amount
N/Awriteoff_date
“Anedot”user_id
campaign*campaign
N/Amembership_type
N/Amembership_level
N/Amembership_enr_date
N/Amembership_exp_date
N/Amembership_link_id
N/Aaddress_id
gift_narrative *gift_narrative
N/Aty_letter_no
N/Avault_id
N/Areceipt_delivery_g
N/Acontact_id

*Custom Hidden Fields must be added to the Anedot Donation Page in order to be relayed.


Payload Data

Donor Contact Details

Request Body (Find Donor)

"select donor_id, first_name, last_name, address, city, state, zip from dp where email = '[[email protected]](/cdn-cgi/l/email-protection)'"

Request Body (Create Donor)

"@donor_id=0, @first_name='Annie', @last_name='Dot', @middle_name='E', @suffix=null, @title='Mrs', @salutation=null, @prof_title=null, @opt_line=null, @address='123 Test Road', @address2=null, @city='New Orleans', @state='LA', @zip='70112', @country='US', @address_type=null, @home_phone=null, @business_phone=null, @fax_phone=null, @mobile_phone='12015551234', @email='[[email protected]](/cdn-cgi/l/email-protection)', @org_rec='N', @donor_type='IN', @nomail='N', @nomail_reason=null, @narrative=null, @donor_rcpt_type='I', @user_id='Anedot'"

Response Body (No Donor Found)

`{`  
"result": null
`}`

Response Body (Create Donor)

`{`  
"result": `{`
"record": `{`
"field": `{`
"id": "",
"name": "",
"value": "35609"
`}`
`}`
`}`
`}`

Response Body (Donor Found)

`{`  
"result": `{`
"record": `{`
"field": [`{`
"id": "donor_id",
"name": "donor_id",
"value": "30689"
`}`, `{`
"id": "first_name",
"name": "first_name",
"value": "Annie"
`}`, `{`
"id": "last_name",
"name": "last_name",
"value": "Dot"
`}`, `{`
"id": "address",
"name": "address",
"value": "1340 Poydras Street"
`}`, `{`
"id": "city",
"name": "city",
"value": "New Orleans"
`}`, `{`
"id": "state",
"name": "state",
"value": "LA"
`}`, `{`
"id": "zip",
"name": "zip",
"value": "70112"
`}`]
`}`
`}`
`}`

Response Body (Failure)

`{`  
"result": `{`
"field": `{`
"id": "success",
"name": "success",
"value": "false",
"reason": "login failed"
`}`
`}`
`}`

Donation Details

Request Body

"@gift_id=0, @donor_id=34524, @record_type='G', @gift_date='6/22/23', @amount=50.0, @gl_code=null, @solicit_code=null, @sub_solicit_code=null, @campaign=null, @gift_type=null, @split_gift='N', @pledge_payment='Y', @reference='dd5e83ad6fe6294e460d2', @transaction_id=null, @memory_honor=null, @gfname=null, @glname=null, @fmv=0, @batch_no=0, @gift_narrative=null, @ty_letter_no=null, @glink=null, @plink=143377, @nocalc='N', @old_amount=null, @currency='USD', @gift_aid_date=null, @gift_aid_amt=null, @gift_aid_eligible_g=null, @receipt='N', @receipt_delivery_g='N', @acknowledgepref='3DD', @user_id='Anedot'"

Response Body (Success)

`{`  
"result": `{`
"record": `{`
"field": `{`
"id": "",
"name": "",
"value": "120169"
`}`
`}`
`}`
`}`

Payload Templates

SaveDonor

@donor_id=0,  
@first_name= resource_first_name,
@last_name= resource_last_name,
@middle_name= resource_middle_name,
@suffix= resource_suffix,
@title= resource_title,
@salutation="",
@prof_title="",
@opt_line="",
@address= resource_address_line_1,
@address2= resource_address_line_2,
@city= resource_address_city,
@state= resource_address_region,
@zip= resource_address_postal_code,
@country= resource_address_country,
@address_type="",
@home_phone="",
@business_phone="",
@fax_phone="",
@mobile_phone= resource_phone,
@email= resource_email,
@org_rec='N',
@donor_type='IN',
@nomail='N',
@nomail_reason="",
@narrative="",
@donor_rcpt_type='I',
@user_id='Anedot'

SaveGift

@gift_id=0,  
@donor_id=<queried from DP>,
@record_type='G',
@gift_date=resource created_at,
@amount=resource total_amount,
@gl_code="",
@solicit_code="",
@sub_solicit_code="",
@campaign="",
@gift_type="",
@split_gift='N',
@pledge_payment='N' or 'Y',
@reference=resource id,
@transaction_id="",
@memory_honor="",
@gfname="",
@glname="",
@fmv=0,
@batch_no=0,
@gift_narrative="",
@ty_letter_no="",
@glink="",
@plink=<pledge_id queried from dp>,
@nocalc='N',
@old_amount="",
@currency='USD',
@gift_aid_date="",
@gift_aid_amt="",
@gift_aid_eligible_g="",
@receipt='N',
@receipt_delivery_g='N',
@acknowledgepref='3DD',
@user_id='Anedot'

SavePledge

@gift_id=0,  
@donor_id=<donor_id queried from DP>,
@gift_date=resource created_at,
@start_date=resource commitment schedule,
@total=0,
@bill="",
@frequency=commitment frequency --> ('A', 'Q', 'M', or 'S'),
@reminder='Y',
@gl_code="",
@solicit_code="",
@initial_payment='N',
@sub_solicit_code="",
@writeoff_amount="",
@writeoff_date="",
@user_id='Anedot',
@campaign="",
@membership_type="",
@membership_level="",
@membership_enr_date="",
@membership_exp_date="",
@membership_link_id="",
@address_id="",
@gift_narrative="",
@ty_letter_no="",
@vault_id="",
@receipt_delivery_g="",
@contact_id=""

Related Articles

Mapp Empower (Paramount, BlueHornet, Vervemail) NetFile Planning Center QuickBooks Online Trail Blazer