Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

     Ответ присылается в формате JSON API.

ПолеОписание
links

Поле links содержит ссылку на текущий ресурс (self).

metaСодержит total_count - количество объектов в системе
data

Содержит массив объектов  в формате JSON API.

Поля объектов:

ПолеТипОписание
idintИдентификатор (передаётся как строка для соответствия JSON API)
typestringТип ресурса (всегда "reportQueue")
attributesobjectДанные объекта (см. Описание атрибутов)


Описание атрибутов:

ПолеТипnullableфильтрацияописание
Progressintдада

Процент готовности отчета

0 - Отчет только начался строится

100 - Отчет готов

Statusstringнетда

Статус отчета

  • new (всегда ставится при создании)
  • in_action - в процессе построение
  • complete - отчет построен
  • cancel - отчет отменён пользователем
  • error - отчет не удалось сформировать, некорректные данные
  • need_restart - Отчет не удалось сформировать или сохранить на nfs, задача будет автоматически пересчитана повторно, через определённый промежуток времени
  • cancel_too_long - Отменен так как рассчитывается слишком долго, может быть выставлен администратором системы, если отчет создаёт проблемную нагрузку или есть подозрение на ошибку.
DateOfCreationdatetimeнетдаДата добавления отчета в очередь
StartDatedatetimeдада

Дата начала построения отчета

EndDatedatetimeдадаДата окончания построения отчета

Связанные объекты:

ПолеТипnullableфильтрацияописание
TaskreportTaskнетда
ссылка

Ссылка на задачу отчета.

Также доступна фильтрация по данным связанного объекта.

Reportreportнетда
ссылка

Ссылка на

очтет

отчет.

Также доступна фильтрация по данным связанного объекта

Коды ответов:

200 ОК - Сервер обработал запрос. В теле содержится ответ в формате JSON API.

...

Code Block
GET https://api.url/v2.1/user/1/reports/queue HTTP/1.1
Accept: application/vnd.api+json

HTTP/1.1 200 OK
Content-Type: application/vnd.api+json
Allow: GET
Last-Modified: Wed, 21 Oct 2015 07:28:00 GMT

{
    "links": {
        "self": "https://api.url/user/1/reports/queue"
    },
    "meta": {
        "total_count": 7
    },
    "data": [
        {
            "id": "5081242",
            "type": "reportQueue",
            "attributes": {
                "Progress": 100,
                "Status": "complete",
                "DateOfCreation": "2022-06-15T14:04:55Z",
                "StartDate": "2022-06-15T14:04:56Z",
                "EndDate": "2022-06-15T14:05:02Z"
            },
            "relationships": {
                "Report": {
                    "data": {
                        "id": "10",
                        "type": "report"
                    }
                },
                "ReportTask": {
                    "data": {
                        "id": "5086955",
                        "type": "reportTask"
                    }
                }
            }
        },
         ...
     ]
}

Запрос завершённых отчетов запрошенных пользователем:

Метод позволяет фильтровать данные по связаным объектам. Информация о статусе отчета хранится в объекте очереди отчета. В запросе мы указываем одновременно фильтр по очереди и фильтр по задаче.

Несколько фильтров всегда объединяются друг с другим через операцию конъюнкции (логическое "И").

Code Block
GET http://api.url/v2.1/user/1/reports/tasks?filter[reportQueue]=eq(Status, 'complete')&filter[reportTask]=eq(Type, 'user_task')

Запрос всех отчетов "Прохождение контрольных зон" (id=4):

Фильтр по id можно как через сам связанный объект - filter[report], так и через связь (по полю Report в объекте reportTask). Следующие 2 запроса равнозначны.

Code Block
GET http://api.url/v2.1/user/1/reports/tasks?filter[report]=4
GET http://api.url/v2.1/user/1/reports/tasks?filter[reportTask]=eq(Report,4)