项目作者: vikdiesel

项目描述 :
AmoCRM PHP API 2020 - Упрощенная авторизация
高级语言: PHP
项目地址: git://github.com/vikdiesel/amocrm-php-wrapper.git
创建时间: 2020-02-12T13:10:31Z
项目社区:https://github.com/vikdiesel/amocrm-php-wrapper

开源协议:MIT License

下载


AmoCRM PHP API 2020

version license

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 авторизация API

Простой пример: добавление контакта и сделки в AmoCRM

Пример инициализации и добавления контакта и сделки (лида) в AmoCRM

  1. use AmoCrmPhpWrapper\Package\AmoClient;
  2.  
  3. // Домен в AmoCRM
  4. $amo_domain = 'YOURNAME.amocrm.ru';
  5.  
  6. // ID интеграции
  7. $client_id = '852d137c-e258-4f18-9db7-aaaaaaaaaaaa';
  8.  
  9. // Секретный ключ
  10. $client_secret = '';
  11.  
  12. // Обязательно должен быть точно такой же, какой был указан при создании интеграции в интерфейсе AmoCRM. В классе больше никак не используется.
  13. $redirect_uri = 'https://example.com';
  14.  
  15. // Код авторизации (действует 20 минут). В течение этого времени необходимо сделать первый запрос. Если прошло больше времени, то закройте и откройте карточку интеграции заново в интерфейсе amoCRM
  16. $initial_code = '';
  17.  
  18. try {
  19. $amoClient = new AmoClient( $amo_domain, $client_id, $client_secret, $redirect_uri, $initial_code );
  20.  
  21. $name = 'Lubjek Strowinski';
  22. $phone = '+447824200245';
  23. $sale = '7777';
  24.  
  25. $r = $amoClient->request( '/api/v2/contacts', [
  26. 'add' => [
  27. [
  28. 'name' => $name,
  29. 'tags' => 'test-case',
  30. 'custom_fields' => [
  31. [
  32. 'id' => '406896',
  33. 'values' => [
  34. [
  35. 'value' => $phone,
  36. 'enum' => 'WORK'
  37. ]
  38. ]
  39. ]
  40. ]
  41. ]
  42. ]
  43. ] );
  44.  
  45. $r = $amoClient->request( '/api/v2/leads', [
  46. 'add' => [
  47. [
  48. 'name' => $name,
  49. 'tags' => 'test-case',
  50. 'sale' => $sale,
  51. 'contacts_id' => $r->_embedded->items[0]->id
  52. ]
  53. ]
  54. ] );
  55.  
  56. } catch ( \AmoCrmPhpWrapper\Package\Exception\AmoClientException $exception ) {
  57. echo $exception->getMessage();
  58. }