Orders

Разработчикам / REST API для BOOCO Meteor (v 1.x) / Общее API

В данном разделе описываются методы для работы с заявками.

Endpoints

Endpoint
Метод
Описание
Queries
Body (JSON)
Результат (data)
Права (ресурс)
Версия
GET

Получение списка всех заявок из коллекции orders. Рекомендуется вместо этого метода использовать /orders/add

limitskip...query

OrderType[]

read:any (order)

POST

Добавление заявки в коллекцию orders

OrderType

create:any (order)

GET

Получить заявку из коллекции orders по :id. Чтобы получить по _id необходимо указать параметр key=_id

key

OrderType

read:any (order)

PUT

Редактирование заявки в коллекции orders по :id. Чтобы получить по _id необходимо указать параметр key=_id

key

OrderType (указываются поля, которые нужно обновить)

OrderType

update:any (order)

DELETE

Удаление помещения из коллекции orders по :id. Чтобы получить по _id необходимо указать параметр key=_id

key

delete:any (order)

POST

Добавление заявки в коллекцию orders

OrderType

create:own (order)

Параметры запроса (Queries)

Queries
Описание
Тип значения
Обязательный
Значение по умолчанию

Определяет по какому полю делается запрос

string
нет

name

Параметры URL

Name
Описание
Тип значения

ID события в коллекции orders

string

Описание типов

type OrderCategory = {
  name: string, // уникальный код, который характеризует категорию
  title: string, // имя категории
  types: OrderType[] // список типов для категории
}

type OrderType = {
  name: string, // уникальный (в пределах категории) код
  title: string, // название типа
}

export type OrderStatus =
  'open' // Новая заявка
| 'progress' // Заявка в работе
| 'done' // Заявка завершена
| 'canceled', // Заявка отменена автором
| 'rejected' // Заявка не принята исполнителем
| 'expired'; // Заявка сгорела из-за превышения времени

export interface OrderItem {
  _id: string, // уникальный идентификатор

  name?: string, // номер заявки (должен быть уникальным)
  type: string, // тип заявки (обозначает категорию и тип заявки через точку, 
                // например, it.support - заявка не тех-поддержку, 
                // it.assist - заявка на сопровождение мероприятия специалистом)
  status: OrderStatus, // статус заявки
  createdAt?: TDateISO, // время создания, проставляетс при создании
  lastUpdated?: TDateISO, // время последнего обнвления
  resolutionTime?: TDateISO, // время когда заявка переведена в статус done/rejected/expired
  expirationTime?: TDateISO, // время, когда сгорают неисполненные зяввки
                             // зарезервировано на будущее
  userId?: string, // ID подльзователя, который создал (или для кого создали)
  dueTime?: TDateISO, // время, когда заявка должна быть исполнена (необязательное)
  locationId?: string, // местоположение, которое привязано к зявке
  venueId?: string, // ID ресурса, к которому привязана заявка
  description?: string, // произвольное описание комментарий
  assingnee?: string, // ID пользователя кому назначена заявка
}