Неразобранное

В состояние Неразобранное попадают все обращения из интеграций: телефонии и форм для сайта, которые ещё не были обработаны пользователем (создана сделка или контакт). Пользователь может принять неразобранное, либо отклонить его. В случае принятия будет создана сделка, а так же контакт и/или компания, если соответствующая информация есть в заявке. В случае отклонения заявки - данные будут удалены.

Добавление в неразобранное

Метод позволяет добавлять неразобранное по одному или пакетно.

Общие параметры

Параметр Тип Описание
add/source_name
require
string Название источника заявки
add/source_uid
require
string Уникальный идентификатор заявки
add/pipeline_id int ID воронки, если параметр не передан, то заявка будет добавлена в неразобранное основной воронки
add/incoming_lead_info array Массив, содержащий информацию о поступившей заявки
add/incoming_entities
require
array Массив, содержащий информацию о создаваемых элементах сущностей. Является обязательным, поскольку после принятия неразобранного, будут созданы соответствующие элементы сущности.
add/incoming_entities/leads array Массив, содержащий информацию для создания новой сделки. Может содержать все параметры и дополнительные поля доступные для сделок для текущего аккаунта.
add/incoming_entities/contacts array Массив, содержащий информацию для создания нового контакта. Может содержать все параметры и дополнительные поля доступные для контактов для текущего аккаунта.
add/incoming_entities/companies array Массив, содержащий информацию для создания новой компании. Может содержать все параметры и дополнительные поля доступные для компаний для текущего аккаунта.

Новая заявка в неразобранное может быть одного из доступных типов:

  • Входящий звонок (sip)
  • Веб-форма

Добавление заявки из входящего звонка:

URL метода
POST /api/v2/incoming_leads/sip

Параметры для sip

Параметр Тип Описание
add/incoming_lead_info/to
require
int ID пользователя, который принял звонок
add/incoming_lead_info/from
require
string Внешний номер телефона, с которого поступил звонок
add/incoming_lead_info/date_call
require
timestamp Дата и время звонка
add/incoming_lead_info/duration
require
int Продолжительность звонка
add/incoming_lead_info/link
require
string Ссылка на запись звонка
add/incoming_lead_info/service_code
require
string Код виджета или сервиса, через который был совершён звонок
add/incoming_lead_info/uniq
require
string Уникальный код звонка
add/incoming_lead_info/add_note
require
bool Флаг, если передан этот параметр, то после принятию заявки в созданные сущности будет добавлено событие о совершённом звонке.

Пример запроса

  1. {
  2.    add: [
  3.       {
  4.          source_name: "ОАО Коспромсервис",
  5.          source_uid: "a1fee7c0fc436088e64ba2e8822ba2b3",
  6.          created_at: "1510261200",
  7.          pipeline_id: "41563",
  8.          incoming_entities: {
  9.             leads: [
  10.                {
  11.                   name: "Техническое обслуживание бензопил",
  12.                   created_at: "1509483600",
  13.                   status_id: "13667502",
  14.                   responsible_user_id: "504141",
  15.                   price: "83000",
  16.                   tags: "ТО, услуги",
  17.                   notes: [
  18.                      {
  19.                         note_type: "7",
  20.                         element_type: "lead",
  21.                         text: "Отправить дубликат договора"
  22.                      }
  23.                   ],
  24.                   custom_fields: [
  25.                      {
  26.                         id: "4399917",
  27.                         values: [
  28.                            "3692247",
  29.                            "3692248"
  30.                         ]
  31.                      }
  32.                   ]
  33.                }
  34.             ],
  35.             contacts: [
  36.                {
  37.                   name: "Александр Петрович Смирнов",
  38.                   custom_fields: [
  39.                      {
  40.                         id: "4396818",
  41.                         values: [
  42.                            {
  43.                               value: "89457898713",
  44.                               enum: "WORK"
  45.                            }
  46.                         ]
  47.                      },
  48.                      {
  49.                         id: "4396819",
  50.                         values: [
  51.                            {
  52.                               value: "email@email.com",
  53.                               enum: "WORK"
  54.                            }
  55.                         ]
  56.                      },
  57.                      {
  58.                         id: "4400115",
  59.                         values: [
  60.                            {
  61.                               value: "ул. Ленина, д. 1",
  62.                               subtype: "address_line_1"
  63.                            },
  64.                            {
  65.                               value: "Кострома",
  66.                               subtype: "city"
  67.                            },
  68.                            {
  69.                               value: "156000",
  70.                               subtype: "zip"
  71.                            },
  72.                            {
  73.                               value: "RU",
  74.                               subtype: "country"
  75.                            }
  76.                         ]
  77.                      }
  78.                   ],
  79.                   responsible_user_id: "504141",
  80.                   date_create: "1509483600"
  81.                }
  82.             ],
  83.             companies: [
  84.                {
  85.                   name: "ОАО Коспромсервис"
  86.                }
  87.             ]
  88.          },
  89.          incoming_lead_info: {
  90.             to: "41565",
  91.             from: "89456153101",
  92.             date_call: "1509483600",
  93.             duration: "54",
  94.             link: "https://www.example.com/records/2017/11/01/98431.mp3",
  95.             service_code: "CkKwPam6",
  96.             uniq: "a1fee7c0fc436088e64ba2e8822ba2b3ewrw",
  97.             add_note: "Договорились о сотрудничестве"
  98.          }
  99.       }
  100.    ]
  101. }

В предпросмотре карточки заявки (полученной через веб-форму) в неразобранном отображается информация полученная из массивов сущностей (add/incoming_entities). При этом стоит учитывать существующий приоритет получения информации из этих массивов по типу сущности.

Приоритет типов сущностей, для отображения информации в карточке заявки:

  1. Контакт
  2. Сделка
  3. Покупатель

Для отображения в карточке заявки, берётся следующая информация.

  • Название элемента сущности
  • Теги
  • Дополнительные поля и их значения

Добавление заявки из веб-формы:

URL метода
POST /api/v2/incoming_leads/form

Параметры для веб-формы:

Параметр Тип Описание
add/incoming_lead_info/form_idrequire int Идентификатор формы
add/incoming_lead_info/form_pagerequire string Адрес страницы, на котором расположена форма
add/incoming_lead_info/iprequire string IP адрес, с которого поступила заявка
add/incoming_lead_info/service_coderequire string Код виджета или сервиса
add/incoming_lead_info/form_name string Название формы
add/incoming_lead_info/form_send_at timestamp Дата и время отправки данных через форму
add/incoming_lead_info/referer string Параметр содержит информацию откуда был переход на страницу, где расположена форма.

Пример запроса

  1. {
  2.    add: [
  3.       {
  4.          source_name: "ОАО Коспромсервис",
  5.          source_uid: "a1fee7c0fc436088e64ba2e8822ba2b3",
  6.          pipeline_id: "41563",
  7.          incoming_entities: {
  8.             leads: [
  9.                {
  10.                   name: "Техническое обслуживание перфораторов",
  11.                   created_at: "1509483600",
  12.                   status_id: "13667502",
  13.                   responsible_user_id: "504141",
  14.                   sale: "45000",
  15.                   tags: "ТО, услуги",
  16.                   notes: [
  17.                      {
  18.                         note_type: "7",
  19.                         element_type: "lead",
  20.                         text: "Отправить счёт оплаты"
  21.                      }
  22.                   ],
  23.                   custom_fields: [
  24.                      {
  25.                         id: "4399917",
  26.                         values: [
  27.                            "3692247",
  28.                            "3692248"
  29.                         ]
  30.                      }
  31.                   ]
  32.                }
  33.             ],
  34.             contacts: [
  35.                {
  36.                   name: "Игорь Владимирович Иванов",
  37.                   custom_fields: [
  38.                      {
  39.                         id: "4396818",
  40.                         values: [
  41.                            {
  42.                               value: "89451456510",
  43.                               enum: "WORK"
  44.                            }
  45.                         ]
  46.                      },
  47.                      {
  48.                         id: "4396819",
  49.                         values: [
  50.                            {
  51.                               value: "email@email.com",
  52.                               enum: "WORK"
  53.                            }
  54.                         ]
  55.                      },
  56.                      {
  57.                         id: "4400115",
  58.                         values: [
  59.                            {
  60.                               value: "ул. Ленина, д. 1",
  61.                               subtype: "address_line_1"
  62.                            },
  63.                            {
  64.                               value: "Кострома",
  65.                               subtype: "city"
  66.                            },
  67.                            {
  68.                               value: "156000",
  69.                               subtype: "zip"
  70.                            },
  71.                            {
  72.                               value: "RU",
  73.                               subtype: "country"
  74.                            }
  75.                         ]
  76.                      }
  77.                   ],
  78.                   responsible_user_id: "504141",
  79.                   created_at: "1509483600"
  80.                }
  81.             ],
  82.             companies: [
  83.                {
  84.                   name: "ОАО Коспромсервис"
  85.                }
  86.             ]
  87.          },
  88.          incoming_lead_info: {
  89.             form_id: "159783",
  90.             form_page: "example.com",
  91.             ip: "127.0.0.1",
  92.             service_code: "QkKwSam8",
  93.             form_name: "Оставить заявку",
  94.             form_send_at: "1509483600",
  95.             referer: http://example.com/index.php?ref=103719
  96.          }
  97.       }
  98.    ]
  99. }

Параметры ответа

Параметр Тип Описание
status string Статус добавления, success или fail
data array Массив, содержащий уникальные идентификаторы добавленных заявок в неразобранное
_links array Массив, содержащий информацию о запросе
_links/self array Массив, содержащий информацию о текущем запросе
_links/self/href string Относительный URL текущего запроса
_links/self/method string Метод текущего запроса
error string Описание причины ошибки. Передаётся только при возникновении ошибки.
error_code int Код ошибки

Параметры ответа

  1. {
  2.    status: "success",
  3.    data: {
  4.       561a8a8b7d7a8cbc440965903605a27685a9ec37317bc395636a481e31f7: {
  5.          companies: [
  6.             1099388
  7.          ],
  8.          leads: [
  9.             1090596
  10.          ],
  11.          contacts: [
  12.             1099389
  13.          ]
  14.       }
  15.    },
  16.    _links: {
  17.       self: {
  18.          href: "/api/v2/incoming_leads/form?login=example@example.com&api_key=24db154826a13a988893be1da61",
  19.          method: "post"
  20.       }
  21.    }
  22. }

Пример интеграции

  1. /* Для начала нам необходимо инициализировать данные, необходимые для составления запроса. */
  2. $data = array (
  3.   'add' =>
  4.   array (
  5.     0 =>
  6.     array (
  7.       'source_name' => 'ОАО Коспромсервис',
  8.       'source_uid' => 'a1fee7c0fc436088e64ba2e8822ba2b3',
  9.       'pipeline_id' => '41563',
  10.       'created_at' => '1509483600',
  11.       'incoming_entities' =>
  12.       array (
  13.         'leads' =>
  14.         array (
  15.           0 =>
  16.           array (
  17.             'name' => 'Техническое обслуживание бензопил',
  18.             'created_at' => '1509483600',
  19.             'status_id' => '13667502',
  20.             'responsible_user_id' => '504141',
  21.             'price' => '83000',
  22.             'tags' => 'ТО, услуги',
  23.             'custom_fields' =>
  24.             array (
  25.               0 =>
  26.               array (
  27.                 'id' => '4399917',
  28.                 'values' =>
  29.                 array (
  30.                   0 => '3692247',
  31.                   1 => '3692248',
  32.                 ),
  33.               ),
  34.               1 =>
  35.               array (
  36.                 'id' => '4399923',
  37.                 'values' =>
  38.                 array (
  39.                   0 =>
  40.                   array (
  41.                     'value' => 'ул. Ленина, д. 1',
  42.                     'subtype' => 'address_line_1',
  43.                   ),
  44.                   1 =>
  45.                   array (
  46.                     'value' => 'Кострома',
  47.                     'subtype' => 'city',
  48.                   ),
  49.                   2 =>
  50.                   array (
  51.                     'value' => '156000',
  52.                     'subtype' => 'zip',
  53.                   ),
  54.                   3 =>
  55.                   array (
  56.                     'value' => 'RU',
  57.                     'subtype' => 'country',
  58.                   ),
  59.                 ),
  60.               ),
  61.             ),
  62.           ),
  63.         ),
  64.         'contacts' =>
  65.         array (
  66.           0 =>
  67.           array (
  68.             'name' => 'Александр Петрович Смирнов',
  69.             'custom_fields' =>
  70.             array (
  71.               0 =>
  72.               array (
  73.                 'id' => '4396818',
  74.                 'values' =>
  75.                 array (
  76.                   0 =>
  77.                   array (
  78.                     'value' => '89457898713',
  79.                     'enum' => 'WORK',
  80.                   ),
  81.                 ),
  82.               ),
  83.               1 =>
  84.               array (
  85.                 'id' => '4396819',
  86.                 'values' =>
  87.                 array (
  88.                   0 =>
  89.                   array (
  90.                     'value' => 'email@email.com',
  91.                     'enum' => 'WORK',
  92.                   ),
  93.                 ),
  94.               ),
  95.             ),
  96.             'responsible_user_id' => '504141',
  97.           ),
  98.         ),
  99.         'companies' =>
  100.         array (
  101.           0 =>
  102.           array (
  103.             'name' => 'ОАО Коспромсервис',
  104.           ),
  105.         ),
  106.       ),
  107.       'incoming_lead_info' =>
  108.       array (
  109.         'to' => '41565',
  110.         'from' => '89456153101',
  111.         'date_call' => '1509483600',
  112.         'duration' => '56',
  113.         'link' => 'https://www.example.com/records/2017/11/01/98431.mp3',
  114.         'service_code' => 'CkKwPam6',
  115.         'uniq' => 'a1fee7c0fc436088e64ba2e8822ba2b3ewrw',
  116.         'add_note' => 'Отправить дубликат договора',
  117.       ),
  118.     ),
  119.   ),
  120. );
  121. $subdomain='test'; #Наш аккаунт - поддомен
  122. #Формируем ссылку для запроса
  123. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads/sip';
  124. /* Заметим, что в ссылке можно передавать и другие параметры, которые влияют на выходной результат (смотрите
  125. документацию).
  126. Следовательно, мы можем заменить ссылку, приведённую выше на одну из следующих, либо скомбинировать параметры так, как Вам
  127. необходимо. */
  128. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads/sip?api_key='.$api_key.'&login='.$login;
  129. /* Нам необходимо инициировать запрос к серверу. Воспользуемся библиотекой cURL (поставляется в составе PHP). Подробнее о
  130. работе с этой
  131. библиотекой Вы можете прочитать в мануале. */
  132. $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
  133. #Устанавливаем необходимые опции для сеанса cURL
  134. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  135. curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
  136. curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
  137. curl_setopt($curl,CURLOPT_URL,$link);
  138. curl_setopt($curl,CURLOPT_HEADER,false);
  139. curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($data));
  140. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
  141. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
  142. $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
  143. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
  144. curl_close($curl);
  145. /* Теперь мы можем обработать ответ, полученный от сервера. Это пример. Вы можете обработать данные своим способом. */
  146. $code=(int)$code;
  147. $errors=array(
  148.   301=>'Moved permanently',
  149.   400=>'Bad request',
  150.   401=>'Unauthorized',
  151.   403=>'Forbidden',
  152.   404=>'Not found',
  153.   500=>'Internal server error',
  154.   502=>'Bad gateway',
  155.   503=>'Service unavailable'
  156. );
  157. try
  158. {
  159.   #Если код ответа не равен 200, 201 или 204 - возвращаем сообщение об ошибке
  160.  if(!in_array($code, [200, 201, 204]))
  161.     throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
  162. }
  163. catch(Exception $E)
  164. {
  165.   die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
  166. }
  167. /*
  168.  Данные получаем в формате JSON, поэтому, для получения читаемых данных,
  169.  нам придётся перевести ответ в формат, понятный PHP
  170.  */
  171. $Response=json_decode($out,true);
  172. $Response=$Response['data'];

