API Product: различия между версиями

Материал из SmartSatu Knowledge Base
Перейти к навигации Перейти к поиску
(Новая страница: «==Обзор== Данный документ описывает методы для работы поставщика/дистрибьютора по создан...»)
 
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
==Обзор==
 
==Обзор==
 
Данный документ описывает методы для работы поставщика/дистрибьютора по созданию товарной карточки в системе Smart Satu.
 
Данный документ описывает методы для работы поставщика/дистрибьютора по созданию товарной карточки в системе Smart Satu.
 +
 
'''Версия'''
 
'''Версия'''
  
Строка 11: Строка 12:
 
'''URI схема'''
 
'''URI схема'''
  
''Host : //smartsatu.com/api/ Schemes : HTTPS''
+
''Host : //food.smartsatu.com/api/ Schemes : HTTPS''
 +
 
 
==Методы==
 
==Методы==
 
===Просмотр заявки на создание продуктов===
 
===Просмотр заявки на создание продуктов===
GET /product-change-request/{id}
+
GET /product-change-requests/{id}
 +
 
 
===Создание заявки на создание продуктов===
 
===Создание заявки на создание продуктов===
POST /product-change-request
+
POST /product-change-requests
 +
 
 +
===Создание заявки на редактирование продуктов===
 +
POST /product-change-request/update
 +
 
 
==Описание==
 
==Описание==
 
===Просмотр заявки на создание продуктов===
 
===Просмотр заявки на создание продуктов===
Для того чтобы получить заявку на создание товара необходимо отправить GET-запрос c пустым телом, по URL: https://food.smartsatu.com/supplier/api/product-change-requests/{id}, где id - это уникальный идентификатор заявки на создание нового товара.
+
Для того, чтобы получить заявку на создание товара, необходимо отправить GET-запрос c пустым телом на /api/product-change-requests/{id}, где id - это уникальный идентификатор заявки на создание нового товара.
Ответом от сервера будет являться массив данных с данными заявки на создание товара.  
+
Ответом от сервера будет являться массив данных с данными заявки на создание товара.
 +
 
 
===Создание заявки на создание продуктов===
 
===Создание заявки на создание продуктов===
Для того чтобы создать заявку на создание нового товара необходимо отправить POST-запрос c JSON-телом, по URL: https://food.smartsatu.com/supplier/api/product-change-requests.  
+
Для того чтобы создать заявку на создание нового товара необходимо отправить POST-запрос c JSON-телом, по URL: https://food.smartsatu.com/api/product-change-requests.  
 
Ответом от сервера будет являться сообщение с id заявки, ее статусом и комментарием.  
 
Ответом от сервера будет являться сообщение с id заявки, ее статусом и комментарием.  
  
Строка 29: Строка 37:
 
*9 - кг;
 
*9 - кг;
 
*11 - л.
 
*11 - л.
 +
 +
===Создание заявки на редактирование продуктов===
 +
Для редактирования товара необходимо отправить PUT-запрос на /api/product-change-request/update с телом:
 +
  {
 +
    "sku":"7290104841590",
 +
    "imageFiles":[{"data":"/9j/4AAQS...RPUjogZ2QtanBlZy"}, {"data":"/8k/3gwAS...ONfUjogZ2Qibusdvlkne"}],
 +
    "name":"Уголок строительный крепежный (металл)",
 +
    "manufacturer":"Надежные конструкции",
 +
    "description":"Металлические уголки. Держатели для всех видов и способов навеса. Универсальный в использовании. Качество, проверенное временем."
 +
    "search_tags":"уголок крепеж"
 +
  }
 +
где
 +
sku – код товара, обязательный параметр. Остальные параметры отправляются при необходимости. Если параметр не указан, значение в товарной карточке перезаписано не будет.
 +
 
==Безопасность==
 
==Безопасность==
 
В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.
 
В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.
Строка 68: Строка 90:
 
| style="font-weight:bold;" | 201
 
| style="font-weight:bold;" | 201
 
| Ok
 
| Ok
| [http://docs.smartsatu.com/wiki/API_Orders#Response_Orders_Items Response Order Items]
+
| [http://docs.smartsatu.com/wiki/API_Product#Product_Change_Request_Response_2 Product Change Request Response]
 
|-
 
|-
 
| style="font-weight:bold;" | 400
 
| style="font-weight:bold;" | 400
 
| Bad Request
 
| Bad Request
| [http://docs.smartsatu.com/wiki/API_Orders#401 400]
+
| [http://docs.smartsatu.com/wiki/API_Product#400 400]
 
|-
 
|-
 
| style="font-weight:bold;" | 401
 
| style="font-weight:bold;" | 401
 
| Unauthorized
 
| Unauthorized
| [http://docs.smartsatu.com/wiki/API_Orders#403 401]
+
| [http://docs.smartsatu.com/wiki/API_Product#401 401]
 
|-
 
|-
 
| style="font-weight:bold;" | 422
 
| style="font-weight:bold;" | 422
 
| Add error message
 
| Add error message
| [http://docs.smartsatu.com/wiki/API_Orders#403 422]
+
| [http://docs.smartsatu.com/wiki/API_Product#422 422]
 
|}
 
|}
 
'''Принимаемые ресурсом типы MIME'''
 
'''Принимаемые ресурсом типы MIME'''
Строка 86: Строка 108:
 
'''Возвращаемые ресурсом типы MIME'''
 
'''Возвращаемые ресурсом типы MIME'''
 
*application/json
 
*application/json
 +
 
==Определения==
 
==Определения==
 
===Product Change Request===
 
===Product Change Request===
Строка 156: Строка 179:
 
   "measure_id": 11,
 
   "measure_id": 11,
 
   "imageFiles": [
 
   "imageFiles": [
    [
 
 
       {
 
       {
 
         "name": "test123442.jpg",
 
         "name": "test123442.jpg",
 
         "data": "/9j/4AAQSkZJRgABAQAAAQABAADk"
 
         "data": "/9j/4AAQSkZJRgABAQAAAQABAADk"
 
       }
 
       }
    ]
 
 
   ]
 
   ]
 
  }
 
  }
 +
 
===Product Change Request Response===
 
===Product Change Request Response===
 
{| class="wikitable"
 
{| class="wikitable"

Текущая версия на 07:34, 24 октября 2024

Обзор

Данный документ описывает методы для работы поставщика/дистрибьютора по созданию товарной карточки в системе Smart Satu.

Версия

Version: 1.0.0

Контактная информация

Contactinfo@smartsatu.com

URI схема

Host : //food.smartsatu.com/api/ Schemes : HTTPS

Методы

Просмотр заявки на создание продуктов

GET /product-change-requests/{id}

Создание заявки на создание продуктов

POST /product-change-requests

Создание заявки на редактирование продуктов

POST /product-change-request/update

Описание

Просмотр заявки на создание продуктов

Для того, чтобы получить заявку на создание товара, необходимо отправить GET-запрос c пустым телом на /api/product-change-requests/{id}, где id - это уникальный идентификатор заявки на создание нового товара. Ответом от сервера будет являться массив данных с данными заявки на создание товара.

Создание заявки на создание продуктов

Для того чтобы создать заявку на создание нового товара необходимо отправить POST-запрос c JSON-телом, по URL: https://food.smartsatu.com/api/product-change-requests. Ответом от сервера будет являться сообщение с id заявки, ее статусом и комментарием.

Measure_id может принимать значения:

  • 1 - шт;
  • 9 - кг;
  • 11 - л.

Создание заявки на редактирование продуктов

Для редактирования товара необходимо отправить PUT-запрос на /api/product-change-request/update с телом:

 {
   "sku":"7290104841590",
   "imageFiles":[{"data":"/9j/4AAQS...RPUjogZ2QtanBlZy"}, {"data":"/8k/3gwAS...ONfUjogZ2Qibusdvlkne"}],
   "name":"Уголок строительный крепежный (металл)",
   "manufacturer":"Надежные конструкции",
   "description":"Металлические уголки. Держатели для всех видов и способов навеса. Универсальный в использовании. Качество, проверенное временем."
   "search_tags":"уголок крепеж"
 }

где sku – код товара, обязательный параметр. Остальные параметры отправляются при необходимости. Если параметр не указан, значение в товарной карточке перезаписано не будет.

Безопасность

В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.

Type In Name Description
Authorization header required Для создания HTTP Basic Auth заголовка нужно преобразовать access_token следующим образом: $auth= "Basic " . base64encode(access_token . ":"); Данный токен должен использоваться в каждом запросе в системе.
country header required Параметр страны должен использоваться в каждом запросе в системе.

Параметры

Type Name Description Schema
Body body required Запрос на создание нового товара

Ответы

Product Change Request Response

HTTP Code Description Schema
201 Ok Product Change Request Response
400 Bad Request 400
401 Unauthorized 401
422 Add error message 422

Принимаемые ресурсом типы MIME

  • application/json

Возвращаемые ресурсом типы MIME

  • application/json

Определения

Product Change Request

Name Description Schema Example
name Название товара string test23
sku Штрих-код предложения integer($int64) 123321123321
description Описание string test test test
quantity Количество integer($int32) 2
manufacturer Производитель string ABCfood
measure_id Единица измерения integer($int32) 11
imageFiles Массив < imageFiles > array

imageFiles

Name Description Schema Example
name Название изображения string test123442.jpg
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

Name Description Schema Example
id Идентификатор наименования integer($int32) 28576
status Статус запроса integer($int32) 0
declined_comment Комментарий string null

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

{
   "id": 28576,
   "status": 0,
   "declined_comment": null
}

400

Name Description Schema Example
name Название string Bad Request
message Сообщение string Invalid JSON data in request body: Syntax error.
code Код integer($int32) 0
status Статус integer($int32) 400
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

Name Description Schema Example
name Название string Unauthorized
message Сообщение string Your request was made with invalid credentials
code Код integer($int32) 0
status Статус integer($int32) 401
type Тип string "yii\\web\\UnauthorizedHttpException"

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

{
 "name": "Unauthorized",
 "message": "Your request was made with invalid credentials.",
 "code": 0,
 "status": 401,
 "type": "yii\\web\\UnauthorizedHttpException"
}

422

Name Description Schema Example
field Параметр string sku
message Сообщение string Штрихкод уже ожидает подтверждения.

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

{
 "field": "sku",
 "message": "Штрихкод уже ожидает подтверждения."
}