8628 байт добавлено,
07:19, 16 января 2020 ==Обзор==
Данный документ описывает методы для работы поставщика/дистрибьютора по созданию товарной карточки в системе Smart Satu.
'''Версия'''
''Version'': 1.0.0
'''Контактная информация'''
''Contact'': [[info@smartsatu.com]]
'''URI схема'''
''Host : //smartsatu.com/api/ Schemes : HTTPS''
==Методы==
===Просмотр заявки на создание продуктов===
GET /product-change-request/{id}
===Создание заявки на создание продуктов===
POST /product-change-request
==Описание==
===Просмотр заявки на создание продуктов===
Для того чтобы получить заявку на создание товара необходимо отправить GET-запрос c пустым телом, по URL: https://food.smartsatu.com/supplier/api/product-change-requests/{id}, где id - это уникальный идентификатор заявки на создание нового товара.
Ответом от сервера будет являться массив данных с данными заявки на создание товара.
===Создание заявки на создание продуктов===
Для того чтобы создать заявку на создание нового товара необходимо отправить POST-запрос c JSON-телом, по URL: https://food.smartsatu.com/supplier/api/product-change-requests.
Ответом от сервера будет являться сообщение с id заявки, ее статусом и комментарием.
Measure_id может принимать значения:
*1 - шт;
*9 - кг;
*11 - л.
==Безопасность==
В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.
{| class="wikitable"
! style="font-weight:bold;" | Type
! style="font-weight:bold;" | In
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
|-
| style="font-weight:bold;" | Authorization
| header
| required
| Для создания HTTP Basic Auth заголовка нужно преобразовать access_token следующим образом: $auth= "Basic " . base64encode(access_token . ":"); Данный токен должен использоваться в каждом запросе в системе.
|-
| style="font-weight:bold;" | country
| header
| required
| Параметр страны должен использоваться в каждом запросе в системе.
|}
==Параметры==
{| class="wikitable"
! style="font-weight:bold;" | Type
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
|-
| style="font-weight:bold;" | Body
| style="font-style:italic;" | body required
| Запрос на создание нового товара
|
|}
==Ответы==
===Product Change Request Response===
{| class="wikitable"
! style="font-weight:bold;" | HTTP Code
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
|-
| style="font-weight:bold;" | 201
| Ok
| [http://docs.smartsatu.com/wiki/API_Orders#Response_Orders_Items Response Order Items]
|-
| style="font-weight:bold;" | 400
| Bad Request
| [http://docs.smartsatu.com/wiki/API_Orders#401 400]
|-
| style="font-weight:bold;" | 401
| Unauthorized
| [http://docs.smartsatu.com/wiki/API_Orders#403 401]
|-
| style="font-weight:bold;" | 422
| Add error message
| [http://docs.smartsatu.com/wiki/API_Orders#403 422]
|}
'''Принимаемые ресурсом типы MIME'''
*application/json
'''Возвращаемые ресурсом типы MIME'''
*application/json
==Определения==
===Product Change Request===
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | name
| Название товара
| string
| test23
|-
| style="font-weight:bold;" | sku
| Штрих-код предложения
| integer($int64)
| 123321123321
|-
| style="font-weight:bold;" | description
| Описание
| string
| test test test
|-
| style="font-weight:bold;" | quantity
| Количество
| integer($int32)
| 2
|-
| style="font-weight:bold;" | manufacturer
| Производитель
| string
| ABCfood
|-
| style="font-weight:bold;" | measure_id
| Единица измерения
| integer($int32)
| 11
|-
| style="font-weight:bold;" | imageFiles
| Массив
| < imageFiles > array
|
|}
imageFiles
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | name
| Название изображения
| string
| test123442.jpg
|-
| style="font-weight:bold;" | data
| Данные изображения
| string
| /9j/4AAQSkZJRgABAQAAAQABAADk
|}
Пример запроса:
{
"name": "test23",
"sku": 123321123321,
"description": "test test test",
"quantity": 2,
"manufacturer": "ABCfood",
"measure_id": 11,
"imageFiles": [
[
{
"name": "test123442.jpg",
"data": "/9j/4AAQSkZJRgABAQAAAQABAADk"
}
]
]
}
===Product Change Request Response===
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | id
| Идентификатор наименования
| integer($int32)
| 28576
|-
| style="font-weight:bold;" | status
| Статус запроса
| integer($int32)
| 0
|-
| style="font-weight:bold;" | declined_comment
| Комментарий
| string
| null
|}
Пример ответа:
{
"id": 28576,
"status": 0,
"declined_comment": null
}
===400===
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | name
| Название
| string
| Bad Request
|-
| style="font-weight:bold;" | message
| Сообщение
| string
| Invalid JSON data in request body: Syntax error.
|-
| style="font-weight:bold;" | code
| Код
| integer($int32)
| 0
|-
| style="font-weight:bold;" | status
| Статус
| integer($int32)
| 400
|-
| style="font-weight:bold;" | type
| Тип
| string
| yii\\web\\BadRequestHttpException
|}
Пример ответа:
{
"name": "Bad Request",
"message": "Invalid JSON data in request body: Syntax error.",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
===401===
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | name
| Название
| string
| Unauthorized
|-
| style="font-weight:bold;" | message
| Сообщение
| string
| Your request was made with invalid credentials
|-
| style="font-weight:bold;" | code
| Код
| integer($int32)
| 0
|-
| style="font-weight:bold;" | status
| Статус
| integer($int32)
| 401
|-
| style="font-weight:bold;" | type
| Тип
| string
| "yii\\web\\UnauthorizedHttpException"
|}
Пример ответа:
{
"name": "Unauthorized",
"message": "Your request was made with invalid credentials.",
"code": 0,
"status": 401,
"type": "yii\\web\\UnauthorizedHttpException"
}
===422===
{| class="wikitable"
! style="font-weight:bold;" | Name
! style="font-weight:bold;" | Description
! style="font-weight:bold;" | Schema
! style="font-weight:bold;" | Example
|-
| style="font-weight:bold;" | field
| Параметр
| string
| sku
|-
| style="font-weight:bold;" | message
| Сообщение
| string
| Штрихкод уже ожидает подтверждения.
|}
Пример ответа:
{
"field": "sku",
"message": "Штрихкод уже ожидает подтверждения."
}