Собираем интеграцию: вебхук и Google Sheets

Поток спроектирован — собираем. Сердце интеграции — вебхук: маленький сервис на FastAPI, у которого есть адрес. Форма сайта шлёт на этот адрес заявку, а сервис записывает её в Google Sheets и уведомляет менеджера.

🎯 После урока сможешь: собрать интеграцию: вебхук на FastAPI, запись заявки в Google Sheets.

Шаг 1. Задание для Claude Code

Отдаём Claude Code задание по формуле: «Сделай FastAPI-сервис с вебхуком: принимает заявку (имя, контакт, курс), пишет строку в Google Sheets через MCP, шлёт уведомление в Telegram. Если Sheets недоступен — сохраняй в CSV. Ключи из .env».

Приложение Claude, вкладка Code: задание собрать сервис-вебхук, Claude создал main.py и requirements.txt, метка изменений +48 -0.

Шаг 2. Как выглядит вебхук

Читать весь код не нужно — важен каркас. Вебхук — это функция, которая срабатывает, когда на её адрес приходит заявка (запрос POST):

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Zayavka(BaseModel):
    imya: str
    kontakt: str
    kurs: str

@app.post("/zayavka")
async def priem(z: Zayavka):
    save_to_sheets(z)      # запись в Google Sheets (через MCP)
    notify_manager(z)      # уведомление в Telegram
    return {"ok": True}
Адрес /zayavka — это и есть «окошко», куда сайт присылает заявку. Проверка полей (имя, контакт, курс) идёт автоматически: если чего-то не хватает, сервис не пропустит кривые данные.

Шаг 3. Заявки сами попадают в таблицу

Отправь тестовую заявку — и строка появится в Google Sheets сама, без ручного копирования. Именно это ты покажешь клиенту на демо.

Google Sheets: таблица заявок, строки с именем, контактом, курсом и датой добавились автоматически.

Контрольный вопрос. Что делает вебхук в этой интеграции?

АСрабатывает, когда на его адрес приходит заявка
БОтправляет еженедельный отчёт менеджеру в пятницу
ВРисует таблицу в Google Sheets и красит строки

Подсказка: Вебхук — точка входа: он ждёт заявку и реагирует на неё.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. Через какой готовый переходник Claude пишет заявку в Google Sheets без ручной интеграции с нуля? Впиши сокращение из трёх букв.

Подсказка: Из фундамента: адаптер Claude к внешним сервисам.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. Google Sheets на минуту стал недоступен, пришла заявка. Что произойдёт при правильно сделанном fallback?

АЗаявка сохранится в файл (CSV) и попадёт в таблицу позже
БЗаявка просто исчезнет вместе с ответом сервиса
ВСервис сломается навсегда, и его придётся поднимать заново

Подсказка: Запасной путь нужен именно для таких случаев.

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Контрольный вопрос. Клиент прислал тестовую заявку через форму сайта. Менеджеру пришло уведомление в Telegram, но строка в Google Sheets так и не появилась, и файла CSV с запасным путём тоже нет. Судя по коду из урока, что здесь вернее всего сломано?

АВебхук вообще не сработал — заявка нигде не была принята
БВсё в порядке — уведомление важнее таблицы, можно не разбираться
ВФункция priem() отработала: notify_manager() сработал, а вот save_to_sheets() (запись через MCP и запасной CSV) — нет

Подсказка: Уведомление пришло — значит функция priem() точно вызвалась. Какой из двух вызовов внутри неё, судя по коду, не отработал?

На курсе задания проверяются автоматически. Решить первое задание бесплатно →  ·  Подобрать курс

Что дальше

Заявки собираются автоматически. В следующем уроке добавим уведомления менеджеру и еженедельный отчёт с цифрами — то, за что клиент особенно благодарен.

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева