FlowCastle/Блог/Чат на сайте, который проверяет статус заказа

Чат на сайте, который проверяет статус заказа

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

6 мин чтения·8 сент. 2026 г.
Готовый шаблон

Всё, что мы собираем в этой статье, уже есть в виде готового сценария — установите его и настройте под себя.

Открыть шаблон

«Где мой заказ?» — самый частый вопрос в чате магазина и почти единственный, на который чат-виджеты не умеют отвечать. Виджет собирает почту и обещает, что с клиентом свяжутся. Клиент ждёт. Иногда пишет в поддержку жалобу на поддержку.

Дело не в качестве AI. Сколько ни обучай модель на страницах сайта, этого ответа она не найдёт: он не на сайте, он в вашей системе заказов. Чтобы ответить, чат должен уметь сделать запрос, прочитать ответ и решить, что сказать дальше.

Здесь мы соберём именно это: виджет на сайте, который спрашивает номер заказа, обращается к вашему API и отвечает реальным статусом со ссылкой на отслеживание. Около двадцати минут, без кода. Готовый шаблон — в конце, и со второго шага мы начинаем прямо с него.

Что получится

Посетитель открывает чат и нажимает «Отследить заказ». Бот спрашивает номер. Отправляет номер в API магазина, достаёт из ответа статус и отвечает одним из трёх способов: отправлен — со ссылкой на отслеживание; собирается — с ожидаемой датой; не найден — и тогда просит проверить номер, а не упирается в тупик. На любом шаге можно попросить человека и попасть во входящие вашей команды.

Понадобится адрес, который по номеру заказа возвращает заказ. Если у вашей платформы есть API заказов, он у вас уже есть.

Готовый сценарий отслеживания заказа в редакторе FlowCastle: меню помощи, вопрос с номером заказа, запрос к API и два условия, которые расходятся на «отправлен», «собирается» и «не найден»

Шаг 1. Добавьте бота для сайта

В своём приложении добавьте бота и выберите «Веб-чат». Токен получать не нужно, модерацию ждать не нужно — в отличие от телеграм-бота, он существует сразу после создания. Название можно пока не придумывать.

Выбор платформы для нового бота в FlowCastle с вариантом «Веб-чат»: встраивайте чат-виджет на любой сайт или делитесь отдельной ссылкой на чат

Шаг 2. Установите шаблон «Помощь с заказом»

Откройте Помощь с заказом и установите его в приложение. Он даёт всё, что одинаково у любого магазина: меню помощи по заказу, вопрос с номером заказа, маршруты для обмена и возврата и передачу диалога человеку.

Чего в нём намеренно нет — самого запроса статуса: шаблон фиксирует обращение и уведомляет команду, потому что не может знать, как устроен ваш API заказов. Это и есть шаг, который мы сейчас добавим, — единственная часть, которую нужно настроить под себя.

После установки откройте сценарий отслеживания заказа. В нём есть блок с вопросом, который сохраняет ответ посетителя в переменную — по умолчанию {{order_number}}.

Шаг 3. Добавьте «Внешний запрос»

В блоке, который идёт после сохранения номера, добавьте действие и выберите «Внешний запрос» — «Отправить HTTP-запрос во внешний API».

Метод — GET, адрес — ваш эндпоинт заказов, с переменной на месте номера:

https://api.yourstore.ru/v1/orders/{{order_number}}

Переменную {{order_number}} вставляйте из списка переменных, а не набирайте руками: вставленная переменная становится чипом, который сценарий умеет подставить, а набранный текст так и останется текстом.

Если API требует ключ, откройте вкладку «Заголовки» и добавьте его — например, заголовок Authorization со значением вашего токена.

Редактор внешнего запроса в FlowCastle: метод GET, адрес API заказов с переменной order_number в виде чипа и заголовок Authorization на вкладке «Заголовки»

Шаг 4. Достаньте ответ из ответа

Это тот шаг, который превращает запрос в разговор.

Откройте вкладку «Тест» и выполните запрос один раз с настоящим номером заказа. Вы увидите реальный ответ своего API. Затем откройте вкладку «Ответ» — там появится блок с полями из последнего тестового ответа, так что поля можно выбрать из настоящих данных, а не угадывать структуру.

Сопоставление работает через JMESPath — для большинства API это просто путь до поля. Добавьте два сопоставления кнопкой «Добавить сопоставление ответа»:

JMESPathПеременная
statusorder_status
tracking.urltracking_url

Левую колонку поправьте под свой ответ: если API возвращает {"order": {"state": "shipped"}}, путь будет order.state. Дальше {{order_status}} и {{tracking_url}} содержат живые данные из магазина.

Вкладка «Ответ» редактора внешнего запроса с двумя сопоставлениями JMESPath: status в order_status и tracking.url в tracking_url

Шаг 5. Разветвите по ответу

