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

04.05.24

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Взаимодействие с сервисом Яндекс Еда происходит на основании 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С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    23535    73    52    

44

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

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

17568 руб.

20.12.2024    6815    28    4    

30

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

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

42700 руб.

03.08.2020    24838    38    26    

29

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

Расширение для 1С:Управление Автотранспортом (ПРОФ) автоматизирует мониторинг транспорта (пробег, расход, координаты, стоянки) и формирование путевых листов. Включает отчеты, фоновую загрузку данных, работает без активации константы мониторинга. Формы — с открытым кодом, общие модули защищены. Доступна демо-версия. Снижает ручной ввод и повышает точность учета.

23034 руб.

25.05.2021    16252    44    8    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Torin 979 23.08.23 16:29 Сейчас в теме
+ Спасибо за "заготовку"!!! Приятно :)
2. zevsbog 16.11.23 15:09 Сейчас в теме
Здравствуйте, в этом расширении входит аутентификация по OAuth2.0. Точнее сказать описана ли у вас работа с токеном, с секретным ключом?
5. mkalimulin 1628 15.03.24 23:03 Сейчас в теме
(2) Добрый день! Реализацию проверки токена я оставил на ваше усмотрение. В заготовке токен не проверяется. Хотя проверяется само его наличие
3. paulpit 23 07.03.24 19:18 Сейчас в теме
А где взять документацию по API Яндекс ЕДА?
Можете прислать в ЛС хост, имя метода и входящие параметры методов - получить статусы заказов, меню ресторана.
4. mkalimulin 1628 15.03.24 23:01 Сейчас в теме
(3) Яндекс предоставляет документацию при заключении договора. А хост ваш. Они к вам "стучатся", не вы к ним
6. zhuravlev_as 634 25.04.24 22:06 Сейчас в теме
Правильно ли понимаю, что сам по себе Яндекс не отдает данные в http-сервис. Только по запросу. В частности на примере данных заказов. Мы должны указать id-заказа (номер) в предложенном расширении, чтобы можно было получить данные его состава?
7. Re:аниматор 337 22.04.26 06:25 Сейчас в теме
(0) Здравствуйте! Можете добавить вариант скачивания за рубли? Актуально ли решение на текущий момент?
8. mkalimulin 1628 22.04.26 20:31 Сейчас в теме
(7) Добрый день! После праздников планирую проверить актуальность
Re:аниматор; +1 Ответить
9. Re:аниматор 337 13.05.26 11:25 Сейчас в теме
(8) Добрый день! Проверили актуальность, рабочий код, можно скачивать?
10. Tarlich 86 27.06.26 23:44 Сейчас в теме
Подскажите по вопросу авторизации, как я понимаю наша база смотрит в инет с фиксированного айпи и должна быть токен авторизация, где об этом можно уточнить как происходит процесс , где настраивается на стороне яндекса информация об подключении к нашей безе? есть ли список ай пишников Яндекс сервисов, что бы доступ дать только им ?
11. mkalimulin 1628 29.06.26 07:01 Сейчас в теме
(10) Перед началом работы, на этапе согласования и тестирования с Яндексом, вы создаете пару client_id + client_secret. Отправляете их Яндексу. В дальнейшем они они используют их при вызове метода /security/oauth/token. Вы на своей стороне проверяете client_id + client_secret и выдаете в ответ токен. В шаблоне нет проверок токена, вы можете их добавить сами, если посчитаете необходимым
12. Tarlich 86 29.06.26 09:08 Сейчас в теме
(11)
вы создаете пару client_id + client_secret. Отправляете их Яндексу.

Спасибо! теперь понятно как что работает ! Прошу уточнить а где я указываю им на каком адресе порту у меня база 1с ? только 443 или и на 80 может работать ? или просто по телефону (ну в письме) я сообщаю им client_id + client_secret+my_ip_host+port ?
Обратился клиент , по ряду причин перевел их с ИИС на Апач , ну и у клиента встали заказы, спасибо Вам ! теперь хоть понял как это все работает. единственно тогда надо ограничить из внешки что бы только яндекс мог ломиться в базу
13. mkalimulin 1628 29.06.26 13:34 Сейчас в теме
(12) Если мне не изменяет память, они требуют https и 443 порт. Адрес хоста вы с ними согласовываете
14. Tarlich 86 30.06.26 08:44 Сейчас в теме
(13) Победил вопрос , спасибо ! 443 опубликовал в ИИС , в default.vrd указал пользователя яндекса и только их сервис, а 80 пустил по апач для внутренней сети (что то не смог ССЛ настроить- и даже к лучшему) и во внешку закрыл 80.
Для отправки сообщения требуется регистрация/авторизация