Crate zohohorrorshow

source ·
Expand description


A library for interacting with the Zoho Projects API, because it’s an awful nightmare of ambiguous fields, optional fields, random casing and largely absent documentation. Xорошо́!


  • The client module contains the implementations for the API client itself and wraps the OAuth process necessary to make requests for a user’s data. If in doubt, this is the one to import. Each model is provided its own plural-named method on ZohoClient for retrieving many entries. Where possible there is also a singular-names method which takes an ID parameter to retrieve a single entry. Some entities such as Activities are only available from the Zoho API as a list; in these cases a singular call has not been provided.
  • Error wrapper module utilising ThisError to unify error handling.
  • Wrapper module for all the Zoho models. Each model (e.g. Tasks) is represented in its own module to maintain separation and allow namespacing of similar methods and types, since each model requires (e.g.) a slightly different implementation of Filter.
  • Convenience module for easy import. Exports the various models and the Zoho client.
  • Principally a wrapper module for Reqwest, this abstracts the details necessary for actually creating and making a request to the Zoho API.