# README
API
Users
POST /users/
Добавляет нового пользователя в систему.
Заголовки:
Content-Type: application/json
Пример тела запроса:
{
"login": "super admin",
"password": "quit3SaF3PassWo4d",
"name": "John Doe",
"email": "[email protected]"
}
Все поля являются обязательными.
Возможные коды ответа:
- 200
- 400
- 409 - в случае, если пользователь с таким логином или почтой уже существует в системе
- 500
Authorization
POST /auth
Авторизует пользователя в системе. При успешной авторизации возвращает JWT-токен.
Заголовки:
Content-Type: application/json
Пример тела запроса:
{
"login": "super admin",
"password": "quit3SaF3PassWo4d"
}
Возможные коды ответа:
- 200 - тело ответа:
{
"token": "jwt token"
}
- 400
- 401
- 500
Products
Все маршруты для товаров в API требуют авторизации. В качестве авторизации передается JWT-токен в заголовке следующим образом:
Authorization: Bearer ${TOKEN}
Для получения токена см. /auth
POST /products/
Добавляет новый товар пользователя в систему.
Заголовки:
Content-Type: application/json
Пример тела запроса:
{
"barcode": "barcode1",
"name": "name1",
"desc": "some description 1",
"cost": 1423
}
Все поля, кроме cost
обязательны. В случае отстутствия, cost
считается равным 0.
Возможные коды ответа:
- 200
- 400
- 401
- 403
- 500
DELETE /products/:barcode
Удаляет товар пользователя с идентификатором barcode
из системы.
Возможные коды ответа:
- 200
- 400
- 401
- 403
- 500
GET /products/
Получает весь список товаров пользователя.
Возможные коды ответа:
- 200 - тело ответа:
[
{
"barcode": "barcode1",
"name": "name1",
"desc": "some description 1",
"cost": 1423
}
]
- 400
- 401
- 403
- 404
- 500
GET /products/:barcode
Получает товар пользователя с индентификатором barcode
.
Возможные коды ответа:
- 200 - тело ответа:
{
"barcode": "barcode1",
"name": "name1",
"desc": "some description 1",
"cost": 1423
}
- 400
- 401
- 403
- 404
- 500
POST /products/:barcode/tag
Генерирует файл ценника для товара пользователя с идентификатором barcode
. В случае успешной генерации файл с ценником возвращается в ответе.
Возможные коды ответа:
- 200 - тело ответа содержит сгенерированный файл
- 400
- 401
- 403
- 404
- 500
Tags
GET /tag/:filepath
Получает файл ценника для товара пользователя с именем filepath
. Файл будет отдан только в случае, если он был предварительно сгенерирован (см. POST /products/:barcode/tag
).
Возможные коды ответа:
- 200 - тело ответа содержит файл ценника
- 400
- 401
- 403
- 404 - в случае отсутствия файла или товара в системе
- 500