Заготовка для интеграции с сервисом Яндекс Еда

04.05.24

Интеграция - WEB-интеграция

Чтобы не делать с нуля, возьмите это расширение для интеграции с сервисом Яндекс Еда.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Заготовка для интеграции с сервисом Яндекс Еда:
.cfe 10,43Kb ver:3
32 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Взаимодействие с сервисом Яндекс Еда происходит на основании pull-модели. Т.е. сервис Яндекс Еда как клиент отправляет вам запросы, а вам, соответственно, необходимо разработать серверную часть в виде http-сервиса.

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

Я сделал расширение, в котором реализован работоспособный (проверенный Яндексом) http-сервис. В принципе, расширение универсально. Хотя оно тестировалась на УТ 11.5, с минимальными изменениями его можно применить в любой типовой или нетиповой конфигурации. В соответствующих местах кода даны комментарии на этот счет.

 

	//Здесь создание документа Заказ клиента в УТ11
	//Конфигурация может быть другой, в том числе не типовой
	//Документ (или даже не документ, а что-то еще) может быть другим
	//Все что Яндексу нужно от вас, это УИД созданного объекта
	//Переделайте этот блок в соответствии с вашими требованиями
	новзаказ=документы.ЗаказКлиента.СоздатьДокумент();
	новзаказ.Дата=текущаядата();
	новзаказ.Контрагент=справочники.Контрагенты.РозничныйПокупатель;
	новзаказ.Партнер=новзаказ.Контрагент.Партнер;
	новзаказ.Организация=справочники.Организации.НайтиПоНаименованию("Организация");
	новзаказ.Статус=перечисления.СтатусыЗаказовКлиентов.КОтгрузке;
	новзаказ.Приоритет=справочники.Приоритеты.НайтиПоНаименованию("Средний");
	новзаказ.Склад=справочники.Склады.НайтиПоНаименованию("Центральный склад");
	
	чт=новый ЧтениеJSON;
	чт.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку());
	вхд=ПрочитатьJSON(чт);
	
	для каждого стр из вхд.items цикл

 

	//В запросе передается ссылка на склад	
	//Идея Яндекса в том, чтобы качать не весь справочник товаров,
	//а только те, что относятся к определенному складу(магазину) что бы это ни значило.
	//Поэтому я передаю информацию по товарам, которые сейчас есть в остатках на данном складе 	
	//Вы можете переделать это в соответствии с вашими требованиями
	элементы=новый массив;
	ид=Запрос.ПараметрыURL["placeId"];
	строкауид=лев(ид,8)+"-"+сред(ид,9,4)+"-"+сред(ид,13,4)+"-"+сред(ид,17,4)+"-"+прав(ид,12);
	склад=справочники.склады.получитьссылку(новый УникальныйИдентификатор(строкауид));
    запрос=новый запрос;
	запрос.Текст=
	"ВЫБРАТЬ 
	|	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	|	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстатки";
	запрос.УстановитьПараметр("Склад",склад);
	выб=запрос.Выполнить().Выбрать();
	пока выб.Следующий() цикл

 

Надеюсь, это позволит вам сделать свою интеграцию с сервисом Яндекс Еда быстро и легко.

Тестировал на 8.3.23.1739.

Т.к. это http-сервис, то управляемость(неуправляемость) форм значения не имеет.

 

UPD 15.03.2024

Исправлены выявленные ошибки

UPD 30.03.2024

Реализованы методы СтатусЗаказа и ОтменаЗаказа. Внесены исправления в соответствии с изменившейся спецификацией от Яндекс 

UPD 04.05.2024

Добавлен метод СоставЗаказа. Он располагается в одной ветке с отменой заказа. Для отмены используется DELETE, для состава заказа GET. 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    5281    4    3    

7

WEB-интеграция Программист Бизнес-аналитик 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    2824    16    2    

17

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

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

60000 руб.

07.05.2019    37925    73    45    

31

WEB-интеграция 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1395    1    0    

1

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

3000 руб.

28.04.2016    96603    109    218    

359
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Torin 874 23.08.23 16:29 Сейчас в теме
+ Спасибо за "заготовку"!!! Приятно :)
2. zevsbog 16.11.23 15:09 Сейчас в теме
Здравствуйте, в этом расширении входит аутентификация по OAuth2.0. Точнее сказать описана ли у вас работа с токеном, с секретным ключом?
5. mkalimulin 1577 15.03.24 23:03 Сейчас в теме
(2) Добрый день! Реализацию проверки токена я оставил на ваше усмотрение. В заготовке токен не проверяется. Хотя проверяется само его наличие
3. paulpit 22 07.03.24 19:18 Сейчас в теме
А где взять документацию по API Яндекс ЕДА?
Можете прислать в ЛС хост, имя метода и входящие параметры методов - получить статусы заказов, меню ресторана.
4. mkalimulin 1577 15.03.24 23:01 Сейчас в теме
(3) Яндекс предоставляет документацию при заключении договора. А хост ваш. Они к вам "стучатся", не вы к ним
6. zhuravlev_as 495 25.04.24 22:06 Сейчас в теме
Правильно ли понимаю, что сам по себе Яндекс не отдает данные в http-сервис. Только по запросу. В частности на примере данных заказов. Мы должны указать id-заказа (номер) в предложенном расширении, чтобы можно было получить данные его состава?
Для отправки сообщения требуется регистрация/авторизация