CustomFields
extends AbstractApiResourceGroup
in package
Class CustomFields
Tags
Table of Contents
Methods
- create() : CustomFieldsCreateResponse
- Makes POST "/api/v5/custom-fields/{entity}/create" request.
- dictionaries() : CustomFieldsDictionariesResponse
- Makes GET "/api/v5/custom-fields/dictionaries" request.
- dictionariesCreate() : CustomDictionaryCreateResponse
- Makes POST "/api/v5/custom-fields/dictionaries/create" request.
- dictionariesEdit() : CustomDictionaryCreateResponse
- Makes POST "/api/v5/custom-fields/dictionaries/{code}/edit" request.
- dictionariesGet() : CustomDictionaryGetResponse
- Makes GET "/api/v5/custom-fields/dictionaries/{code}" request.
- edit() : CustomFieldsEditResponse
- Makes POST "/api/v5/custom-fields/{entity}/{code}/edit" request.
- get() : CustomFieldsGetResponse
- Makes GET "/api/v5/custom-fields/{entity}/{code}" request.
- list() : CustomFieldsResponse
- Makes GET "/api/v5/custom-fields" request.
Methods
create()
Makes POST "/api/v5/custom-fields/{entity}/create" request.
public
create(string $entity, CustomFieldsCreateRequest $request) : CustomFieldsCreateResponse
Example:
use RetailCrm\Api\Enum\CustomFields\CustomFieldDisplayArea;
use RetailCrm\Api\Enum\CustomFields\CustomFieldEntity;
use RetailCrm\Api\Enum\CustomFields\CustomFieldType;
use RetailCrm\Api\Enum\CustomFields\CustomFieldViewMode;
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Entity\CustomFields\CustomField;
use RetailCrm\Api\Model\Request\CustomFields\CustomFieldsCreateRequest;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$field = new CustomField();
$field->name = 'Description';
$field->code = 'description';
$field->type = CustomFieldType::STRING;
$field->ordering = 10;
$field->displayArea = CustomFieldDisplayArea::MAIN_DATA;
$field->viewMode = CustomFieldViewMode::EDITABLE;
$field->inFilter = true;
$field->inList = true;
$field->inGroupActions = true;
try {
$response = $client->customFields->create(
CustomFieldEntity::CUSTOMER,
new CustomFieldsCreateRequest($field)
);
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Created field ' . print_r($response->code, true);
Parameters
- $entity : string
- $request : CustomFieldsCreateRequest
Tags
Return values
CustomFieldsCreateResponsedictionaries()
Makes GET "/api/v5/custom-fields/dictionaries" request.
public
dictionaries([CustomFieldsDictionariesRequest|null $request = null ]) : CustomFieldsDictionariesResponse
Example:
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Filter\CustomFields\CustomDictionaryFilter;
use RetailCrm\Api\Model\Request\CustomFields\CustomFieldsDictionariesRequest;
use RetailCrm\Api\Enum\PaginationLimit;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$request = new CustomFieldsDictionariesRequest();
$request->page = 1;
$request->limit = PaginationLimit::LIMIT_20;
$request->filter = new CustomDictionaryFilter();
$request->filter->code = 'test22';
$request->filter->name = 'test22';
try {
$response = $client->customFields->dictionaries($request);
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Received dictionaries: ' . print_r($response->customDictionaries, true);
Parameters
- $request : CustomFieldsDictionariesRequest|null = null
Tags
Return values
CustomFieldsDictionariesResponsedictionariesCreate()
Makes POST "/api/v5/custom-fields/dictionaries/create" request.
public
dictionariesCreate(CustomDictionaryCreateRequest $request) : CustomDictionaryCreateResponse
Example:
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Entity\CustomFields\CustomDictionary;
use RetailCrm\Api\Model\Entity\CustomFields\SerializedCustomDictionaryElement;
use RetailCrm\Api\Model\Request\CustomFields\CustomDictionaryCreateRequest;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$dictionary = new CustomDictionary();
$element = new SerializedCustomDictionaryElement();
$element->name = 'test_1';
$element->code = 'test_1';
$element->ordering = 10;
$dictionary->name = 'TestDict';
$dictionary->code = 'test_dict';
$dictionary->elements = [$element];
try {
$response = $client->customFields->dictionariesCreate(new CustomDictionaryCreateRequest($dictionary));
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Created dictionary ' . $response->code;
Parameters
- $request : CustomDictionaryCreateRequest
Tags
Return values
CustomDictionaryCreateResponsedictionariesEdit()
Makes POST "/api/v5/custom-fields/dictionaries/{code}/edit" request.
public
dictionariesEdit(string $code, CustomDictionaryCreateRequest $request) : CustomDictionaryCreateResponse
Example:
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Entity\CustomFields\CustomDictionary;
use RetailCrm\Api\Model\Entity\CustomFields\SerializedCustomDictionaryElement;
use RetailCrm\Api\Model\Request\CustomFields\CustomDictionaryCreateRequest;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$dictionary = new CustomDictionary();
$element = new SerializedCustomDictionaryElement();
$element->name = 'test_1';
$element->code = 'test_1';
$element->ordering = 10;
$dictionary->name = 'TestDict';
$dictionary->elements = [$element];
try {
$response = $client->customFields->dictionariesEdit(
'test_dict',
new CustomDictionaryCreateRequest($dictionary)
);
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Edited dictionary ' . $response->code;
Parameters
- $code : string
- $request : CustomDictionaryCreateRequest
Tags
Return values
CustomDictionaryCreateResponsedictionariesGet()
Makes GET "/api/v5/custom-fields/dictionaries/{code}" request.
public
dictionariesGet(string $code) : CustomDictionaryGetResponse
Example:
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
try {
$response = $client->customFields->dictionariesGet('test');
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Received dictionary ' . print_r($response->customDictionary, true);
Parameters
- $code : string
Tags
Return values
CustomDictionaryGetResponseedit()
Makes POST "/api/v5/custom-fields/{entity}/{code}/edit" request.
public
edit(string $entity, string $code, CustomFieldsCreateRequest $request) : CustomFieldsEditResponse
Example:
use RetailCrm\Api\Enum\CustomFields\CustomFieldDisplayArea;
use RetailCrm\Api\Enum\CustomFields\CustomFieldEntity;
use RetailCrm\Api\Enum\CustomFields\CustomFieldType;
use RetailCrm\Api\Enum\CustomFields\CustomFieldViewMode;
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Entity\CustomFields\CustomField;
use RetailCrm\Api\Model\Request\CustomFields\CustomFieldsCreateRequest;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$field = new CustomField();
$field->name = 'Description';
$field->type = CustomFieldType::STRING;
$field->ordering = 10;
$field->viewMode = CustomFieldViewMode::EDITABLE;
$field->inFilter = true;
$field->inList = true;
$field->inGroupActions = true;
try {
$response = $client->customFields->edit(
CustomFieldEntity::CUSTOMER,
'description',
new CustomFieldsCreateRequest($field)
);
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Edited field ' . print_r($response->code, true);
Parameters
- $entity : string
- $code : string
- $request : CustomFieldsCreateRequest
Tags
Return values
CustomFieldsEditResponseget()
Makes GET "/api/v5/custom-fields/{entity}/{code}" request.
public
get(string $entity, string $code) : CustomFieldsGetResponse
Example:
use RetailCrm\Api\Enum\CustomFields\CustomFieldEntity;
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
try {
$response = $client->customFields->get(CustomFieldEntity::ORDER, 'item');
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Received field: ' . print_r($response->customField, true);
Parameters
- $entity : string
- $code : string
Tags
Return values
CustomFieldsGetResponselist()
Makes GET "/api/v5/custom-fields" request.
public
list([CustomFieldsRequest|null $request = null ]) : CustomFieldsResponse
Example:
use RetailCrm\Api\Interfaces\ApiExceptionInterface;
use RetailCrm\Api\Factory\SimpleClientFactory;
use RetailCrm\Api\Model\Filter\CustomFields\CustomFieldFilter;
use RetailCrm\Api\Model\Request\CustomFields\CustomFieldsRequest;
use RetailCrm\Api\Enum\PaginationLimit;
$client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
$request = new CustomFieldsRequest();
$request->page = 1;
$request->limit = PaginationLimit::LIMIT_20;
$request->filter = new CustomFieldFilter();
$request->filter->entity = 'order';
$request->filter->viewMode = ['editable'];
$request->filter->displayArea = ['customer'];
$request->filter->type = ['string'];
$request->filter->code = 'bonus';
$request->filter->name = 'бонус';
try {
$response = $client->customFields->list($request);
} catch (ApiExceptionInterface $exception) {
echo sprintf(
'Error from RetailCRM API (status code: %d): %s',
$exception->getStatusCode(),
$exception->getMessage()
);
if (count($exception->getErrorResponse()->errors) > 0) {
echo PHP_EOL . 'Errors: ' . implode(', ', $exception->getErrorResponse()->errors);
}
return;
}
echo 'Received fields: ' . print_r($response->customFields, true);
Parameters
- $request : CustomFieldsRequest|null = null