Принятие неразобранных заявок

Метод для принятия неразобранных заявок.

URL метода
POST /api/v2/incoming_leads/accept

Параметры

Параметр Тип Описание
accept array(string) Массив уникальных идентификаторов (uid) неразобранных заявок
user_id int id пользователя аккаунта, от имени которого будут созданы сделки/контакты/компании
status_id int Статус сделок, которые будут созданы в результате принятия неразобранного

Пример запроса

  1. {
  2.    accept: [
  3.       "6d054b50e0769b0d8bdaed73901e6a544ba329aa1d0d2f0d25fde025398e",
  4.       "56df4sg6dfs5g1f56bdaed65498e6asd56f4ds65f4SDds6f54sd65f4d89q"
  5.    ],
  6.    user_id: "504141",
  7.    status_id: "142"
  8. }

Параметры ответа

Параметр Тип Описание
status string Статус добавления, success или fail
data array Массив, содержащий уникальные идентификаторы добавленных заявок в неразобранное
data//companies array Массив, содержащий id созданной компании
data//leads array Массив, содержащий id созданных сделок
data//contacts array Массив, содержащий id созданных контактов
_links array Массив, содержащий информацию о запросе
_links/self array Массив, содержащий информацию о текущем запросе
_links/self/href string Относительный URL текущего запроса
_links/self/method string Метод текущего запроса
error string Описание причины ошибки. Передаётся только при возникновении ошибки.

Response Headeres содержит следующие заголовки:

  • Content-Type:application/hal+json
  • Runtime-Timestamp:1508320306

