Skip to content

Instantly share code, notes, and snippets.

@Padilo300
Last active March 23, 2020 14:54
Show Gist options
  • Save Padilo300/f6b6cb8b0d58dd4031f367dbd1b1204b to your computer and use it in GitHub Desktop.
Save Padilo300/f6b6cb8b0d58dd4031f367dbd1b1204b to your computer and use it in GitHub Desktop.
Bx
<?php
class BX extends Controller{
/*
Этот класс для добавления/редактирования/обновления сущностей.
По конструкту требует url вебхука
*/
const url = "{вебХук}";
/* методы */
const userGet = self::url . 'user.get' ;
const userCurrent = self::url . 'user.current' ;
const imNotify = self::url . 'im.notify' ;
const timemanScheduleGet = self::url . 'timeman.schedule.get' ;
const timemanSettings = self::url . 'timeman.settings' ;
const timeManStatus = self::url . 'timeman.status' ;
const timemanTimecontrolReportsGet = self::url . 'timeman.timecontrol.reports.get' ;
const timeManTimeControlReportsUsersGet = self::url . 'timeman.timecontrol.reports.users.get' ;
const crmActivityAdd = self::url . 'crm.activity.add' ;
const leadAdd = self::url . 'crm.lead.add.json' ;
const leadUpdata = self::url . 'crm.lead.update.json' ;
const listUserfiledList = self::url . 'crm.lead.userfield.list' ;
const leadList = self::url . 'crm.lead.list' ;
const leadGet = self::url . 'crm.lead.get' ;
const contactAdd = self::url . 'crm.contact.add' ;
const contactGet = self::url . 'crm.contact.get' ;
const contactList = self::url . 'crm.contact.list' ;
const contactUpdate = self::url . 'crm.contact.update' ;
const logBlogpostAdd = self::url . "log.blogpost.add" ;
const dealAdd = self::url . 'crm.deal.add' ;
const dealUpdata = self::url . 'crm.deal.update' ;
const dealList = self::url . 'crm.deal.list' ;
const dealGet = self::url . 'crm.deal.get' ;
const diskFileGet = self::url . 'disk.file.get' ;
const sonetGroupGet = self::url .'sonet_group.get' ;
const departmentGet = self::url . 'department.get' ;
const tasksTaskList = self::url . 'tasks.task.list' ;
const tasksTaskAdd = self::url . 'task.item.add' ;
const tasksTaskGet = self::url . 'tasks.task.get' ;
const companyList = self::url . 'crm.company.list' ;
const companyGet = self::url . 'crm.company.get' ;
const crmRequisiteList = self::url . "crm.requisite.list" ;
const crmRequisiteLinkList = self::url . "crm.requisite.link.list" ;
const crmEnumOwnerType = self::url. "crm.enum.ownertype" ;
const crmRequisiteLinkGet = self::url. "crm.requisite.link.get" ;
const crmRequisiteUpdate = self::url. "crm.requisite.update" ;
const crmAddressAdd = self::url. "crm.address.add" ;
const crmAddressList = self::url. "crm.address.list" ;
const crmAddressUpdate = self::url. "crm.address.update" ;
const duplicateFindbycomm = self::url. 'crm.duplicate.findbycomm' ;
const crmRequisiteBankdetailList = self::url. "crm.requisite.bankdetail.list";
const crmTimelineBindingsBind = self::url . 'crm.timeline.bindings.bind';
const crmTimelineCommentAdd = self::url . 'crm.timeline.comment.add' ;
public $result = null;
public static function crmTimelineCommentAdd($data = []){
return self::curlStart(self::crmTimelineCommentAdd, $data);
}
public static function crmTimelineBindingsBind($data = []){
return self::curlStart(self::crmTimelineBindingsBind, $data);
}
public static function timemanScheduleGet(int $id){
$data = ['id'=>$id];
return self::curlStart(self::timemanScheduleGet, $data);
}
public static function timeManStatus(int $id){
return self::curlStart(self::timeManStatus, ['USER_ID' => $id]);
}
public static function curlStart($queryUrl, $data){
$data = http_build_query($data);
$curl = curl_init(); // создаем ресурс
curl_setopt_array($curl,
array( CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $data,
)
);
$result = curl_exec($curl) ; // Выполняем запрос и записываем ответ
curl_close($curl) ; // Закрываем соединение
$result = json_decode($result, 1) ; // Декодируем ответ
return $result;
}
public static function timemanTimecontrolReportsGet($data=[]){
return self::curlStart(self::timemanTimecontrolReportsGet, $data=[]);
}
public static function timeManTimeControlReportsUsersGet(int $DEPARTMENT_ID){
return self::curlStart(self::timeManTimeControlReportsUsersGet, ['DEPARTMENT_ID' => $DEPARTMENT_ID]);
}
public static function tasksTaskGet($data=[]){
return self::curlStart(self::tasksTaskGet, $data);
}
public static function timemanSettings(int $userId){
return self::curlStart(self::timemanSettings, ['id'=>$userId]);
}
public static function crmActivityAdd($data){
return self::curlStart(self::crmActivityAdd, $data);
}
public static function userGet($data=[]){
return self::curlStart(self::userGet, $data);
}
public static function departmentGet($data = []){
return self::curlStart(self::departmentGet, $data);
}
public static function tasksTaskAdd($data = []){
return self::curlStart(self::tasksTaskAdd, $data);
}
public static function duplicateFindbycomm($data){
return self::curlStart(self::duplicateFindbycomm, $data);
}
public static function imNotify($userId,$text){
$data = [
'to' => $userId,
'message' => $text
];
return self::curlStart(self::imNotify, $data);
}
public static function sonetGroupGet($data = []){
return self::curlStart(self::sonetGroupGet, $data);
}
public static function crmAddressAdd($data){
/*
fields:
{
"TYPE_ID": 6,
"ENTITY_TYPE_ID": 8,
"ENTITY_ID": 26,
"ADDRESS_1": "Добавил из REST API TESTER",
}
**/
return self::curlStart(self::crmAddressAdd, $data);
}
public static function userCurrent($data=[]){
return self::curlStart(self::userCurrent, $data);
}
public static function tasksTaskList($data){
return self::curlStart(self::tasksTaskList, $data);
}
public static function crmAddressUpdate($data){
/*
fields:
{
"TYPE_ID": 1,
"ENTITY_TYPE_ID": 3,
"ENTITY_ID": 1,
"ADDRESS_1": "Московский проспект, 261",
"CITY": "Калининград"
}
**/
return self::curlStart(self::crmAddressUpdate, $data);
}
public static function crmRequisiteBankdetailList($data){
/*
'order' => [ "DATE_CREATE" => "ASC" ],
'filter' =>[ "ENTITY_ID" => $companyId, 'ENTITY_TYPE_ID' => 4],
'select' => [ "ID", "NAME"]
**/
return self::curlStart(self::crmRequisiteBankdetailList, $data);
}
public static function crmAddressList($data){
/*
*
* order: { "TYPE_ID": "ASC" },
* filter: { "ENTITY_ID": 8},
* select: [ "TYPE_ID", "ADDRESS_1", "ADDRESS_2" ]
*
**/
return self::curlStart(self::crmAddressList, $data);
}
public static function crmEnumOwnerType(){
return self::curlStart(self::crmEnumOwnerType, []);
}
public static function crmRequisiteLinkGet($data){
return self::curlStart(self::crmRequisiteLinkGet, $data);
}
public static function crmRequisiteLinkList($data){
return self::curlStart(self::crmRequisiteLinkList, $data);
}
public static function logBlogpostAdd($data){
/*
*
[
'POST_TITLE' => 'Заголовок',
POST_MESSAGE => 'text',
DEST => ['UA'] // User All
]
*/
return self::curlStart(self::logBlogpostAdd, $data);
}
/*
* Для поиска реквизита
*
* оrder: { "DATE_CREATE": "ASC" },
* filter: [{"ENTITY_TYPE_ID": 4},{"ENTITY_ID" :2}],
* select: [ "ID", "NAME"]
*
*/
public static function crmRequisiteList($data){
return self::curlStart(self::crmRequisiteList, $data);
}
/*
* Обновляет реквизиты
* [
* ['id': id],
* [
* "NAME" => "Реквизит (архив)",
* "SORT" => 200,
* "ACTIVE" => "N"
* ]
* ]
* */
public static function crmRequisiteUpdate($data){
return self::curlStart(self::crmRequisiteUpdate, $data);
}
public static function companyList($data){
return self::curlStart(self::companyList, $data);
}
public static function dealUpdata($id, $arr){
$data = array(
'id' => $id,
'fields' => $arr,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
return self::curlStart(self::dealUpdata, $data);
}
public static function dealList($data){
return self::curlStart(self::dealList, $data);
}
public static function leadList($data){
return self::curlStart(self::leadList, $data);
}
public static function companyGet($id){
$data = array(
'id' => $id,
);
return self::curlStart(self::companyGet, $data);
}
public static function leadGet($id){
$data = array(
'id' => $id,
);
return self::curlStart(self::leadGet, $data);
}
public static function diskFileGet($id){
$data = array(
'id' => $id,
);
return self::curlStart(self::diskFileGet, $data);
}
public static function contactGet($id){
$data = array(
'id' => $id,
);
return self::curlStart(self::contactGet, $data);
}
public static function contactAdd($data){
$data = array(
"fields" => $data,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
return self::curlStart(self::contactAdd, $data);
}
public static function leadAdd($data){
$data = array(
"fields" => $data,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
return self::curlStart(self::leadAdd, $data);
}
public static function leadUF(){
$data = array(
'order' => array( "SORT" => "ASC" ),
'filter' => array( "MANDATORY" => "N" )
);
return self::curlStart(self::userFieldList, $data) ;
}
public static function contactUpdate($id, $arr){
$data = array(
'id' => $id,
'fields' => $arr,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
return self::curlStart(self::contactUpdate, $data);
}
public static function leadUpdata($id, $arr){
$data = array(
'id' => $id,
'fields' => $arr,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
return self::curlStart(self::leadUpdata, $data);
}
public static function dealAdd($data){
$data = array(
'fields' => $data,
'params' => array("REGISTER_SONET_EVENT" => "Y")
);
$result = self::curlStart(self::dealAdd, $data);
if(!$result['result'] > 1){
$result = FALSE;
}
return $result;
}
public static function dealGet($id){
$data = array(
'id' => $id,
);
return self::curlStart(self::dealGet, $data);
}
public static function contactList($data){
return self::curlStart(self::contactList, $data);
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment