Отслеживание ошибок

Что бы начать пользоваться данным функционалом, вам необходимо создать Проект в Кабинете.

Токен проекта находится под его именем на странице проектов.

Отправьте запрос

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, ТОКЕН_ПРОЕКТА);

spoob/unotis-sdk-php

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);
        }

        ...
    }
}

...

spoob/unotis-sdk-laravel

Возможные ответы:

Скрипт вернёт ответ в json-формате.

При успешной отправке:

{
  "success": true
}

При неудачной отправке:

{
  "success": false,
  "errors": []
}