
Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует
alex_grom38 16 минут назад Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует Уровень сложности Средний Время на прочтение 5 мин Охват и читатели 536 Python * Кейс Из песочницы Мы...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. alex_grom38 16 минут назад Tilda + СБИС Presto: пишем интеграцию на Python, когда готового решения не существует Уровень сложности Средний Время на прочтение 5 мин Охват и читатели 536 Python * Кейс Из песочницы Мы проверили - ни одной статьи на эту тему нет. Ни на Хабре, ни на GitHub. Albato умеет Tilda + СБИС CRM, но не Presto.
CommerceML нестабилен. Кастомный сервис — единственный рабочий путь. Клиент пришёл с простой задачей: заказы с сайта на Tilda должны автоматически попадать в СБИС Presto.
Технические детали
Казалось бы, популярные инструменты — должно быть готовое решение. Написали свой сервис месяц в продакшене, всё работает. Рассказываем как — с кодом, граблями и объяснением неочевидных мест в документации СБИС.
Стек: Python, FastAPI, Pydantic, httpx, cachetools. Tilda отправляет POST → FastAPI принимает и сразу возвращает 200 → заказ обрабатывается в фоне → уходит в СБИС Presto Почему не готовые решения Albato — есть коннектор Tilda + СБИС, но это СБИС CRM, не Presto. Для ресторанного бизнеса не подходит.
CommerceML — встроенная интеграция Tilda + СБИС. На бумаге работает, на практике — десятки отчётов об ошибках при подключении. Сама поддержка СБИС рекомендует использовать API.
Отраслевые последствия
Make/Integromat — нативного модуля СБИС нет. Итог: кастомный сервис — единственный рабочий путь для связки Tilda → СБИС Presto. Как Tilda отправляет данные При отправке формы Tilda делает POST на указанный URL.
По умолчанию — application/x-www-form-urlencoded, но в настройках есть чекбокс «Отправлять данные в виде application/json» . Мы включили его, плюс «Передавать данные по товарам в заказе — массивом» — это важно, иначе состав заказа приходит одной строкой и его придётся парсить регуляркой. Мы поддержали оба формата в коде — на случай если настройки изменятся: content_type = request.
get("content-type", "") if "application/json" in content_type: try: body = json. loads(raw_body) if isinstance(body, dict): data = {k. lower(): v for k, v in body.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





