Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Назначение:
Расширение интеграции Яндекс Еда, который обслуживает новый протокол обмена Торговой системы Супермаг Плюс, подразумевает, что сервис «Яндекс.Еда»:
- получает от торговой организации перечень мест хранения, для которых покупатели смогут создавать заказы;
- получает список товаров с их атрибутами, ценами; остатками по всем объявленным местам хранения; изображениями;
- передает в Торговую систему Супермаг Плюс оформленные заказы от клиентов, для последующей сборки заказа сотрудниками торговых точек, и последующей отгрузки товара конечному покупателю.
Расширение является коммерческим, и для начала работы с ним необходимо получить специальную лицензию. В состав которой должна быть включена возможность работы с функциональной ролью «Сервер обмена данными (API): Яндекс.Еда».

Преимущество:
Механизм взаимодействия реализованный в данном интеграционном решении позволяет проводить двухсторонний обмен между сервисом Яндекс.Еда и Торговой системой – напрямую. Т.е. без применения посредников в лице стороннего программного обеспечения. Это обеспечивает надежность решения и простоту администрирования.

Выгода.
Интеграция с сервисом Яндекс.Еда позволит расширить рынок сбыта продукции без существенных капиталовложений. А, если при работе с данным сервисом, в помощь сотруднику магазина передать мобильное программное обеспечение СуперМаг Мобайл, то автоматически - получаем готовый инструмент для быстрой, качественной обработки заказов от клиентов, их сборки, и отгрузки.


Внимание!

Из-за ошибки сервиса Яндекс Еда, сервис запрашивает информацию у Супермага Плюс по неверному пути (пропущен каталог v1).

Правильный путь должен иметь следующий вид:

http://food.prodtovary.by:8077/yandexeda/v1/nomenclature/12/composition
http://food.prodtovary.by:8077/yandexeda/v1/nomenclature/12/availability



Эмулятор.

Эмулятор сервиса Яндекс Еда. (привязан к версии ПО). В случае, если не запускается, эмулятор потребует "пересборки". О чем сообщить в отел разработки. "Пересборка" возможна только в том случае, если клиентом приобретен коммерческий модуль расширения - ЯндексЕда (или его приобретение рассматривается, т.е. ведутся работы по оформлению юридически значимых документов).


YandexEda.Emulator_1.049.7z  YandexEda.Emulator.1.048.7zYandexEda.Emulator_1.049.1.7zYandexEda.Emulator_1.050.7zYandexEda.Emulator_1.051.7zYandexEda.Emulator.exe.7z


Для версии 1.048              Для версии 1.049            Для версии 1.049.1        Для версии 1.050            Для версии 1.051            Для версии 1.053 


Получение токен (пример):

curl -X POST "http://localhost:8080/yandexeda/security/oauth/token" --header "Content-Type: application/x-www-form-urlencoded" --data-urlencode "client_id=1" --data-urlencode "client_secret=710e1228b" --data-urlencode "grant_type=client_credentials" --data-urlencode "scope=read write"

Также работают следующие упрощения:

curl -X POST http://localhost:8080/yandexeda/security/oauth/token -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=1" -d "client_secret=710e1228b" -d "grant_type=client_credentials" -d "scope=read write"

curl -X POST http://localhost:8085/yandexeda/security/oauth/token -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=1" -d "client_secret=710e1228b"

curl -X POST http://localhost:8080/yandexeda/security/oauth/token -d "client_id=1" -d "client_secret=710e1228b"

Важно – в Windows кавычки двойные, обратные слеши перед параметрами недопустимы, запрос должен быть POST




Во вложении эмулятор, файл надо положить в каталог \BIN

IP сервера обмена данных пишется вместе с портом, ID и Secret берутся из настроек сервера обмена данных. Если секрет потерялся его надо сгенерировать заново (показывается один раз).

При тестировании вначале авторизуемся, потом делаем запросы. Если время жизни токена истечет, авторизуемся еще раз.

Документация.

Для правильной работы сервиса необходимо ознакомится с документацией, и для "закрепления материала" с Техническим заданием.

Бюллетени изменений.

  


Техническое задание.

ID 2006 SMP-945 Интеграция магазинов с сервисом Яндекс.Еда.7z

Примеры и переменные.

В качестве переменных которые задействованы в формировании данных, используются:

  • разделы ПО (параметры карточки).
  • системные характеристики карточки.
  • пользовательские характеристики карточки.

Два скрипта для создания характеристик товара. Две системные и две пользовательские:

declare
iPos integer;
begin
select nvl(max(Position),0) into iPos from SACardPropDef; iPos := iPos + 1;
insert into SACardPropDef(ID, Name, DataType, Preset, Status, ToCash, Position)
select 'Sys.InternetShopOrderQuantum', 'Минимальное количество заказа в интернет-магазине', 2, '1', '1', '0', iPos
from dual
where not exists (select 1 from SACardPropDef where ID='Sys.InternetShopOrderQuantum');
iPos := iPos + 1;
insert into SACardPropDef(ID, Name, DataType, Preset, Status, ToCash, Position)
select 'Sys.StorageCondition', 'Описание условий хранения', 0, '1', '1', '0', iPos
from dual
where not exists (select 1 from SACardPropDef where ID='Sys.StorageCondition');
end;
/
commit;

declare
iPos integer;
begin
select nvl(max(Position),0) into iPos from SACardPropDef;
iPos := iPos + 1;
insert into SACardPropDef(ID, Name, DataType, Preset, Status, ToCash, Position)
select 'YandexEda.Picture.URL', 'Адрес изображения артикула', 0, '0', '1', '0', iPos
from dual
where not exists (select 1 from SACardPropDef where ID='YandexEda.Picture.URL');
iPos := iPos + 1;
insert into SACardPropDef(ID, Name, DataType, Preset, Status, ToCash, Position)
select 'YandexEda.Picture.Hash', 'Хэш-код изображения артикула', 0, '0', '1', '0', iPos
from dual
where not exists (select 1 from SACardPropDef where ID='YandexEda.Picture.Hash');
end;
/

commit;


Пользовательские характеристики, рекомендуется сделать "обязательными", но не смотря на это иметь ввиду, что система не контролирует их актуальность.

Все, что мы можем предложить это заставить пользователя один раз их наполнить.

В случае добавления \ изменения фотографии \ изменения пути размещения файла с фото - характеристику необходимо актуализировать вручную.

Мы предполагаем, что пользователь в процессе эксплуатации интеграции выберет автоматический способ формирования ссылки на изображения и расчета хеш изображения.

А от второго способа, как сложного в актуализации данных - откажется.


Пример файла для загрузки "Заказа от клиента".

4.JSON


Алгоритм определения остатка по магазинам для ответа в сервис Яндекс.Еда.

Если для места хранения отключен перерасчет остатков, то остаток берется по данным таблиц FSGoods и FSOperGoods,

если перерасчет остатков включен и место локальное, то остаток берется по данным таблиц SMGoods и SMOperGoods,

если нелокальное, то по данным таблиц SMGoods и FSOperGoods.

Итого: То есть, если в центральной базе не отключен перерасчет остатков, то даже без настроенной передачи статистики оперативных продаж можно видеть боле менее правильные остатки. Основанные на данных SMGoods.

Презентация.















  • Нет меток