Merge pull request #15309 from totten/master-api4
[civicrm-core.git] / api / v3 / examples / Domain / Create.ex.php
CommitLineData
6a488035 1<?php
50fb255d 2/**
a828d7b8 3 * Test Generated example demonstrating the Domain.create API.
50fb255d 4 *
50fb255d 5 * @return array
6 * API result array
7 */
8function domain_create_example() {
cf8f0fff 9 $params = [
50fb255d 10 'name' => 'A-team domain',
11 'description' => 'domain of chaos',
12 'domain_version' => '4.2',
8390b11b 13 'contact_id' => 7,
cf8f0fff 14 ];
6a488035 15
50fb255d 16 try{
a828d7b8 17 $result = civicrm_api3('Domain', 'create', $params);
50fb255d 18 }
19 catch (CiviCRM_API3_Exception $e) {
20 // Handle error here.
21 $errorMessage = $e->getMessage();
22 $errorCode = $e->getErrorCode();
23 $errorData = $e->getExtraParams();
cf8f0fff 24 return [
5be22f39 25 'is_error' => 1,
26 'error_message' => $errorMessage,
50fb255d 27 'error_code' => $errorCode,
28 'error_data' => $errorData,
cf8f0fff 29 ];
50fb255d 30 }
31
32 return $result;
6a488035
TO
33}
34
fb32de45 35/**
50fb255d 36 * Function returns array of result expected from previous function.
37 *
38 * @return array
39 * API result array
6a488035 40 */
50fb255d 41function domain_create_expectedresult() {
6a488035 42
cf8f0fff 43 $expectedResult = [
50fb255d 44 'is_error' => 0,
45 'version' => 3,
46 'count' => 1,
47 'id' => 3,
cf8f0fff
CW
48 'values' => [
49 '3' => [
50fb255d 50 'id' => '3',
51 'name' => 'A-team domain',
52 'description' => 'domain of chaos',
53 'config_backend' => '',
8390b11b 54 'contact_id' => '7',
50fb255d 55 'locales' => '',
56 'locale_custom_strings' => '',
5be22f39 57 'domain_version' => '4.2',
cf8f0fff
CW
58 ],
59 ],
60 ];
6a488035 61
fb32de45 62 return $expectedResult;
6a488035
TO
63}
64
a828d7b8 65/*
50fb255d 66* This example has been generated from the API test suite.
a828d7b8
CW
67* The test that created it is called "testCreate"
68* and can be found at:
69d79249 69* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
6a488035
TO
70*
71* You can see the outcome of the API tests at
8390b11b 72* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
6a488035
TO
73*
74* To Learn about the API read
8390b11b 75* https://docs.civicrm.org/dev/en/latest/api/
6a488035 76*
8390b11b
SL
77* Browse the API on your own site with the API Explorer. It is in the main
78* CiviCRM menu, under: Support > Development > API Explorer.
6a488035
TO
79*
80* Read more about testing here
8390b11b 81* https://docs.civicrm.org/dev/en/latest/testing/
6a488035
TO
82*
83* API Standards documentation:
8390b11b 84* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
b259a4ab 85*/