Documentation

Leads
in package

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

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

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

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

COLORS

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

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

REZULTES

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

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

STATUSES

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

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

Properties

$db

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

public mixed $db

$error

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

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

$fpath

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

public mixed $fpath

$identity

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

public mixed $identity

$iduser1

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

public mixed $iduser1

$ignored

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

public array<string|int, mixed> $ignored = []
Tags
see
getMessages

$isCloud

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

public mixed $isCloud

$ivc

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

public mixed $ivc

$lists

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

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

$messages

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

public array<string|int, mixed> $messages = []
Tags
see
getMessages

$note

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

public array<string|int, mixed> $note = []
  • результат

  • id - id заявки

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

  • error

Tags
see
getMessages

-> edit

$opts

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

public mixed $opts

$params

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

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

$skey

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

public mixed $skey

$sqlname

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

public mixed $sqlname

$tmzone

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

public mixed $tmzone

$rootpath

private false|string $rootpath

Methods

__construct()

public __construct() : mixed
Return values
mixed

autoLeadCreate()

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

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()

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

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()

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

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()

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

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

edit()

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

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()

Манипуляции с внешними 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()

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

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()

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

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

getUser()

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

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()

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

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()

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

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

(prixe, sklad)

listLeads()

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

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()

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

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()

Список 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()

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

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()

Возвращает массив 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()

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

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()

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

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()

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

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()

Поиск клиента, контакта, пользователя по 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()

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

private settings([int $identity = 1 ]) : mixed
Parameters
$identity : int = 1
Return values
mixed

Search results