vikdiesel / amocrm-php-wrapper
AmoCRM PHP wrapper
Installs: 31
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/vikdiesel/amocrm-php-wrapper
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.5.2
This package is auto-updated.
Last update: 2025-10-13 02:20:41 UTC
README
PHP-класс для работы с AmoCRM через упрощенную авторизацию.
Что умеет?
- Авторизация в AmoCRM от имени владельца аккаунта
- Отправлять любые запросы из документации AmoCRM
Упрощенная авторизация AmoCRM
В 2020-м (или в 2019?) AmoCRM убрала возможность возможность создать ключ API в личном кабинете.
С тех пор, все новые интеграции должны проходить авторизацию через oAuth2, что кажется немного избыточным, если, например, нужно только отправлять контакты и заявки с сайта в AmoCRM.
Однако, даже упрощенная авторизация в AmoCRM требует получать новый access_token каждые 24 часа, через refresh_token, который тоже обновляется с получением нового access_token
Как раньше не получится, когда можно было взять ключ API и спокойно отправлять нужную информацию.
Как использовать?
Установка
Самый простой вариант — установить через Composer composer require vikdiesel/amocrm-php-wrapper
Создание интеграции
Перейдите в раздел Настройки -> Интеграции и щелкните Создать Интеграцию
После сохранения вы сможете получить нужные ключи.
Простой пример: добавление контакта и сделки в AmoCRM
Пример инициализации и добавления контакта и сделки (лида) в AmoCRM
use AmoCrmPhpWrapper\Package\AmoClient;
// Домен в AmoCRM
$amo_domain = 'YOURNAME.amocrm.ru';
// ID интеграции
$client_id = '852d137c-e258-4f18-9db7-aaaaaaaaaaaa';
// Секретный ключ
$client_secret = '';
// Обязательно должен быть точно такой же, какой был указан при создании интеграции в интерфейсе AmoCRM. В классе больше никак не используется.
$redirect_uri = 'https://example.com';
// Код авторизации (действует 20 минут). В течение этого времени необходимо сделать первый запрос. Если прошло больше времени, то закройте и откройте карточку интеграции заново в интерфейсе amoCRM
$initial_code = '';
try {
$amoClient = new AmoClient( $amo_domain, $client_id, $client_secret, $redirect_uri, $initial_code );
$name = 'Lubjek Strowinski';
$phone = '+447824200245';
$sale = '7777';
$r = $amoClient->request( '/api/v2/contacts', [
'add' => [
[
'name' => $name,
'tags' => 'test-case',
'custom_fields' => [
[
'id' => '406896',
'values' => [
[
'value' => $phone,
'enum' => 'WORK'
]
]
]
]
]
]
] );
$r = $amoClient->request( '/api/v2/leads', [
'add' => [
[
'name' => $name,
'tags' => 'test-case',
'sale' => $sale,
'contacts_id' => $r->_embedded->items[0]->id
]
]
] );
} catch ( \AmoCrmPhpWrapper\Package\Exception\AmoClientException $exception ) {
echo $exception->getMessage();
}