Описание сервиса

Сервис имитирует работу аппаратной части системы автоматизированного склада.
Загрузить исходный код программной модели аппаратной части можно по ссылке.

Интерфейс прикладного программирования

Интерфейс прикладного программирования реализован в архитектурном стиле REST API. Работа с API осуществляется посредством использования протокола HTTP. При обращении к API сервиса на стороне HTTP-сервера формируется ответ, содержащий набор определенных данных в формате JSON.

Обслуживаемые маршруты

Получение расположения ячеек

GET http://HOST:PORT/scheme

При обращении к данному URL сервер возвращает объект с информацией о расположении ячеек на складе в виде:

{
  "size":
    {
      "size_x": <size:int>,
      "size_y": <size:int>,
      "size_z": <size:int>
    },
  "merged":
    [
      [<block:string>, <block:string>],
      [<block:string>, <block:string>]
    ]
}

Пример:

{
  "size":
    {
      "size_x": 3,
      "size_y": 3,
      "size_z": 1
    },
  "merged":
    [
      ["A1", "A2", "B1", "B2"],
      ["B3", "C3"]
    ]
}

Добавление позиций

POST http://HOST:PORT

При отправке POST запроса на данный URL сервер возварщает ответ, содержащий статус в виде:

{"status": <status:string>}

Формат тела запроса должен быть в виде:

[
  {
    "uuid": <uuid:string>,
    "destination": [<block:string>, ...]
  },
  {
    ...
  }
]

Пример ответа:

{"status": "ok"}
{"status": "error"}

Пример тела запроса:

[
  {
    "uuid": "67568fb7f2c1d06d40450a478863bab1",
    "destination": ["A3"]
  },
  {
    "uuid": "bd751ff4c9739a943f40dc2ff5285cdc",
    "destination": ["A1", "A2", "B1", "B2"]
  },
  {
    "uuid": "5b6cb35d25f90ea4f2235ddb7bdc3712",
    "destination": ["C2"]
  },
  {
    "uuid": "2657fdbb18e92cd1723415d46051c5f1",
    "destination": ["B3", "C3"]
  },
]

Выдача позиции

GET http://HOST:PORT/position

При отправке GET запроса на данный URL сервер возварщает ответ, содержащий статус в виде:

{"status": <status:string>}

Формат параметров запроса должен быть в виде:

{
    "destination": [<block:string>],
}

Пример ответа:

{"status": "ok"}
{"status": "position is empty"}

Пример параметров запроса:

{
    "destination": ["A1", "A2"]
}

Обратная связь

По всем интересующим Вас вопросам обращаетесь в группу в вКонтакте и по адресу электронной почты dt_smartpark@miee.ru.

Наверх