Menu

## Leads
in package

Leads.php : 28

Класс для модуля Сборщик заявок

Class Leads

##### Tags

author

  Vladislav Andreev v@salesman.pro

version
  1.0

  (06/09/2019)

### Table of Contents

COLORREZULT = [1 => 'red', 2 => 'gray', 3 => 'blue', 4 => 'gray']
  Цвета статусов закрытия
COLORS = [0 => 'red', 1 => 'green', 2 => 'blue', 3 => 'gray']
  цвета статусов
REZULTES = [1 => 'Спам', 2 => 'Дубль', 3 => 'Другое', 4 => 'Не целевой']
  Статусы закрытия заявок
STATUSES = [0 => 'Открыт', 1 => 'В работе', 2 => 'Обработан', 3 => 'Закрыт']
  статусы заявок
$db : mixed
  Различные параметры, в основном из GLOBALS
$error : array<string|int, mixed>
  Массив ошибок
$fpath : mixed
  Различные параметры, в основном из GLOBALS
$identity : mixed
  Различные параметры, в основном из GLOBALS
$iduser1 : mixed
  Различные параметры, в основном из GLOBALS
$ignored : array<string|int, mixed>
  Массив не обработанных сообщений, т.к. они загружены ранее
$isCloud : mixed
  Различные параметры, в основном из GLOBALS
$ivc : mixed
  Различные параметры, в основном из GLOBALS
$lists : array<string|int, mixed>
  Массив списка заявок для метода list
$messages : array<string|int, mixed>
  Массив обработанных сообщений
$note : array<string|int, mixed>
  Массив обработанных писем в заявки
$opts : mixed
  Различные параметры, в основном из GLOBALS
$params : array<string|int, mixed>
  Передача различных параметров
$skey : mixed
  Различные параметры, в основном из GLOBALS
$sqlname : mixed
  Различные параметры, в основном из GLOBALS
$tmzone : mixed
  Различные параметры, в основном из GLOBALS
$rootpath : false|string
__construct() : mixed
autoLeadCreate() : stdClass
  Функция автоматического создания Заявки по номеру телефона
boxList() : array<string|int, mixed>
  Список всех почтовых ящиков с настройками
boxSettings() : array<string|int, mixed>
  Загрузка параметров конкретного ящика для сбора заявок
delete() : array<string|int, mixed>
  Удаление заявки
edit() : array<string|int, mixed>
  Добавление/изменение заявки
editUID() : array<string|int, mixed>
  Манипуляции с внешними id
getMessages() : array<string|int, mixed>
  Проверяет почту с заданного ящика и возвращает список писем
getPath() : mixed
  Получает id источника по Имени или Метке
getUser() : array<string|int, mixed>
  Получение ответственного за заявку по алгоритму
import() : array<string|int, mixed>
  Импорт записей из файла
info() : array<string|int, mixed>
  Информация о заявке
listLeads() : void
  Список заявок
listSources() : void
  Список каналов
listUTM() : void
  Список UTM-ссылок
parseText() : array<string|int, mixed>
  Вспомогательная функция Парсит текст на составляющие
parseUID() : array<string|int, mixed>
  Возвращает массив id внешних сервисов
sendNotifyClient() : string
  Отправка уведомления клиенту
setuser() : array<string|int, mixed>
  Назначение заявки пользователю или дисквалификация
workit() : array<string|int, mixed>
  Обработка заявки сотрудником, либо закрытие
getClient() : array<string|int, mixed>
  Поиск клиента, контакта, пользователя по email, phone
settings() : mixed
  Настройки модуля

### Constants

#### COLORREZULT

Leads.php : 132

Цвета статусов закрытия

`public array<string|int, mixed> COLORREZULT = [1 => 'red', 2 => 'gray', 3 => 'blue', 4 => 'gray']`

#### COLORS

Leads.php : 108

цвета статусов

`public array<string|int, mixed> COLORS = [0 => 'red', 1 => 'green', 2 => 'blue', 3 => 'gray']`

#### REZULTES

Leads.php : 120

Статусы закрытия заявок

`public array<string|int, mixed> REZULTES = [1 => 'Спам', 2 => 'Дубль', 3 => 'Другое', 4 => 'Не целевой']`

#### STATUSES

Leads.php : 96

статусы заявок

`public array<string|int, mixed> STATUSES = [0 => 'Открыт', 1 => 'В работе', 2 => 'Обработан', 3 => 'Закрыт']`