После запроса добавьте условие. Условие задаёт один вопрос «да или нет» и имеет два выхода, поэтому на каждый статус ставится своё условие. Магазину обычно хватает двух условий и трёх ответов:

  • «Отправлен?»{{order_status}} равно shipped. «Да» ведёт к сообщению с отслеживанием, «нет» — ко второму условию.
  • «Ещё собирается?»{{order_status}} равно processing. «Да» ведёт к сообщению «ещё собираем», «нет» — к ветке «не найден».

Редактор условия в FlowCastle с одним правилом: переменная order_status сравнивается со значением shipped

Для отправленного заказа напишите сообщение с переменными-чипами:

Заказ {{order_number}} уже в пути. Отследить можно здесь: {{tracking_url}}

Добавьте две кнопки: «Отследить» — ссылка на {{tracking_url}} — и «Позвать человека».

Для сборки скажите то, что есть на самом деле, и оставьте тот же запасной выход:

Заказ {{order_number}} собирается. Обычно отправка занимает один рабочий день — как только отправим, придёт письмо.

Ветка «не найден» важнее, чем кажется. Не заканчивайте на ней разговор:

Не нахожу заказ с таким номером. Обычно он есть в письме с подтверждением и состоит из 10 цифр. Попробуем ещё раз?

Кнопку «Попробовать снова» верните на блок с вопросом из шага 2. Эта петля и отличает чат, который помогает, от чата, который сдаётся.

Шаг 6. Проверьте так, как проверит незнакомый человек

Откройте панель тестирования и пройдите сценарий как посетитель: нажмите кнопку меню, введите настоящий номер заказа, убедитесь, что в ответе реальный статус. Потом введите несуществующий номер и проверьте, что попадаете в петлю повтора, а не в тупик.

Панель тестирования FlowCastle: посетитель нажимает «Отследить заказ», отправляет номер 4820115673, и бот отвечает реальным статусом и ссылкой на отслеживание

Дальше поставьте виджет на сайт. Один скрипт перед закрывающим тегом </body> даёт кнопку чата на каждой странице; в руководстве по установке разобраны также встроенный блок и отдельная страница, если чат нужен в конкретном месте.

Сколько это стоит в работе

Полезно понимать заранее. FlowCastle считает обращения — одно событие автоматизации каждый раз, когда посетитель пишет или нажимает кнопку, — и всё, что бот делает в ответ, не считается: запрос к API, условие и все три сообщения бесплатны. Первое сообщение каждого человека тоже бесплатно, контакты не ограничены. На бесплатном тарифе 2 000 событий в месяц — примерно 250 диалогов.

AI в этом сценарии не участвует вообще, так что отдельные AI-кредиты он не расходует. В этом и смысл: проверка заказа не должна стоить токенов и не должна уметь выдумать статус.

Куда это развивать дальше

Те же три блока — спросить, запросить, разветвить — закрывают почти всё, чего от чата на сайте ждут и чего он обычно не умеет. Поменяйте адрес — и получится проверка подписки, проверка записи, выбор слота доставки или перевыпуск ключа. Если ответ нужно обработать, есть шаг с собственным кодом, а AI-ассистент напишет его по описанию словами.

Чего этот сценарий не делает: не принимает оплату. Оплата работает в Telegram, а не в виджете на сайте, поэтому возврат или повторный заказ ведите в вашу обычную оплату.

Начать проще всего так: установите Помощь с заказом и добавьте «Внешний запрос» из шага 3 — это и есть вся сборка.

Вопросы и ответы

Может ли чат на сайте действительно проверять статус заказа?

Да, если умеет обращаться к вашей системе заказов. Чат спрашивает номер, отправляет его в API заказов действием «Внешний запрос», достаёт статус из ответа и ветвится по нему. Чего он не может — ответить по содержимому сайта: статуса на сайте нет, поэтому обученная на страницах модель его не узнает.

Нужно ли писать код?

Нет. Запрос — это одно действие «Внешний запрос»: адрес с номером заказа в виде переменной, при необходимости заголовок Authorization и два сопоставления, которые кладут статус и ссылку на отслеживание в переменные. Шаг с собственным кодом есть для нестандартных ответов, но обычному API заказов он не нужен.

Что делать, если номер заказа неверный?

Верните эту ветку к вопросу, а не заканчивайте разговор. Подскажите, где найти номер и как он выглядит, и дайте кнопку «Попробовать снова». Тупик на опечатке — самая частая причина, по которой человек бросает чат и пишет на почту.

Входит ли запрос к API в шаблон?

Нет, и намеренно: шаблон не может знать, как устроен ваш API заказов. «Помощь с заказом» даёт меню, вопрос с номером заказа, маршруты обмена и возврата и передачу человеку, а само обращение фиксирует для команды. Живой запрос статуса — это шаг 3 из статьи и единственная часть, которую настраивают под себя.

Может ли человек подхватить диалог?

Да. Любая ветка может передать разговор команде, и она отвечает из чата поддержки — тех же входящих, где лежат диалоги из Telegram. Посетитель остаётся в том же окне.

чат на сайтеинструкцияинтернет-магазинapi

Читайте дальше