Detailed field mapping for donor profiles between WeGive and DonorPerfect systems.
dp
(Donor Profile)DonorProfile
WeGive Field | DonorPerfect Field | Type | Notes |
---|---|---|---|
dp_id | @donor_id | Integer | Auto-generated DonorPerfect ID |
email_1 | @email | String | Primary matching field for imports |
id | user_id | String | Always set to “WeGive” for tracking |
Individual Donors
donor_type = 'individual'
:WeGive Field | DonorPerfect Field | Type | Max Length | Required |
---|---|---|---|---|
first_name | @first_name | String | 50 | Yes |
last_name | @last_name | String | 50 | Yes |
middle_name | Not mapped | String | - | No |
'IN'
(Individual)Organizational Donors
donor_type = 'organization'
:WeGive Field | DonorPerfect Field | Type | Max Length | Required |
---|---|---|---|---|
organization_name | @last_name | String | 50 | Yes |
first_name | @first_name | String | 50 | No |
'CO'
(Company/Organization)Phone Field Mapping
WeGive Field | DonorPerfect Field | Type | Format | Notes |
---|---|---|---|---|
mobile_phone | @mobile_phone | String | Digits only | Primary mobile number |
home_phone | @home_phone | String | Digits only | Residential phone |
office_phone | @business_phone | String | Digits only | Work/business phone |
fax | @fax_phone | String | Digits only | Fax number |
Phone Number Processing
WeGive Field | DonorPerfect Field | Type | Validation | Notes |
---|---|---|---|---|
email_1 | @email | String | Email format | Primary email, required for sync |
email_2 | Not mapped | String | - | Secondary emails not synced |
WeGive Field | DonorPerfect Field | Type | Max Length | Notes |
---|---|---|---|---|
mailingAddress.address_1 | @address | String | 50 | Primary address line |
mailingAddress.address_2 | @address2 | String | 50 | Secondary address line |
mailingAddress.city | @city | String | 30 | City name |
mailingAddress.state | @state | String | 2 | State/province code |
mailingAddress.zip | @zip | String | 20 | Postal/ZIP code |
mailingAddress.country | @country | String | 3 | Always set to “US” |
Address Processing Rules
Missing Address Handling
Donor Creation
Profile Updates
Type Detection
ID Assignment
Email Matching
Profile Import
Type Mapping
Relationship Linking
Create/Update Donor
dp_savedonor
Required Parameters:@donor_id
(for updates, empty for new)@first_name
and @last_name
(individuals)@last_name
(organizations)@email
(required)@donor_type
(‘IN’ or ‘CO’)@user_id
(set to “WeGive”)Query Donors
Error Type | Cause | Resolution |
---|---|---|
Missing Email | Donor has no email address | Skip record, log warning |
Invalid Email | Email format validation fails | Correct format and retry |
Duplicate Email | Email already exists in DonorPerfect | Update existing record |
Field Too Long | Text exceeds DonorPerfect limits | Truncate and sync |
API Timeout | Large batch processing | Reduce batch size, retry |
Required Field Validation
Data Quality Checks
WeGive Field | Purpose | Values |
---|---|---|
dp_id | DonorPerfect donor ID | Integer or null |
synced_at | Last sync timestamp | DateTime or null |
sync_status | Current sync state | ’pending’, ‘synced’, ‘error’ |
Donors Not Syncing
Duplicate Donor Records
Address Information Missing