### Properties

#### $db

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $db`

#### $error

Leads.php : 74

Массив ошибок

`public array<string|int, mixed> $error = []`

#### $fpath

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $fpath`

#### $identity

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $identity`

#### $iduser1

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $iduser1`

#### $ignored

Leads.php : 82

Массив не обработанных сообщений, т.к. они загружены ранее

`public array<string|int, mixed> $ignored = []`

##### Tags

see
  getMessages

#### $isCloud

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $isCloud`

#### $ivc

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $ivc`

#### $lists

Leads.php : 89

Массив списка заявок для метода list

`public array<string|int, mixed> $lists = []`

#### $messages

Leads.php : 67

Массив обработанных сообщений

`public array<string|int, mixed> $messages = []`

##### Tags

see
  getMessages

#### $note

Leads.php : 59

Массив обработанных писем в заявки

`public array<string|int, mixed> $note = []`

- результат

- id - id заявки

- result = "Сделано"

- error

##### Tags

see
  getMessages

  -> edit

#### $opts

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $opts`

#### $params

Leads.php : 42

Передача различных параметров

`public array<string|int, mixed> $params = []`

#### $skey

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $skey`

#### $sqlname

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $sqlname`

#### $tmzone

Leads.php : 35

Различные параметры, в основном из GLOBALS

`public mixed $tmzone`

#### $rootpath

Leads.php : 47
`private false|string $rootpath`

### Methods

#### __construct()

Leads.php : 139
`public __construct() : mixed`

##### Return values

mixed —

#### autoLeadCreate()

Leads.php : 2655

Функция автоматического создания Заявки по номеру телефона

`public autoLeadCreate(string $phone[, array<string|int, mixed> $params = [] ]) : stdClass`

##### Parameters

$phone : string
$params : array<string|int, mixed> = []
  - опционально
  - title - Название клиента
  - description - Описание заявки

##### Tags

throws
  Exception

##### Return values

stdClass —

- id - id заявки
- error - ошибки

#### boxList()

Leads.php : 2788

Список всех почтовых ящиков с настройками

`public boxList([array<string|int, mixed> $filters = [] ]) : array<string|int, mixed>`

##### Parameters

$filters : array<string|int, mixed> = []
  - фильтры для cron-скрипта
  - str active = yes - только активные
  - int lastBOX - начальный id ящика ( вывод начнется со следующего )
  - int limit - ограничение по количеству

##### Return values

array<string|int, mixed> —

- массив настройек ящика
- int id - в качестве ключа
  - int id - id записи
  - int name - имя ящика
  - str smtp_host - хост ( imap.yandex.ru )
  - str smtp_port - порт (25, 465 или 587)
  - str smtp_protocol - протокол (IMAP, POP3)
  - str smtp_secure - авторизация ( SSL )
  - str smtp_user - email
  - str smtp_pass - пароль
  - str deletemess - удалять сообщения с сервера ( true|false )
  - str divider - разделитель для поиска пар "ключ : значение" ( : )
  - str filter - фильтр по темам письма ( Заявка )

#### boxSettings()

Leads.php : 2712

Загрузка параметров конкретного ящика для сбора заявок

`public static boxSettings(int $id[, string|null $name = NULL ][, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$id : int
$name : string|null = NULL
$params : array<string|int, mixed> = []

##### Return values

array<string|int, mixed> —

- настройки конкретного почтового ящика
- int id - id записи
- int name - имя ящика
- str smtp_host - хост ( imap.yandex.ru )
- str smtp_port - порт (25, 465 или 587)
- str smtp_protocol - протокол (IMAP, POP3)
- str smtp_secure - авторизация ( SSL )
- str smtp_user - email
- str smtp_pass - пароль
- str deletemess - удалять сообщения с сервера ( true|false )
- str divider - разделитель для поиска пар "ключ : значение" ( : )
- str filter - фильтр по темам письма ( Заявка )

#### delete()

Leads.php : 986

Удаление заявки

`public static delete( $id) : array<string|int, mixed>`

##### Parameters

$id :

##### Return values

array<string|int, mixed> —

#### edit()

Leads.php : 784

Добавление/изменение заявки

`public edit([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры
  - int iduser - id куратора заявки (не обязательный)
  - str tel | phone - номер телефона
  - str email - email
  - int clid - id клиента (не обязательный)
  - int pid - id контакта
  - str title - ФИО
  - str company - название компании
  - str site - сайт
  - str city - город
  - str country - страна
  - int partner - id партнера (не обязательный)
  - str description - комментарий к заявке (содержимое сообщения)
  - str muid - messageid для письма (чтобы исключать дубли)
  - str|int clientpath - id канала или его название
  - str utm_medium - Тип трафика (не обязательный)
  - str utm_campaign - Рекламная Кампания (не обязательный)
  - str utm_term - Ключевая фраза (не обязательный)
  - str utm_content - Содержание (не обязательный)
  - str utm_referrer - Аналогичен clientpath (не обязательный)
  - array uids - массив внешних uids (не обязательный)
  - uid => value
  - int identity - идентификатор аккаунта (не обязательный)

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

- массив результата
- id - id заявки ( lid )
- result - Сделано
- error - ошибка

#### editUID()

Leads.php : 2582

Манипуляции с внешними id

`public editUID([string $name = '' ][, string $value = '' ][, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$name : string = ''
$value : string = ''
$params : array<string|int, mixed> = []
  - доп.параметры
  - lid - id заявки
  - clid - id клиента
  - did - id сделки

##### Return values

array<string|int, mixed> —

good result - str result = ok - int id = id - str message = Комментарий

error result - result = error - message = Не указан Параметр и его Значение

#### getMessages()

Leads.php : 2101

Проверяет почту с заданного ящика и возвращает список писем

`public getMessages([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []

  - параметры SMTP-сервера + доп.параметры - int id - id настроек из БД, если задано, то 6 параметров smtp-сервера не нужны, или - str name - Названеи почтового ящика, если задано то параметры smtp-сервера также не нужны

  - str smtp_host - хост ( imap.yandex.ru )

  - str smtp_port - порт (25, 465 или 587)

  - str smtp_protocol - протокол (IMAP, POP3)

  - str smtp_secure - авторизация ( SSL )

  - str smtp_user - email

  - str smtp_pass - пароль

  - str deletemess - удалять сообщения с сервера ( true|false )

  - str divider - разделитель для поиска пар "ключ : значение" ( : )

  - str filter - фильтр по темам письма ( Заявка )

  - int days - количество дней проверки ( 1 )

  - bool process = false - добавить заявки в базу

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

#### getPath()

Leads.php : 1911

Получает id источника по Имени или Метке

`public static getPath([string $path = '' ][, string|null $source = NULL ]) : mixed`

##### Parameters

$path : string = ''
$source : string|null = NULL

##### Return values

mixed —

#### getUser()

Leads.php : 1964

Получение ответственного за заявку по алгоритму

`public getUser([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры
  - str phone
  - str email
  - int iduser

##### Return values

array<string|int, mixed> —

#### import()

Leads.php : 1689

Импорт записей из файла

`public import([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []
  - доп.параметры
  - asarray = true - выводит только обработанный массив ( иначе добавляет заявки в базу )

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

#### info()

Leads.php : 167

Информация о заявке

`public static info( $id) : array<string|int, mixed>`

##### Parameters

$id :

##### Return values

array<string|int, mixed> —

(prixe, sklad)

#### listLeads()

Leads.php : 247

Список заявок

`public listLeads([array<string|int, mixed> $params = [] ]) : void`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры вывода, в т.ч. фильтры - int page - страница ( по 100 записей ) - str ord - сортировка по полю - str tuda - направление вывода - date da1 - дата начала - date da2 - дата конец - str|array status - массив статусов - str|array user - массив пользователей - str word - поисковое слово - str email - поиск по email

  Example

      $params = [
           "page"   => $_REQUEST['page'],
           "user"   => $_REQUEST['user'],
           "status" => $_REQUEST['statuss'],
           "da1"    => $_REQUEST['da1'],
           "da2"    => $_REQUEST['da2'],
           "email"  => $_REQUEST['email'],
           "ord"    => $_REQUEST['ord'],
           "tuda"   => $_REQUEST['tuda'],
           "word"   => $_REQUEST['word'],
      ];

      $l = new Salesman\Leads();
      $l -> listLeads($params);

      $lists = $l -> lists;

##### Return values

void —

#### listSources()

Leads.php : 547

Список каналов

`public listSources([array<string|int, mixed> $params = [] ]) : void`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры вывода, в т.ч. фильтры
  - int page - страница ( по 100 записей )
  - str ord - сортировка по полю
  - str tuda - направление вывода
  - str word - поисковое слово

##### Return values

void —

#### listUTM()

Leads.php : 645

Список UTM-ссылок

`public listUTM([array<string|int, mixed> $params = [] ]) : void`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры вывода, в т.ч. фильтры
  - int page - страница ( по 100 записей )
  - str ord - сортировка по полю
  - str tuda - направление вывода
  - str word - поисковое слово

##### Return values

void —

#### parseText()

Leads.php : 2446

Вспомогательная функция Парсит текст на составляющие

`public static parseText([string|null $text = NULL ][, string $divider = ':' ]) : array<string|int, mixed>`

##### Parameters

$text : string|null = NULL
$divider : string = ':'

##### Return values

array<string|int, mixed> —

- массив значений
- field => value ( Например: email => m.3000@mail.io )

#### parseUID()

Leads.php : 2528

Возвращает массив id внешних сервисов

`public static parseUID( $text, $divider) : array<string|int, mixed>`

##### Parameters

$text :
$divider :

##### Return values

array<string|int, mixed> —

- массив uid
- uid => value ( Например: roistat_id => 232SFSDF456RTG )

#### sendNotifyClient()

Leads.php : 2352

Отправка уведомления клиенту

`public sendNotifyClient([array<string|int, mixed> $params = [] ]) : string`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры
  - int id - id заявки
  - str type - null|wellcome
  - int iduser - пользователь
  - int clid
  - int pid
  - int did

##### Tags

throws
  Exception

##### Return values

string —

#### setuser()

Leads.php : 1042

Назначение заявки пользователю или дисквалификация

`public setuser([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры
  - int id - id заявки ( lid )
  - int iduser - id куратора, которому названаем заявку
  - str rezult - комментарий для кураторв ( если пусто, то считаем, что заявка дисквалифицирована )
  - str rezz - комментарий при дисквалификации заявки
  - int identity - идентификатор аккаунта (не обязательный)

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

- массив результата
- id - id заявки ( lid )
- result - Сделано
- error - ошибка

#### workit()

Leads.php : 1220

Обработка заявки сотрудником, либо закрытие

`public workit([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []

  - параметры - int id - id заявки ( lid ) - int iduser - id куратора, которому названаем заявку - int clid - id клиента ( если не задан, то будет добавлен новый ) - int pid - id контакта ( если не задан, то будет добавлен новый ) - str rezult - комментарий для кураторов ( если пусто, то считаем, что заявка обрабатывается, иначе - дисквалифицирована ) - str rezz - комментарий при дисквалификации заявки ( если rezult - пусто )

  - Для добавления Контакта:

    - str personname - ФИО
    - str ptitle - должность
    - str mail - email
    - array tel - массив номеров телефона
    - int personpath - id источника клиента
    - int loyalty - id лояльности

  - Для добавления Клиента:

    - str type - тип клиента ( client, person, contractor, ... )
    - str title - название
    - str mail_url - email
    - str site_url - сайт
    - array phone - массив номеров телефонов
    - str address - адрес
    - int clientpath - id канала
    - str tip_cmr - тип отношений
    - int territory - id территории
    - int idcategory - id категории

  - Для добавления Сделки:

    - str dodog = yes - если будем добавлять договор
    - str dogovor - название Сделки
    - date datum_plan - плановая дата
    - int tip - id типа сделки
    - int direction - id направления
    - int step - id этапа
    - str description - описание сделки

  - Для добавления Активности:

    - str content - если будем добавлять договор
    - str tiphist - тип активности

  - int identity - идентификатор аккаунта (не обязательный)

##### Tags

throws
  Exception
throws
  Exception

##### Return values

array<string|int, mixed> —

- массив результата
- int id - id заявки
- str result = Сделано
- str error - ошибки
- int did - id сделки
- int clid - id клиента

#### getClient()

Leads.php : 2842

Поиск клиента, контакта, пользователя по email, phone

`private getClient([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>`

##### Parameters

$params : array<string|int, mixed> = []
  - параметры
  - email
  - phone
  - identity

##### Return values

array<string|int, mixed> —

- массив результатов
- clid
- pid
- iduser

#### settings()

Leads.php : 2929

Настройки модуля

`private settings([int $identity = 1 ]) : mixed`

##### Parameters

$identity : int = 1

##### Return values

mixed —

## Search results