Skip to content
Snippets Groups Projects
Commit 8f635e9f authored by Seamus Lee's avatar Seamus Lee
Browse files

Add in document on APIv3 Examples

parent 9ec14957
No related branches found
No related tags found
No related merge requests found
# APIv3 Examples
All the APIv3 Examples are generated through Tests in the CodeBase and are autogeneted from those tests so we can be certain of the code that is given.
## Location of Examples
The most current examples can be found in CiviCRM's Github Repo on the [Master Branch](https://github.com/civicrm/civicrm-core/tree/master/api/v3/examples). In the Github Repo can you also find examples that relate to the LTS version as well in the [4.6 Branch](https://github.com/civicrm/civicrm-core/tree/4.6/api/v3/examples). When you install CiviCRM the Examples that come with the perticular version of CiviCRM you have installed can be found in `<civicrm_root>/api/v3/examples`. You will also be able to view them through the [API Explorer](/api/index#api-explorer) by clicking on the Examples tab in th Explorer.
## Creating a New Example
If you find that there is an API call or similar or perhaps a parmater for an API call that you feel is missing an example for that would be useful to the community, you can create a new example in the following way:
1. Find the relevant API test file e.g. `tests/phpunit/api/v3/MembershipTest.php`
2. Write your unit test with the API call that you want to create an Example of, however rather than using `$this->callAPISuccess` use `$this->callAPIAndDocument`. The Call API and Document function should be called similar to the following
```php
$description = "This demonstrates setting a custom field through the API.";
$result = $this->callAPIAndDocument($this->_entity, 'create', $params, __FUNCTION__, __FILE__, $description);
```
3. Find in `tests/phpunit/CiviTest/CiviUnitTestCase.php` Find the function documentMe and comment out the if (defined) statement
4. Run the test suite loacally for that test e.g. `./tools/scripts/phpunit 'api_v3_MembershipTest'
5. Commit results inclduing changes in the Examples dir and open Pull request
......@@ -81,6 +81,7 @@ pages:
# APIv3 Permissions: api/permissions.md
- APIv3 Joins: api/joins.md
- APIv3 Chaining: api/chaining.md
- APIv3 Examples: api/examples.md
# APIv3 Changes: api/changes.md
- Hooks:
- Using hooks: hooks/index.md
......
......@@ -138,3 +138,4 @@ API+Architecture+Standards framework/api-architecture
How+to+migrate+or+write+an+api framework/api-architecture
Javascript+Reference standards/javascript
Resource+Reference framwork/resources
API+Examples api/examples
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment