# Заявки (lead)

## Метод “lead”

Метод позволяет передавать заявки с сайта в CRM

<pre><code class="html">URL для вызова - http(s)://crm_url/developer/v2/lead?параметр=значение</code></pre>

<a id="info"></a>
### Запрос “info”

Запрос служит для вывода информации по id заявки:

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

<pre><code class="php">
$params = [
	"login"  => "vladislav@isaler.ru",
	"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
	// указываем метод
	"action" => 'info',
	"id"     => 902
];

$urlparams = http_build_query($params);

</code></pre>

**Ответ:**

В поле “data” приходит список записей, который содержит следующие данные:

- **id** - идентификатор записи
- **datum** - дата добавления в формате ГГГГ-ММ-ДД
- **datum_do** - дата обработки в формате ГГГГ-ММ-ДД
- **данные из заявки:**
  - email
  - phone
  - site
  - company
  - city
  - country
- **content** - содержимое пришедшей заявки в виде текста
- **clid** - идентификатор записи клиента или 0, если не обработан
- **client** - название клиента
- **pid** - идентификатор записи контакта или 0, если не обработан
- **person** - фио контакта
- **did** - идентификатор записи сделки или 0, если не обработан
- **deal** - название сделки
- **user** - идентификатор записи пользователя или 0, если не обработан
- **userName** - фио пользователя
- **status** - числовой статус заявки ('0' => 'Открыт', '1' => 'В работе', '2' => 'Обработан', '3' => 'Закрыт')
- **statusName** - расшифровка статуса заявки
- **rezult** - числовой результат обработки ('1' => 'Спам', '2' => 'Дубль', '3' => 'Другое', '4' => 'Не целевой')
- **rezultName** - расшифровка результата обработки
- **clientpath** - идентификатор источника клиента (канала)
- **clientpathName** - расшифровка источника клиента

<pre><code class="json">
{
	"data":{
		"id":"1583",
		"datum":"2017-08-10 08:02:51",
		"datum_do":"2017-07-24 08:59:59",
		"status":"2",
		"rezult":"0",
		"title":"Магомет",
		"email":"magomet.i@mail.co",
		"phone":"79235552226",
		"site":null,
		"company":"Magomet Co",
		"description":"Ф.И.О.: Магомет\nE-MAIL: magomet.i@mail.co\nТЕЛЕФОН: +7(923) 555-2226\nЧИСЛО СОТРУДНИКОВ: 5\nВАРИАНТ: windows\nКОМПАНИЯ: Magomet Co\nГОРОД: Perm\nСТРАНА: Россия\nutm_source:fromfriend\nutm_medium:\nutm_campaign:",
		"ip":null,
		"city":"Perm",
		"country":"Россия",
		"iduser":"1",
		"clientpath":"14",
		"pid":"2724",
		"clid":"6193",
		"did":"0",
		"partner":"0",
		"utm_source":"fromfriend",
		"utm_medium":null,
		"utm_campaign":null,
		"utm_term":null,
		"utm_content":null,
		"utm_referrer":null,
		"statusName":"Обработан",
		"rezultName":0,
		"clientpathName":"Рекомендации клиентов",
		"userName":"Андреев Владислав",
		"client":"Magomet Co",
		"person":"Магомет",
		"deal":""
	},
	"id":"1583"
}
</code></pre>

**Возможные ответы в случае ошибок:**

    400 – Не верный API key
    401 – Неизвестный пользователь
    402 – Неизвестный метод

<a id="list"></a>
### Запрос “list”

Запрос позволяет получить список заявок, в т.ч. с применением фильтров.

**Параметры запроса (не обязательные):**

- **offset** – страница вывода, с учетом того, что установлен лимит в 200 записей на страницу (по умолчанию offset = 0)
- **order** – поле, по которому будет производится сортировка списка (по умолчанию order = datum)
- **first** – направление сортировки (new – сначала новые, old – сначала старые). (по умолчанию first = new)

**Фильтры (не обязательные):**

- **status** – ограничение по статусу заявки (0 => Открыт, 1 => В работе, 2 => Обработан, 3 => Закрыт)
- **user** – ограничение по пользователю (указывается логин пользователя)
- **dateStart** – начальная дата создания записи (формат - YYYY-MM-DD)
- **dateEnd** – конечная дата создания записи (не обязательно, формат - YYYY-MM-DD)
  - только dateStart – вывод записей с датой создания больше указанной даты
  - только dateEnd – вывод записей с датой создания меньше указанной даты

**Пример формирования запроса в PHP:**

<pre><code class="php">
$params = [
	"login"  => "vladislav@isaler.ru",
	"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
	// указываем метод
	"action"    => 'list',
	// страница, с учетом вывода 200 записей на страницу
	"offset"    => 0,
	// поле для упорядочивания записей
	"order"     => 'datum',
	// направление сортировки; new - по-умолчанию, old - сначала более старые
	"first"     => '',
	// ограничение по login пользователя
	"user"      => 'marand@omadaru.ru',
	// даты создания
	"dateStart" => '2018-01-01',
	"dateEnd"   => '2018-06-01',
	// фильтр по статусам заявки: '0' => 'Открыт', '1' => 'В работе', '2' => 'Обработан', '3' => 'Закрыт'
	"status"    => '0',
];

$urlparams = http_build_query($params);

</code></pre>

**Ответ:**

В поле “data” приходит список записей, который содержит следующие данные, аналогичные запросу **info**


**Возможные ответы в случае ошибок:**

    400 – Не верный API key
    401 – Неизвестный пользователь
    402 – Неизвестный метод

<a id="stat"></a>
### Запрос “stat”

Запрос служит для вывода информации по количеству обработанных и не обработанных заявок в текущем месяце у активных пользователей системы SalesMan:

- Логин сотрудника => Открыто, Обработано

**Фильтры (не обязательные):**

- **dateStart** – начальная дата (формат - YYYY-MM-DD)
- **dateEnd** – конечная дата (не обязательно, формат - YYYY-MM-DD)
  - только dateStart – вывод записей с датой создания больше указанной даты
  - только dateEnd – вывод записей с датой создания меньше указанной даты

**Примечание:**

1. Для **Открытых** заявок учитывается дата **добавления заявки**, для **Обработанных** - дата **обработки**
2. Учитываются только активные сотрудники, указанные в качестве операторов обработки заявки

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

<pre><code class="php">
$params = [
	"login"  => "vladislav@isaler.ru",
	"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
	// указываем метод
	"action"    => 'stat',
	// даты создания
	"dateStart" => '2018-01-01',
	"dateEnd"   => '2018-06-01'
];

$urlparams = http_build_query($params);

</code></pre>

**Ответ:**

<pre><code class="json">
{
	"data":[
		{"login":"viktor@isaler.ru","open":"1","processed":"5"},
		{"login":"yushenko","open":"10","processed":"8"},
		{"login":"zaharbor@isaler.ru","open":"0","processed":"5"},
		{"login":"marand@omadaru.ru","open":"3","processed":"0"},
		{"login":"bukin@isaler.ru","open":"2","processed":"3"}
	]
}
</code></pre>

**Возможные ответы в случае ошибок:**

    400 – Не верный API key
    401 – Неизвестный пользователь
    402 – Неизвестный метод

<a id="add"></a>
### Запрос “add”

Запрос позволяет добавлять заявки с сайта напрямую в CRM.

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

- **login** - логин пользователя для авторизации
- **title** – Имя посетителя
- **email** – email
- **phone** – телефон
- **company** – название компании
- **description** – текстовое описание
- **ip** – ip-адрес посетителя
- **country** – страна
- **city** – город
- **path** – источник клиента
- **partner** – сайт партнера (партнер и сайт должны быть добавлены в систему отдельно)
- **user** – логин сотрудника, который назначается ответственным за обработку заявок
- **utm_source** - Источник трафика (связан со справочником "Источник клиента")
- **utm_medium** - Тип трафика
- **utm_campaign** - Рекламная кампания
- **utm_term** - Ключевая фраза
- **utm_content** - Содержание


**Примечание:**

1. Распределение заявок по сотрудникам и прочие настройки работы модуля производятся в разделе "Модули" / "Обработчик заявок" в Панели управления CRM
2. Проводится поиск по базе Клиентов и Контактов по переданным параметрам email и phone. При найденном соответствии Ответственным за обработку заявки будет назначен пользователь, ответственный за найденного Клиента и Контакт.
3. После добавления заявки Ответственному будет выслано уведомление по email

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

<pre><code class="php">

$params = [
	"login"  => "vladislav@isaler.ru",
	"apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
	// указываем метод
	"action"       => 'add',
	"title"        => 'Иван Пермяков',
	"email"        => 'ivan.permyakov@perm.io',
	"phone"        => "+75005007777",
	"company"      => "Perm Production",
	"description"  => 'The best crm practice',
	"country"      => "Russia",
	"city"         => "Perm",
	"path"         => "Заявка с сайта",
	"partner"      => "https://yandex.ru",
	"utm_source"   => "facebook",
	"utm_medium"   => "cpc",
	"utm_campaign" => "First Campaign",
	"utm_term"     => "crm для малого бизнеса",
	"utm_content"  => "",
	"utm_referrer" => "yandex.ru",
];

$urlparams = http_build_query($params);

</code></pre>

**Ответ:**

В поле “data” приходит id записи

<pre><code class="json">
{"result":"Success","id":1649}
</code></pre>

Возможные ответы в случае ошибок:

    400 – Не верный API key
    401 – Неизвестный пользователь
    402 – Неизвестный метод

<a id="uids"></a>
### UIDs

Начиная с версии 2019.1 SalesMan поддерживает прием, хранение и обработку **идентификаторов из внешних систем**. Для того, чтобы активировать эту опцию необходимо добавить названия идентификаторов в настройках Модуля "Сборщик заявок".

![](/docs.img/docs/leads_uids_settings.png)

В этом разделе надо добавить название идентификатора внешней системы (их может быть несколько).

После этого пару "идентификатор" = "значение" можно передавать вместе с обычным запросом в массиве **uids**:

<pre><code class="php">
$params = [
	"login"        => LOGIN,
	"apikey"       => KEY,
	// указываем метод
	"action"       => 'add',
	"title"        => 'Иван Пермяков',
	"email"        => 'ivan.permyakov@perm.io',
	"phone"        => "+75005007777",
	"company"      => "Perm Production",
	"description"  => 'The best crm practice',
	"country"      => "Russia",
	"city"         => "Perm",
	"path"         => "Заявка с сайта",
	"utm_source"   => "facebook",
	"utm_medium"   => "cpc",
	"utm_campaign" => "First Campaign",
	"utm_term"     => "crm для малого бизнеса",
	"utm_content"  => "",
	"utm_referrer" => "yandex.ru",
	"uids"         => [
		"roistat_id" => "REFSD334FD3",
		"system_id" => "5646556EWRRW",
	]
];
</code></pre>

#### Как это работает дальше?

* Сборщик заявок обработает запрос и выделить в том числе внешние идентификаторы
* Эти значение идентификаторов будут привязаны к записи Заявки
* После обработки заявки, идентификаторы быдут также привязаны к созданным записям Клиентов и Сделок
* Получить эти идентификаторы можно в ответах на запросы:
  * Клиенты (client) - info, list
  * Сделки (deal) - info, list
* Идентификаторы будут выданы в случае передачи параметра "uids=yes"