Skip to content
This repository has been archived by the owner on Jun 26, 2024. It is now read-only.

PHP-библиотека для работы с АПИ amoCRM

License

Notifications You must be signed in to change notification settings

alyamovsky/amocrm-api-client

Repository files navigation

amoCRM PHP API Client

Code Coverage Scrutinizer Code Quality Build Status Packagist

Библиотека для работы с АПИ amoCRM.

Установка

CLI:

composer require ddlzz/amocrm-api-client

composer.json:

{
  "require": {
    "ddlzz/amocrm-api-client": "0.*"
  }
}

Быстрый старт

<?php
require __DIR__ . '/../vendor/autoload.php';

$domain = 'testdomain';
$login = '[email protected]';
$hash = md5('test');

try {
   $credentials = new \ddlzz\AmoAPI\CredentialsManager($domain, $login, $hash);

   /** @var \ddlzz\AmoAPI\Client $request */
   $request = \ddlzz\AmoAPI\ClientFactory::create($credentials);

   // Если вы используете другой домен, например amocrm.com, или протокол http,
   // например работая с dev-сервером amocrm, можете указать эти параметры в настройках:

   // $settings = new \ddlzz\AmoAPI\SettingsStorage();
   // $settings->setScheme('http');
   // $settings->setDomain('amocrm.saas');

   // И передать объект SettingsStorage нашему клиенту
   // $request = \ddlzz\AmoAPI\ClientFactory::create($credentials, $settings);

   // Создадим модель сущности
   $lead = new \ddlzz\AmoAPI\Model\Amo\Lead();

   // Заполним модель данными. Формат заполнения такой:
   $lead['name'] = 'New lead';
   $lead['created_at'] = time(); // Обязательные поля created_at и modified_at будут заполнены
   // автоматически, если не указывать их явно
   $lead['sale'] = 150000; // Аналог из старого АПИ - price. Вы можете использовать как старые,
   // так и новые варианты названия поля. Старые будут преобразованы в новые далее при валидации.
   // Из-за того, что для добавления и редактирования разные поля будут являться обязательными,
   // валидация и заполнение сущности данными происходит позже, в методе клиента add либо update.

   $result = $request->add($lead);
   echo $result;
} catch (Exception $e) {
    echo $e->getFile() . ': ' . $e->getMessage();
}

Возможности

  • Библиотека работает с новым API, но понимает также названия полей из старой документации.
  • По умолчанию используется домен amocrm.ru, также вы можете указать домен amocrm.com или dev-сервер amocrm в настройках.
  • Пауза между запросами в рамках одного обращения к клиенту.

Сущности, с которыми на данный момент работает библиотека:

About

PHP-библиотека для работы с АПИ amoCRM

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages