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

04.05.24

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

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

Скачать файл

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

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

Взаимодействие с сервисом Яндекс Еда происходит на основании 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    1559    1    1    

4

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18573    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20718    13    19    

18

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    478    2    0    

5

Обмен с ГосИС 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

2400 руб.

28.04.2016    92197    184    217    

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