Настроил входящий вебхук с доступом к Учёту рабочего времени (timeman).
Необходимо получить отчёт по рабочему времени сотрудников.
Использую код:
function writeToLog($data, $title = '') {
$log = "\n------------------------\n";
$log .= date("Y.m.d G:i:s") . "\n";
$log .= (strlen($title) > 0 ? $title : 'DEBUG') . "\n";
$log .= print_r($data, 1);
$log .= "\n------------------------\n";
file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND);
return true;
}
$queryUrl = 'https://****.bitrix24.ru/rest/10/****************/timeman.timecontrol.reports.get';
$queryData = http_build_query(
array(
'fields' =>array(
'USER_ID' => 29,
'YEAR' => 2019,
'MONTH' => 3,
),
)
);
$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 => $queryData,
)
);
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
writeToLog($result, 'result');
var_dump($result);
В итоге получаю отчёт за текущий день.
spoiler
array(2) {
["result"]=>
bool(false)
["time"]=>
array(6) {
["start"]=>
float(1554213687.1079)
["finish"]=>
float(1554213687.1647)
["duration"]=>
float(0.056741952896118)
["processing"]=>
float(0.003511905670166)
["date_start"]=>
string(25) "2019-04-02T17:01:27+03:00"
["date_finish"]=>
string(25) "2019-04-02T17:01:27+03:00"
}
}
Что я делаю не так? Может быть не тот метод использую? Судя по описанию, это
Метод для получения отчета о выявленных отсутствиях.
У выбранного сотрудника в марте есть отсутствия.