Using the APIs available through contributed modules
An application program interface (API) is a set of methods and routines for building software applications. As well as the core APIs (the node, user, and taxonomy systems, etc.), there are several important APIs made available through contributed modules. Using these contributed APIs can both greatly ease your module development and also increase interoperability with other Drupal modules.
Views
The Views module provides a flexible method to control how lists of posts are retrieved and presented. See the Views Module Developer API for detailed instructions on how to expose your module's tables and fields to views operations.
Actions and Workflows
The actions module allows the configuration of Drupal actions. A Drupal action is a specially written PHP function whose parameters are configured through the web. For example, the Send Email action has parameters Recipient, Subject, and Message.
The workflow module allows the creation and assignment of arbitrary workflows to Drupal node types. Workflows are made up of workflow states. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type.
Together, actions and workflows provide powerful and handy module implementation tools.
E-Commerce
E-Commerce comes with a developed API to facilitate extension of the suite of modules. The developer documentation provides a quick introduction to the API designed to get you started developing E-Commerce solutions.
Location
The Location module provides geographic functionality related to addresses, and includes an API for working with and extending the included functionality. For developer documentation, see the files location_API.txt and extending_support.txt included with the Location distribution.
Organic Groups
Module can add/remove/edit subscribers from groups using the API functions provided in the module. Modules can also create/delete groups since groups are just nodes of type=og. See the contrib directory in the og package to see examples of modules using this API (ecommerce integration, civicrm integration, forum integration, book integration, etc.).
Privatemsg
Modules are notified on message send, delete and prune and given a chance to alter the message before view (since DRUPAL-5--2). File attachments for private messages are an obvious exampel (in the works).
