Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vikdiesel/amocrm-php-wrapper
AmoCRM PHP API 2020 - Упрощенная авторизация
https://github.com/vikdiesel/amocrm-php-wrapper
amocrm amocrm-api amocrm-php php-amocrm
Last synced: about 1 month ago
JSON representation
AmoCRM PHP API 2020 - Упрощенная авторизация
- Host: GitHub
- URL: https://github.com/vikdiesel/amocrm-php-wrapper
- Owner: vikdiesel
- License: mit
- Created: 2020-02-12T13:10:31.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-02-12T13:49:57.000Z (almost 5 years ago)
- Last Synced: 2024-04-20T16:56:35.192Z (8 months ago)
- Topics: amocrm, amocrm-api, amocrm-php, php-amocrm
- Language: PHP
- Homepage:
- Size: 9.77 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AmoCRM PHP API 2020
![version](https://img.shields.io/badge/version-1.0.0-blue.svg) ![license](https://img.shields.io/badge/license-MIT-blue.svg)
PHP-класс для работы с AmoCRM через [упрощенную авторизацию](#упрощенная-авторизация-amocrm).
## Что умеет?
- Авторизация в AmoCRM от имени владельца аккаунта
- Отправлять любые запросы из документации AmoCRM## Упрощенная авторизация AmoCRM
В 2020-м (или в 2019?) AmoCRM убрала возможность возможность создать ключ API в личном кабинете.
С тех пор, все новые интеграции должны проходить авторизацию через oAuth2, что кажется немного избыточным, если, например, нужно только отправлять контакты и заявки с сайта в AmoCRM.
Однако, даже [упрощенная авторизация](https://www.amocrm.ru/developers/content/oauth/easy-auth) в AmoCRM требует получать новый `access_token` каждые 24 часа, через `refresh_token`, который тоже обновляется с получением нового `access_token`
Как раньше не получится, когда можно было взять ключ API и спокойно отправлять нужную информацию.
## Как использовать?
#### Установка
Самый простой вариант — установить через Composer `composer require vikdiesel/amocrm-php-wrapper`
#### Создание интеграции
Перейдите в раздел *Настройки -> Интеграции* и щелкните *Создать Интеграцию*
![AmoCRM создание интеграции](https://marketto.ru/images/amocrm-1.png?v=1)
После сохранения вы сможете получить нужные ключи.
![AmoCRM авторизация API](https://marketto.ru/images/amocrm-2.png?v=1)
#### Простой пример: добавление контакта и сделки в 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();
}