А теперь немного историй из мира заказов

Был недавно клиент с простой задачей на первый взгляд: автоматизировать уведомления о заказах из Яндекс.Еды в Telegram.

Первое что приходит в голову — стучишься в API, получаешь bearer, подставляешь в запросы, всё. Оказалось немного интереснее. Точнее, НАМНОГО интереснее: 35 физических точек, 5 управляющих аккаунтов, Яндекс Пикер — и выясняется, что Яндекс не предоставляет публичного API для партнёров вообще. Значит, открываем консоль, тыкаем все запросы на сайте, смотрим тела ответов, пишем свою документацию и делаем запросы реверс-инжинирингом. Это была половина задачи.

Вторая половина — защита от ботов. Просто слать запросы с куками не работало: Яндекс их не принимал без реальной браузерной сессии. Схема получилась такая: реальный пользователь один раз заходит в инкогнито, копируем все куки, сохраняем в файл по аккаунту. Дальше Playwright загружает эти куки как браузерный контекст — и с точки зрения Яндекса это просто Chrome на маке. Бот проходит авторизацию, перезаписывает куки после успеха, и они идут в дело для API-запросов.

В итоге три микросервиса: один работает с аккаунтами и сессиями, второй дёргает API через данные этих сессий, третий собирает всё и шлёт уведомления. И всё это только ради того, чтобы в чат прилетело “новый заказ”.

Не думал раньше, что можно убедить антибот-систему через грамотно переданные куки реального пользователя. Оказывается, можно — если терпеливо пройти весь путь руками хотя бы один раз и похихикать с того, что компьютер саенс всему голова