Skip to content

The API

The Evergiving API allows you to fetch pledge data from an account in Evergiving, either on a schedule or near real-time. The API provides control over which pledges and data fields are available for retrieval.

Key Features

Feature Description
Pledge Export Retrieve pledge data on a schedule or in real-time
Lead Import Import lead data via API
Weight Limiting Retrieve 100 pledges per call
Rate Limiting One call per 5 seconds, per account
Version Tracking Track updates with after_version number

API Workflow

  1. Create API User: Customer creates an API user in their account.
  2. Provide Credentials: Customer provides Token, Campaign ID, and Schema ID.
  3. Create API Schema: Set output type to 'JSON API' and add schema to the campaign.
  4. Testing: Submit test pledges, create conditions for testing, and verify output.
  5. Implementation: Remove test conditions, add production conditions, and ensure data is accurate.

Version Control

  • after_version number: A sequential version number that increments when a pledge is updated. It is used to track and fetch updated records.
  • next_batch_after_version: A parameter in the response that indicates the version for the next API call to retrieve new pledges.

Testing the API

Testing can be challenging when using terminal outputs. Tools like Paw are helpful for testing APIs. Paw provides a macOS interface to compose requests, inspect server responses, and generate client code.

API Rate Limits

  • Rate Limit: One call per 5 seconds, enforced per account.
  • Retry Handling: Respect the retry_after response when receiving a 429 message, indicating the need to retry after the specified wait time.

Excluding Leads from API

To exclude leads from the API and prevent errors, add the condition pledges.pledge_type = 'captured'.

The Evergiving API is used for exporting pledge data and importing leads with a structured workflow that ensures data accuracy. It features rate and weight limits to manage data flow effectively. Tools like Paw can be used for efficient API testing and management.

View the API documentation.