Отслеживание ошибок
Что бы начать пользоваться данным функционалом, вам необходимо создать Проект в Кабинете.
Токен проекта находится под его именем на странице проектов.
Отправьте запрос
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": []
}