Ноя
07

Привет, друзья, выкладываю библиотеку, которую сам использую в своей работе, она очень простая, умещается в одном файле, легкая и понятная. Позволяет копировать примеры запросов из документации по api AmoCRM прямо в ваш код и сразу же запускать.

В ней есть метод авторизации, метод запросов, свойство авторизован или нет и служебный метод для вывода дампа с форматированием.

Рабочий пример авторизации в апи AmoCRM и запрос на последние сделки по api.
require_once('hamtim-amocrm.php');
$amo = new HamtimAmocrm('test@email.com'/*логин*/, 'API'/*api ключ*/, 'SUBDOMAIN'/*субдомен*/);

if(!$amo->auth) die('Нет соединения с amoCRM');

//все примеры запросов на https://developers.amocrm.ru/rest_api/
//получаем список сделок в работе
$path = '/private/api/v2/json/leads/list';

//формируем дату -1 день
$ifModifiedSince = date('D, d M Y H:i:s', (time()-1*24*3600));

//если передается пустой массив fields, то данные post не передаются в заголовке запроса
$fields = array();

//делаем запрос
$leads = $amo->q($path, $fields, $ifModifiedSince);

if(!$leads) die('Сделок в работе не найдено');

//выводим дамп с сделками из ответа
print_r($leads);

Как видите достаточно сложный запрос легко сделать с помощью моей библиотеки.

Создание сделки с помощью api AmoCRM
//создаем новую сделку
$path = '/private/api/v2/json/leads/set';
$fields['request']['leads']['add']=array(
array(
'name'=>'Название сделки',
'status_id'=>12345,#id статуса, обязательное поле
//'responsible_user_id'=>12345,#id Отвественного
'tags' => 'создано с помощью hamtim.ru', #Теги
)
);
$leadAnswer = $amo->q($path, $fields);

Как работать с библиотекой (по шагам)

  1. Подключаем с помощью require или include
  2. Создаем объект с параметрами авторизации$amo = new HamtimAmocrm('test@email.com'/*логин*/, 'API'/*api ключ*/, 'SUBDOMAIN'/*субдомен*/);
  3. Авторизуемся
    if(!$amo->auth) die('Нет соединения с amoCRM');
  4. Делаем запросы к aпи амоцрм

Скачать библиотеку hamtim-amocrm
На github.com

Вопросы, предложения и благодарности пишите в комментариях.
Нужна разработка? Свяжитесь со мной.

9 Comments:
Пись 01.03.2018 Ответить

спасибо, я заработал так первый миллион!

Сергей 06.03.2018 Ответить

https://toster.ru/q/511651 🙂

timach-ufa 06.03.2018 Ответить

Ответил на тостере. Дублирую здесь:
в библиотеке запрос делается так
$leads = $amo->q($path, $fields);
и ид сделки и вообще создалась ли сделка и тд информация возвращается методом (то есть ответ от амоцрм ) и в данном случае присвоится в $leads, посмотрите его дамп. Там найдете нужный вам ИД.

На моем канале есть пара стримов, где я показываю, как работать с апи амоцрм.

https://www.youtube.com/watch?v=Jf4d6F3eokM
https://www.youtube.com/watch?v=WJPQuwMY3FM

Сергей 10.03.2018 Ответить

Добрый день. Вопрос такой, как при помощи вашей библиотеки ПРИНЯТЬ запрос web hooks. Т.е. например создал я вот такой веб хук:
URL: http://mysite.ru/amo_update_user.php
Действие: Изменить контакт

Подскажите код для файла amo_update_user.php чтобы например передать в эту строку имя изменяемого пользователя:
$this->users->updateuser(array(‘id’=>$НОВОЕ_ИМЯ_В_CRM))

timach-ufa 10.03.2018 Ответить

Добрый день, Сергей.

В вашем случае при изменении контакта amoCRM отправляет как-будто форму методом POST на адрес http://mysite.ru/amo_update_user.php
Соответственно все данные, которые передает амоцрм, вы можете получить из массива $_POST. Как посмотреть, что получает скрипт, я описывал в посте http://hamtim.ru/2018/01/24/как-смотреть-данные-вебхуков-amocrm-быстро/

Сергей 10.03.2018

Огромное вам спасибо 🙂

Сергей 10.03.2018 Ответить

Точнее чтобы при изменении пользователя в CRM, в этом файле выполнялось действие:
$this->users->updateuser(array(‘id’=>$НОВОЕ_ИМЯ_В_CRM))

timach-ufa 10.03.2018 Ответить

Незнаю, что за метод (функция) у вас, но мне кажется данные не верные, id должен быть числом. Скорее всего правильно будет:
array(
‘id’=>1111,
‘name’=>$НОВОЕ_ИМЯ_В_CRM,
);
Где 1111 это id сущности из вебхука

Сергей 10.03.2018

Это я на скорую руку написал, точный код вот такой
$this->users->updateuser($user_amocrm_id, array(‘name’=>$новое_имя_в_crm));

Leave a Comment:

Your email address will not be published.