Пример ответа

  1. {
  2.    status: "success",
  3.    data: {
  4.       561a8a8b7d7a8cbc440965903605a27685a9ec37317bc395636a481e31f7: {
  5.          companies: [
  6.             1099388
  7.          ],
  8.          leads: [
  9.             1090596
  10.          ],
  11.          contacts: [
  12.             1099389
  13.          ]
  14.       }
  15.    },
  16.    _links: {
  17.       self: {
  18.          href: "/api/v2/incoming_leads/accept?login=dhnikolas2@gmail.com&api_key=24dbfd65b23ff2ea13a988893be1da61",
  19.          method: "post"
  20.       }
  21.    }
  22. }

Для принятия неразобранного необходимо описать массив, содержащий идентификаторы заявок. Также необходимо указать id пользователя, как элемент массива $data. Имеется возможность указать статус результирующей сделки.

Пример интеграции:

  1. $data=array(
  2.   'accept' => array(
  3.     '6d054b50e0769b0d8bdaed73901e6a544ba329aa1d0d2f0d25fde025398e',
  4.     '56df4sg6dfs5g1f56bdaed65498e6asd56f4ds65f4SDds6f54sd65f4d89q'
  5.   ),
  6.   'user_id' => 102525,
  7.   'status_id' => 1023486
  8. );
  9. $subdomain='test'; #Наш аккаунт - поддомен
  10. #Формируем ссылку для запроса
  11. $link='https://'.$subdomain.'.amocrm.ru/api/unsorted/accept/';
  12. /* Заметим, что в ссылке можно передавать и другие параметры, которые влияют на выходной результат (смотрите
  13. документацию).
  14. Следовательно, мы можем заменить ссылку, приведённую выше на одну из следующих, либо скомбинировать параметры так, как Вам
  15. необходимо. */
  16. $link='https://'.$subdomain.'.amocrm.ru/api/unsorted/accept/?secret_key='.$secret_key;
  17. $link='https://'.$subdomain.'.amocrm.ru/api/unsorted/accept/?api_key='.$api_key.'&login='.$login;
  18. /* Нам необходимо инициировать запрос к серверу. Воспользуемся библиотекой cURL (поставляется в составе PHP). Подробнее о
  19. работе с этой
  20. библиотекой Вы можете прочитать в мануале. */
  21. $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
  22. #Устанавливаем необходимые опции для сеанса cURL
  23. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  24. curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
  25. curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
  26. curl_setopt($curl,CURLOPT_URL,$link);
  27. curl_setopt($curl,CURLOPT_HEADER,false);
  28. curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($data));
  29. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
  30. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
  31. $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
  32. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
  33. curl_close($curl);
  34. /* Теперь мы можем обработать ответ, полученный от сервера. Это пример. Вы можете обработать данные своим способом. */
  35. $code=(int)$code;
  36. $errors=array(
  37.   301=>'Moved permanently',
  38.   400=>'Bad request',
  39.   401=>'Unauthorized',
  40.   403=>'Forbidden',
  41.   404=>'Not found',
  42.   500=>'Internal server error',
  43.   502=>'Bad gateway',
  44.   503=>'Service unavailable'
  45. );
  46. try
  47. {
  48.   #Если код ответа не равен 200, 201 или 204 - возвращаем сообщение об ошибке
  49.  if(!in_array($code, [200, 201, 204])
  50.     throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
  51. }
  52. catch(Exception $E)
  53. {
  54.   die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
  55. }

Отклонение неразобранных заявок

Метод для отклонения неразобранных заявок.

URL метода
POST /api/v2/incoming_leads/decline

Параметры

Параметр Тип Описание
decline array Массив уникальных идентификаторов (uid) неразобранных заявок
user_id int id пользователя, от чьего имени будет отклонена заявка

Пример запроса

  1. {
  2.    decline: [
  3.       "6d054b50e0769b0d8bdaed73901e6a544ba329aa1d0d2f0d25fde025398e",
  4.       "56df4sg6dfs5g1f56bdaed65498e6asd56f4ds65f4SDds6f54sd65f4d89q"
  5.    ],
  6.    user_id: "504141"
  7. }

Параметры ответа:

Параметр Тип Описание
status string Статус добавления, success или fail
data array Массив, содержащий уникальные идентификаторы заявок в неразобранном
_links array Массив, содержащий информацию о запросе
_links/self array Массив, содержащий информацию о текущем запросе
_links/self/href string Относительный URL текущего запроса
_links/self/method string Метод текущего запроса
error string Описание причины ошибки. Передаётся только при возникновении ошибки.

Response Headeres содержит следующие заголовки:

  • Content-Type:application/hal+json
  • Runtime-Timestamp:1508320306

Пример ответа

  1. {
  2.    status: "success",
  3.       data: {
  4.          86c4ff85844722b75fcd0bed7b6fe0ac099a3a1e20e70823dcd634fc8e69: false
  5.       },
  6.       _links: {
  7.          self: {
  8.             href: "/api/v2/incoming_leads/decline?login=example@example.com&api_key=7d4cebf7b176a2c3dc84b365eea7e1260af",
  9.             method: "post"
  10.          }
  11.       }
  12. }

Для отклонения неразобранного необходимо описать массив, содержащий идентафикаторы заявок. Также необходимо указать id пользователя.

Пример интеграции

  1. $data=array(
  2.   'decline' => array(
  3.     '6d054b50e0769b0d8bdaed73901e6a544ba329aa1d0d2f0d25fde025398e',
  4.     '56df4sg6dfs5g1f56bdaed65498e6asd56f4ds65f4SDds6f54sd65f4d89q'
  5.   ),
  6.   'user_id' => 102525
  7. );
  8. $subdomain='test'; #Наш аккаунт - поддомен
  9. #Формируем ссылку для запроса
  10. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads/decline';
  11. /* Заметим, что в ссылке можно передавать и другие параметры, которые влияют на выходной результат (смотрите
  12. документацию).
  13. Следовательно, мы можем заменить ссылку, приведённую выше на одну из следующих, либо скомбинировать параметры так, как Вам
  14. необходимо. */
  15. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads/decline?secret_key='.$secret_key;
  16. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads/decline?api_key='.$api_key.'&login='.$login;
  17. /* Нам необходимо инициировать запрос к серверу. Воспользуемся библиотекой cURL (поставляется в составе PHP). Подробнее о
  18. работе с этой
  19. библиотекой Вы можете прочитать в мануале. */
  20. $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
  21. #Устанавливаем необходимые опции для сеанса cURL
  22. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  23. curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
  24. curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
  25. curl_setopt($curl,CURLOPT_URL,$link);
  26. curl_setopt($curl,CURLOPT_HEADER,false);
  27. curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($data));
  28. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
  29. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
  30. $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
  31. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
  32. curl_close($curl);
  33. /* Теперь мы можем обработать ответ, полученный от сервера. Это пример. Вы можете обработать данные своим способом. */
  34. $code=(int)$code;
  35. $errors=array(
  36.   301=>'Moved permanently',
  37.   400=>'Bad request',
  38.   401=>'Unauthorized',
  39.   403=>'Forbidden',
  40.   404=>'Not found',
  41.   500=>'Internal server error',
  42.   502=>'Bad gateway',
  43.   503=>'Service unavailable'
  44. );
  45. try
  46. {
  47.   #Если код ответа не равен 200, 201 или 204 - возвращаем сообщение об ошибке
  48.  if(!in_array($code, [200, 201, 204])
  49.     throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
  50. }
  51. catch(Exception $E)
  52. {
  53.   die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
  54. }

Список неразобранных заявок

Метод для получения списка неразобранных заявок с возможностью фильтрации и постраничной выборки. Ограничение по возвращаемым на одной странице (offset) данным - 500 заявок.

URL метода
GET /api/v2/incoming_leads

Параметры запроса

Параметр Описание
page_size Кол-во выбираемых строк (системное ограничение 500)
PAGEN_1 Страница выборки
categories Массив, содержащий в себе категории, по которым необходима выборка (sip, mail, forms, chat)
order_by Массив из одного элемента. Ключ - поле для сортировки (created_at, например), значение (asc, desc) - направление сортировки
pipeline_id Идентификатор воронки из которой необходимо сделать выборку

Параметры ответа

Параметр Тип Описание
_embedded array Массив, содержащий информацию прилегающую к запросу
_embedded/items array Массив, содержащий информацию по каждому отдельному элементу
source_name
require
string Название источника заявки
uid
require
string Уникальный идентификатор заявки
created_at timestamp Дата и время создания заявки
category string Категория заяки, sip или form
incoming_entities/leads array Массив, содержащий информацию для создания новой сделки. Может содержать все параметры и дополнительные поля доступные "Сделкам" на аккаунте.
incoming_entities/contacts array Массив, содержащий информацию для создания нового контакта. Может содержать все параметры и дополнительные поля доступные "Контактам" на аккаунте.
incoming_entities/companies array Массив, содержащий информацию для создания новой компании. Может содержать все параметры и дополнительные поля доступные "Компаниям" на аккаунте.
incoming_lead_info/to int Идентификатор пользователя, который принял звонок
incoming_lead_info/from string Внешний номер телефона
incoming_lead_info/date timestamp Дата и время звонка
incoming_lead_info/duration int Продолжительность звонка
incoming_lead_info/link string Ссылка на запись звонка
incoming_lead_info/service_code string Код виджета или сервиса, через который был совершён звонок
incoming_lead_info/form_id int Идентификатор формы
incoming_lead_info/form_page string Адрес страницы, на котором расположена форма
incoming_lead_info/ip string IP адрес, на котором расположена форма
incoming_lead_info/form_name string Название формы
incoming_lead_info/form_send_at timestamp Дата и время отправки данных через форму
incoming_lead_info/referer string Параметр содержит информацию откуда был переход на страницу, где расположена форма.
_links array Массив, содержащий информацию о запросе
_links/self array Массив, содержащий информацию о текущем запросе
_links/self/href string Относительный URL текущего запроса
_links/self/method string Метод текущего запроса

Response Headeres содержит следующие заголовки:

  • Content-Type:application/hal+json
  • Runtime-Timestamp:1508320306

Пример ответа

  1. {
  2.    _links: {
  3.       self: {
  4.          href: "/api/v2/incoming_leads?login=name@team.amocrm.com&api_key=xxxxxx",
  5.          method: "get"
  6.       }
  7.    },
  8.    _embedded: {
  9.       items: [
  10.          {
  11.             category: "sip",
  12.             uid: "86c4ff85844722b75fcd74699b5a1ce474f7f73e272395b301ca87b36a33",
  13.             source_name: "686",
  14.             created_at: 1509609502,
  15.             incoming_lead_info: {
  16.                from: "15315",
  17.                to: "8152",
  18.                date: 1509570000,
  19.                duration: "50",
  20.                link: "example.com",
  21.                service_code: "CkKwPam6"
  22.             },
  23.             incoming_entities: {
  24.                leads: [
  25.                   {
  26.                      name: "Сделка"
  27.                   }
  28.                ]
  29.             }
  30.          },
  31.          {
  32.             category: "form",
  33.             uid: "3b89a37ee72c329753750d9c3b7613a96aefa88e7d6065e383986e353d17",
  34.             source_name: "eterdgf",
  35.             created_at: 1509610029,
  36.             incoming_lead_info: {
  37.                form_id: "154613",
  38.                form_name: "Заявка",
  39.                form_page: "example.com",
  40.                ip: "48221",
  41.                form_send_at: 1509610030,
  42.                referer: null
  43.             },
  44.             incoming_entities: {
  45.                leads: [
  46.                   {
  47.                      name: "Сделка",
  48.                      custom_fields: [
  49.                         {
  50.                            id: 4399916,
  51.                            values: [
  52.                               {
  53.                                  value: "3692245"
  54.                               }
  55.                            ],
  56.                            is_system: false
  57.                         }
  58.                      ]
  59.                   }
  60.                ]
  61.             }
  62.          }
  63.       ]
  64.    }
  65. }

Пример интеграции

  1. /* Для начала нам необходимо инициализировать данные, необходимые для составления запроса. */
  2. $subdomain='test'; #Наш аккаунт - поддомен
  3. #Формируем ссылку для запроса
  4. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads';
  5. /* Заметим, что в ссылке можно передавать и другие параметры, которые влияют на выходной результат (смотрите
  6. документацию).
  7. Следовательно, мы можем заменить ссылку, приведённую выше на одну из следующих, либо скомбинировать параметры так, как Вам
  8. необходимо. */
  9. $link='https://'.$subdomain.'.amocrm.ru/api/v2/incoming_leads?api_key='.$api_key.'&login='.$login.'&page_size=15';
  10. /* Нам необходимо инициировать запрос к серверу. Воспользуемся библиотекой cURL (поставляется в составе PHP). Подробнее о
  11. работе с этой
  12. библиотекой Вы можете прочитать в мануале. */
  13. $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
  14. #Устанавливаем необходимые опции для сеанса cURL
  15. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  16. curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
  17. curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
  18. curl_setopt($curl,CURLOPT_URL,$link);
  19. curl_setopt($curl,CURLOPT_HEADER,false);
  20. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
  21. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
  22. $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
  23. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
  24. curl_close($curl);
  25. /* Теперь мы можем обработать ответ, полученный от сервера. Это пример. Вы можете обработать данные своим способом. */
  26. $code=(int)$code;
  27. $errors=array(
  28.   301=>'Moved permanently',
  29.   400=>'Bad request',
  30.   401=>'Unauthorized',
  31.   403=>'Forbidden',
  32.   404=>'Not found',
  33.   500=>'Internal server error',
  34.   502=>'Bad gateway',
  35.   503=>'Service unavailable'
  36. );
  37. try
  38. {
  39.   #Если код ответа не равен 200 или 204 - возвращаем сообщение об ошибке
  40.  if($code!=200 && $code!=204)
  41.     throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
  42. }
  43. catch(Exception $E)
  44. {
  45.   die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
  46. }

Сводная информация о неразобранных заявках

Метод для получения аггрегированной информации о неразобранных заявках с возможностью фильтрации по дате.

URL метода
GET /api/v2/incoming_leads/summary

Параметры запроса

Параметр Тип Описание
data/filter/date/from timestamp Начальная дата
data/filter/date/to timestamp Конечная дата

Параметры ответа

Параметр Тип Описание
sip int Количество неразобранных заявок полученных через входящие звонки
forms int Количество неразобранных заявок полученных через веб-формы
mail int Количество неразобранных заявок полученных через почту
chat int Количество неразобранных заявок полученных через чаты
total int Общее количество неразобранных заявок
avg_time timestamp Среднее время разбора заявки в секундах
>accepted int Общее количество принятых заявок
_links array Массив, содержащий информацию о запросе
_links/self array Массив, содержащий информацию о текущем запросе
_links/self/href string Относительный URL текущего запроса
_links/self/method string Метод текущего запроса

Response Headeres содержит следующие заголовки:

  • Content-Type:application/hal+json
  • Runtime-Timestamp:1508320306

Пример ответа

  1. {
  2.    sip: 34,
  3.    mail: 43,
  4.    form: 33,
  5.    chat: 0,
  6.    total: 110,
  7.    avg_time: 1204101653,
  8.    accepted: 45,
  9.    _links: {
  10.       self: {
  11.          href: "/api/v2/incoming_leads/summary?login=example@example.com&api_key=24dbfd65b23ff2ea13a988893be1da61",
  12.          method: "get"
  13.       }
  14.    }
  15. }

Пример интеграции:

  1. $subdomain='test'; #Наш аккаунт - поддомен
  2. #Формируем ссылку для запроса
  3. $link='https://'.$subdomain.'.amocrm.ru/api/unsorted/get_all_summary/';
  4. /* Заметим, что в ссылке можно передавать и другие параметры, которые влияют на выходной результат (смотрите
  5. документацию).
  6. Следовательно, мы можем заменить ссылку, приведённую выше на одну из следующих, либо скомбинировать параметры так, как Вам
  7. необходимо. */
  8. $link='https://'.$subdomain.'.amocrm.ru/api/unsorted/get_all_summary/?api_key='.$api_key.'&login='.$login;
  9. http://new59d381fd8c6b2.nprilepov.amocrm2.saas/api/unsorted/get_all_summary?
  10. login='.$login.'&api_key='.$api_key.'&data[filter][date]
  11. [from]=1509483600&data[filter][date][to]=1509656400&
  12. /* Нам необходимо инициировать запрос к серверу. Воспользуемся библиотекой cURL (поставляется в составе PHP). Подробнее о
  13. работе с этой
  14. библиотекой Вы можете прочитать в мануале. */
  15. $curl=curl_init(); #Сохраняем дескриптор сеанса cURL
  16. #Устанавливаем необходимые опции для сеанса cURL
  17. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  18. curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
  19. curl_setopt($curl,CURLOPT_HTTPHEADER,['Accept: application/json']);
  20. curl_setopt($curl,CURLOPT_URL,$link);
  21. curl_setopt($curl,CURLOPT_HEADER,false);
  22. curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
  23. curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
  24. $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную
  25. $code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
  26. curl_close($curl);
  27. /* Теперь мы можем обработать ответ, полученный от сервера. Это пример. Вы можете обработать данные своим способом. */
  28. $code=(int)$code;
  29. $errors=array(
  30.   301=>'Moved permanently',
  31.   400=>'Bad request',
  32.   401=>'Unauthorized',
  33.   403=>'Forbidden',
  34.   404=>'Not found',
  35.   500=>'Internal server error',
  36.   502=>'Bad gateway',
  37.   503=>'Service unavailable'
  38. );
  39. try
  40. {
  41.   #Если код ответа не равен 200 или 204 - возвращаем сообщение об ошибке
  42.  if($code!=200 && $code!=204)
  43.     throw new Exception(isset($errors[$code]) ? $errors[$code] : 'Undescribed error',$code);
  44. }
  45. catch(Exception $E)
  46. {
  47.   die('Ошибка: '.$E->getMessage().PHP_EOL.'Код ошибки: '.$E->getCode());
  48. }