Справочник по сущностям WT AmoCRM (Webtolk\Amocrm\Entities): кратко о методах для сделок, контактов, заметок, тегов, пользователей, webhook’ов и кастомных полей с примерами запросов.
Документация по сущностям AmoCRM из Webtolk\Amocrm\Entities.
Общий паттерн использования:
use Webtolk\Amocrm\Amocrm;
$amocrm = new Amocrm();
// Все сущности доступны как методы фасада
$leads = $amocrm->leads()->getLeads(['limit' => 50]);
$contacts = $amocrm->contacts()->getContacts(['limit' => 50]);
Все методы возвращают object. При ошибке — { error_code, error_message }.
Account
Webtolk\Amocrm\Entities\Account
getAccountInfo(): object— получает информацию об аккаунте (/api/v4/account).
Пример:
$account = $amocrm->account()->getAccountInfo();
Contacts
Webtolk\Amocrm\Entities\Contacts
getContacts(array $data = []): object— список контактов.getContactById(int $contact_id, string $with = ''): object— контакт по ID.addContacts(array $data = []): object— пакетное создание.editContactsBatch(array $data): object— пакетное редактирование.editContact(int $contact_id, array $data): object— редактирование по ID.
Пример (создание):
$payload = [
[
'name' => 'Иван Петров',
'custom_fields_values' => [
[
'field_code' => 'PHONE',
'values' => [
['enum_code' => 'WORK', 'value' => '+79990001122']
]
]
]
]
];
$result = $amocrm->contacts()->addContacts($payload);
Leads
Webtolk\Amocrm\Entities\Leads
getLeadsPiplines(): object— воронки (/api/v4/leads/pipelines).createLeadsComplex(array $data = []): object— комплексное добавление.createLeads(array $data): object— пакетное добавление сделок.getLeadById(int $id, string $with = ''): object— сделка по ID.getLeads(array $data = []): object— список сделок.editLeadsBatch(array $data): object— пакетное редактирование.editLead(int $lead_id, array $data): object— редактирование по ID.
Пример (воронки):
$pipelines = $amocrm->leads()->getLeadsPiplines();
Customfields
Webtolk\Amocrm\Entities\Customfields
getCustomFields(string $entity_type = 'leads', array $data = []): object- Разрешённые типы:leads,contacts,companies,customers.getLeadsCustomFields(),getContactsCustomFields(),getCompaniesCustomFields(),getCustomersCustomFields()- прокси-методы.editCustomFieldsBatch(string $entity_type, array $data, ?int $entity_id = null): object- PATCH/api/v4/{entity_type}/custom_fieldsили/custom_fields/{id}.
Пример:
$fields = $amocrm->customfields()->getContactsCustomFields(['limit' => 50]);
Notes
Webtolk\Amocrm\Entities\Notes
addNotes(string $entity_type = 'leads', int $entity_id = 0, array $notes = []): objectgetNotes(string $entity_type, int $entity_id, array $params = []): objecteditNotesBatch(string $entity_type, array $data): objecteditNote(string $entity_type, int $entity_id, array $data, ?int $note_id = null): object
Разрешённые типы: leads, contacts, companies, customers.
Пример (добавить текстовую заметку):
$notes = [
[
'entity_id' => 123456,
'note_type' => 'common',
'params' => ['text' => 'Комментарий из Joomla']
]
];
$result = $amocrm->notes()->addNotes('leads', 0, $notes);
Tags
Webtolk\Amocrm\Entities\Tags
getTags(string $entity_type = 'leads', array $data = []): object
Разрешённые типы: leads, contacts, companies, customers.
Пример:
$tags = $amocrm->tags()->getTags('leads', ['limit' => 100]);
Users
Webtolk\Amocrm\Entities\Users
getUsers(array $data = []): object— список пользователей.getUserById(int $user_id, string $with = ''): object— пользователь по ID.addUsers(array $data): object— пакетное добавление.getRoles(array $data = []): object— список ролей.
Пример:
$users = $amocrm->users()->getUsers(['limit' => 50]);
Webhooks
Webtolk\Amocrm\Entities\Webhooks
getWebhooks(array $data = []): object- Поддерживает фильтрfilter[destination](URL кодируется).addWebhook(array $data): objectdeleteWebhook(string $destination): objectgetJoomlaWebhookUrl(): string- Формирует URLcom_ajaxдля входящих webhook.
Пример (подписка на события):
$data = [
'destination' => $amocrm->webhooks()->getJoomlaWebhookUrl(),
'settings' => ['lead_status', 'contact_add']
];
$result = $amocrm->webhooks()->addWebhook($data);