GET /offers
===Изменение предложений===
PUT /offers/{sku}
===Удаление предложений===
DELETE /offers/{sku}
==Описание==
===Батчевый импорт предложений===
===Обновление остатков===
Для загрузки измененного количества товара (остатков) необходимо использовать API https://food.smartsatu.com/api/offers/import-only-quantity?start=1&end=1, в запросе к которому передается массив товаров ('''sku''' либо '''unique_code''') с актуальными значениями остатков:
[
{
"store_id": null,
"sku": null,
"unique_code": "48700034204351",
}
]
Для обновления остатков в определенных персональных прайслистах определенном персональном прайслисте необходимо в параметре '''store_id''' указать массив идентификаторов торговых точекидентификатор торговой точки:https://food.smartsatu.com/api/offers/import-only-quantity?start=1&end=1&store_id=9576
===Удаление предложения===
==Определения==
===Импорт предложений===POST /offers/import?start=1 ====Offers Import Request====
{| class="wikitable"
! style="font-weight:bold;" | Name
|-
| style="font-weight:bold;" | quantity
| Количество'''Для учета остатков. Пока слать 1 (есть в наличии) или 0 (нет в наличии).'''
| smallint(6)
| 1 / 0
|-
| style="font-weight:bold;" | price_1
| Цена 1 (для магазиновторговых точек в типом Магазин)
| decimal(19,2)
| float / null
|-
| style="font-weight:bold;" | price_2
| Цена 2 (для для торговых точек в типом HoReCa)
| decimal(19,2)
| float / null
|-
| style="font-weight:bold;" | price_3
| Цена 3 (для рынковдля торговых точек в типом Рынок)
| decimal(19,2)
| float / null
|-
| style="font-weight:bold;" | price_4
| Цена 4(только в случае заведения Акции)
| decimal(19,2)
| float / null
| Дни доставки* '''На данный момент данный параметр не используется! Вся функциональность по настройке дней доставки регулируется через WEB-интерфейс'''
| varchar(127)
| null"1,2,3,4,5,6,0"
|-
| style="font-weight:bold;" | unique_code
| Уникальный код предложения '''Сервисное поле поставщика. Возвращается в заказе. Например, GUID для 1С.'''
| varchar(255)
| string / null
|-
| style="font-weight:bold;" | status
| Активность предложения (да/нет)'''Если нужно скрыть товарную карточку из каталога, то выставляем 0 (нет).'''| stringtinyint(1)| 1/ 0
|}
Пример запроса:
]
====Offers Import Response===={| class="wikitable"|-! Name !! Description !! Schema !! Example|-| '''id''' || Идентификатор очереди || string || 5d720cfee9d7c84ad038ff41|-| '''count''' || Количество предложений || integer || 2|-| '''comment''' || Комментарий || string || null|}Пример ответа: { "id": "5d720cfee9d7c84ad038ff41", "count": 2, "comment": null } ===Изменение предложений===PUT /offers/{sku} ====Offers Request (изменение)====
{| class="wikitable"
! style="font-weight:bold;" | Name
| style="font-weight:bold;" | name
| Название предложения
| stringvarchar(255)
| product1
|-
| style="font-weight:bold;" | manufacturer
| Производитель
| stringvarchar(255)
| null
|-
| style="font-weight:bold;" | quantity
| Количество'''Для учета остатков. 0 (нет в наличии), 1 или более (есть в наличии).'''| stringsmallint(6)| 1/ 0
|-
| style="font-weight:bold;" | expires_at
| Годен до
| stringint(10)| null/ unixtimestamp
|-
| style="font-weight:bold;" | price_1
| Цена 1 (для магазиновторговых точек в типом Магазин)| stringdecimal(19,2)| 555float / null
|-
| style="font-weight:bold;" | price_2
| Цена 2 (для для торговых точек в типом HoReCa)| stringdecimal(19,2)| float / null
|-
| style="font-weight:bold;" | price_3
| Цена 3 (для рынковдля торговых точек в типом Рынок)| stringdecimal(19,2)| float / null
|-
| style="font-weight:bold;" | price_4
| Цена 4(только в случае заведения Акции)| stringdecimal(19,2)| float / null
|-
| style="font-weight:bold;" | price_5
| Цена 5Выгодная цена| stringdecimal(19,2)| float / null
|-
| style="font-weight:bold;" | status
| style="font-weight:bold;" | quantum
| Квант
| stringdecimal(19,3)
| 8.0
|-
| style="font-weight:bold;" | minQuantity
| Минимальное количество товара для заказа
| decimal(19,3)
| null
|-
| style="font-weight:bold;" | status
| Активность предложения (да/нет) '''Если нужно скрыть товарную карточку из каталога, то выставляем 0 (нет).'''
| tinyint(1)
| 1 / 0
|}
Пример запроса:
"status": 1
"quantum": 8.0,
"minQuantity": null, //нет требования по минимальному количеству в заказе
"status": 1
}
]
====Offers Import Response==={| class="wikitable"|-! Name !! Description !! Schema !! Example|-| '''id''' || Идентификатор наименования || integer($int32) || 5d720cfee9d7c84ad038ff41|-| '''count''' || Количество предложений || integer($int32) || 2|-| '''commentNB!''' || Комментарий || Ответ приходит в json и по факту это string || null|}Пример ответа: { "id": "5d720cfee9d7c84ad038ff41", "count": 2, "comment": null } ===Offers Response===. За парсинг и выбор типа значений отвечает сторона поставщика.
{| class="wikitable"
! style="font-weight:bold;" | Name
|-
| style="font-weight:bold;" | id
| Идентификатор наименования предложенияв системе SmartSatu| integer($int32)
| 4317231
|-
|-
| style="font-weight:bold;" | sku
| Штрих-код Артикул предложения
| string
| 4870007151458
| Единица измерения предложения
| string
| nullшт
|-
| style="font-weight:bold;" | manufacturer
| Количество
| string
| 01
|-
| style="font-weight:bold;" | expires_at
| Цена 3 (для рынков)
| string
| 329null
|-
| style="font-weight:bold;" | price_4
|-
| style="font-weight:bold;" | unique_code
| Уникальный код предложения'''Идентификатор предложения у поставщика'''
| string
| 141209
|-
| style="font-weight:bold;" | product_id
| Идентификатор продукта(идентификатор товарной карточки в системе SmartSatu)
| string
| 28952
|-
| style="font-weight:bold;" | step
| ШагКвант поставки (quantum)
| string
| null
| string
| null
|-
| style="font-weight:bold;" | price
| Цена для текущей ТТ
| string
| 329
|}
Пример ответа:
"name": "425МЛ ЗЕЛЕНЫЙ ГОРОШЕК GREEN GA",
"sku": 870007151458,
"unit": "шт",
"manufacturer": "",
"quantity": 01,
"expires_at": null,
"price_1": 329,
"price_2": 329,
"price_3": 329null,
"price_4": null,
"price_5": null,
"unique_code": "151885141209",
"product_id": null,
"step": null,
"minQuantity": null, "price": 329,
}
]
===Удаление предложений===DELETE /offers/{sku}====Delete Offer====
{| class="wikitable"
! style="font-weight:bold;" | Name
| style="font-weight:bold;" | status
| Код
| stringinteger
| 204
|-
| style="font-weight:bold;" | code
| Код
| integer($int32)
| 0
|-
| style="font-weight:bold;" | status
| Статус
| integer($int32)
| 401
|-
"type": "yii\\web\\UnauthorizedHttpException"
}
===403===
{| class="wikitable"
| style="font-weight:bold;" | code
| Код
| integer($int32)
| 0
|-
| style="font-weight:bold;" | status
| Статус
| integer($int32)
| 403
|-
"type": "yii\\\\web\\\\HttpException"
}
===404===
{| class="wikitable"
| style="font-weight:bold;" | code
| Код
| integer($int32)
| 0
|-
| style="font-weight:bold;" | status
| Статус
| integer($int32)
| 404
|-