CrowdTwist API Best Practices

Overview

The CrowdTwist platform is constantly evolving with new changes typically being released to production on a weekly basis. The development organization takes great care to ensure changes are backwards compatible, but certain best practices must be followed to enable the team to move quickly and to support all client initiatives.

Future Proofing API Integrations

The CrowdTwist API uses Javascript Object Notation (JSON) as the data-interchange format for all API endpoints. In order to leverage the latest changes while minimizing disruption to your CrowdTwist integrations there are best practices that are to be followed.
It’s important that the CrowdTwist Engineering team has the ability to add properties to existing JSON objects without causing breaking changes to client API integrations. This enables the team to advance the platform quickly and to better support client needs. Properties should be checked for existence within the JSON object and validation performed for those properties types. Do not validate the JSON object for total number of properties or perform checks for JSON properties that aren’t being used for the integration.

Changes to existing JSON properties (i.e. changing property data types, removing properties, etc) are considered breaking changes. Breaking changes will either be approved by clients using the API or a result in a API version bump.

Data Push API Integrations

CrowdTwist Data Push APIs attempt to POST to the client provided end point.  If the first POST fails, the API will queue and retry up to five times.  After five attempts the API call fails.
 
As a redundancy check, we recommend integrating with the daily batch push files in addition to client provided API end points.