wiki:CiviCRM HowTo Develop API

Version 1 (modified by Richard Bramley, 11 years ago) ( diff )

--

CiviCRM API Development

Just some quick notes for now:

  1. API files live in the folder {drupal}\sites\all\modules\civicrm\api\v3
  2. Custom API files live in the folder {civicrm custom folder}\api\v3 (CiviCRM custom folder is defined in the Civi menu Admininster >> System Settings >> Directories as Custom PHP Path Directory). These files are used in preference to the ones in the standard folder above.
  3. The file name for API files should be Entity.php. The function name is civicrm_api3_entity_action.
  4. The get methods seem to use a few standard mechanisms, some using functions in the file utils.php in the same api/v3 directory.
  5. One standard mechanism is that _civicrm_api3_basic_create function in the utils.php file. This searches for entities, filtering by their field values.
  6. Quite a few use this method mixed, but add functionality to search for entities based on linked entities. E.g, Activities can be found by contact_id, which is a relationship, not a field. The two methods do not play nicely together. For example, try searching for Activities by contact_id and activity_type_id - the activity_type_id filter will be ignored.
Note: See TracWiki for help on using the wiki.