Отслеживание ошибок
Что бы начать пользоваться данным функционалом, вам необходимо создать Проект в Кабинете.
Токен проекта находится под его именем на странице проектов.
Отправьте запрос
POST https://unotis.ru/api/v1/issue/catch
cо следующими параметрами:
- exception - сериализованное исключение;
- project_token - токен проекта;
- (необязательно) request - сериализованный объект запроса, должен наследоваться от
Symfony\Component\HttpFoundation\Request
.
Примеры отладки исключения
PHP
<?php $exception = new Exception('some message'); // Выброшенное исключение $request = new \Symfony\Component\HttpFoundation\Request(); // Объект запроса (необязательно) $curl = curl_init(); $data = [ 'exception' => serialize($exception), 'project_token' => 'ВАШ_ТОКЕН', 'request' => serialize($request), // Необязательный параметр ]; curl_setopt_array($curl, [ CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => 'https://unotis.ru/api/v1/issue/catch', CURLOPT_POSTFIELDS => http_build_query($data), ]); $response = curl_exec($curl); curl_close($curl);
SDK (PHP)
<?php $unotis = new \Spoob\Unotis\Client(ВАШ_ТОКЕН); $response = $unotis->catchException($exception, null, ТОКЕН_ПРОЕКТА);
SDK (Laravel)
1. В .env укажите UNOTIS_PROJECT_TOKEN=ТОКЕН_ПРОЕКТА
2. Добавьте вызов Unotis::catchException() в метод report() класса app\Exceptions\Handler.php:
<?php use Unotis; ... class Handler extends ExceptionHandler { ... public function report(Throwable $exception) { ... if ($this->shouldReport($exception)) { Unotis::catchException($exception); } ... } } ...
Возможные ответы:
Скрипт вернёт ответ в json-формате.
При успешной отправке:
{ "success": true }
При неудачной отправке:
{ "success": false, "errors": [] }