ddlzz/amocrm-api-client

An AmoCRM API library

0.3.3 2018-07-01 11:09 UTC

This package is auto-updated.

Last update: 2024-04-15 02:01:26 UTC


README

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 = 'test@test.com';
$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 в настройках.
  • Пауза между запросами в рамках одного обращения к клиенту.

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