npinger/base-crm-api-client — pull request #2 by claytondaley (2014-03-04 16:06:14+00:00)
Title: Major Revision

This pull request includes a lot of changes to the client:

- Constants were moved into the object so they would be accessible to the consumer of the API object
- The API URL was converted into a dict of resources to better mirror the multiple URLs used in the official API client (i.e. the Ruby version)
- A "native" format was introduced (as default) that requests JSON responses and automatically converts them into Python dicts for consumption
- GET/POST/PUT code was refactored into helper functions
- Functions were created to build URLs for various resources and (most) functions were refactored to use the new URL contructors
- Some calls added to Contacts and Deals
- Leads functions added
- Tags function added

Most of the changes were manually tested, but some (especially creates) may not have been.

NOTE: I'm not actively updating this branch anymore. In light of emails with FutureSimple, I think their API docs are basically abandonware. Instead, I'm building a new branch (MaxFeature) that significantly expands on the available features by replicating BaseCRM's actual browser calls to the APIs. As these calls are not set in stone, the client is always at risk of breaking. However, I find the potential feature set compelling enough to accept this risk.