Типичная ситуация: заявки с сайта теряются в почте, менеджеры вручную переносят их в Notion, пропускают сроки ответа. В итоге до 30% лидов остаются без обработки — это прямые потери. Решение — прямая интеграция: лид заполняет форму → данные сразу появляются как страница в вашей базе Notion. Мы реализовали такое для 50+ проектов, наладили обработку rate-limit и исключили потери данных. На одном из проектов с 3000+ заявок в месяц время обработки лида сократилось с 2 часов до 2 минут.
Какие проблемы решаем
- Потеря заявок: без интеграции каждое письмо может затеряться в спаме или быть пропущено. Notion API создаёт страницу гарантированно, а мы добавляем очередь на Redis при высоком трафике.
- Ручное копирование: менеджеры тратят до 30 минут в день на перенос данных. Автоматизация сокращает время до нуля, экономя до 10 рабочих часов в месяц.
- Нет единого окна: команда использует разные системы. Notion — единая база, где заявка видна сразу всем.
Как мы это делаем: реальный кейс
Для интернет-магазина с 2000+ заявок в месяц мы настроили интеграцию на Laravel 11 (PHP) с очередью на Redis. Стек: Notion API v2022-06-28, Http::withHeaders() из Laravel, predis/predis для очереди. Вот пример класса:
class NotionService {
private string $apiKey;
private string $databaseId;
public function createPage(array $data): array
{
$resp = Http::withHeaders([
'Authorization' => "Bearer {$this->apiKey}",
'Notion-Version' => '2022-06-28',
'Content-Type' => 'application/json',
])->post('https://api.notion.com/v1/pages', [
'parent' => ['database_id' => $this->databaseId],
'properties' => [
'Имя' => [
'title' => [
['text' => ['content' => $data['name']]]
]
],
'Email' => [
'email' => $data['email']
],
'Телефон' => [
'phone_number' => $data['phone'] ?? ''
],
'Статус' => [
'select' => ['name' => 'Новый']
],
'Дата заявки' => [
'date' => ['start' => now()->toIso8601String()]
],
],
'children' => [
[
'object' => 'block',
'type' => 'paragraph',
'paragraph' => [
'rich_text' => [
[
'type' => 'text',
'text' => ['content' => $data['message'] ?? '']
]
]
]
]
]
]);
return $resp->json();
}
} Почему очередь на Redis лучше простого HTTP-запроса?
Notion ограничивает API до 3 запросов в секунду. При 10 одновременных заявках часть запросов получит ошибку 429. Очередь с паузой 0.4 сек между отправками гарантирует 100% доставку. Мы используем Redis через predis — это легче, чем RabbitMQ, и не требует отдельного сервера. Нагрузочное тестирование показало, что очередь выдерживает до 1000 заявок в минуту без потерь.
Как обеспечить 100% доставку заявок?
Кроме очереди, мы добавляем механизм повторных попыток с экспоненциальной задержкой при ошибках. Если Notion временно недоступен, запрос повторяется через 1, 2, 4, 8 секунд. Если после 5 попыток не удалось — заявка сохраняется в лог для ручного разбора. Это исключает потерю даже при длительных сбоях API. Для оперативной синхронизации изменений мы также настраиваем вебхуки Notion (через polling) — это позволяет обновлять данные в реальном времени.
Что входит в работу
| Компонент | Что делаем | Результат |
|---|---|---|
| Интеграция | Настройка Notion API, создание страниц |
Заявки попадают в Notion |
| Очередь | Redis + queue:work на Laravel |
0 потерянных запросов при пиках |
| Обработка ошибок | Retry с экспоненциальной задержкой | Устойчивость к сбоям |
| Документация | Схема базы, примеры кода | Команда может править поля |
Сравнение подходов: прямое API vs Zapier
| Критерий | Прямая интеграция | Zapier |
|---|---|---|
| Задержка передачи | 0.5 сек | 1-5 мин |
| Затраты на 10 000 заявок | без дополнительных затрат | существенная экономия |
| Гибкость маппинга | Полная | Ограниченная |
| Зависимость от стороннего сервиса | Нет | Да |
Процесс работы
- Аналитика: изучаем структуру лидов, какие поля нужны в Notion.
- Проектирование: настраиваем фильтры форм, маппинг свойств.
- Реализация: пишем сервисный класс, подключаем очередь.
- Тест: 100 лидов с разными сценариями (пустые поля, длинные сообщения).
- Деплой: на ваш сервер или облако (Vercel, Selectel).
Сроки и гарантии
Базовая интеграция — 1-2 дня. Если нужна очередь + CRM — до 5 дней. Даём гарантию на корректную работу API: если заявка не попала в Notion по вине кода, исправляем бесплатно в течение недели после сдачи. Опыт команды — 5+ лет в интеграциях, 50+ подобных проектов.
Типичные ошибки при самостоятельной настройке
- Неверный тип поля: телефон записывают как
rich_text, а неphone_number— Notion API отвергает запрос. - Забывают добавить интеграцию к базе: без этого токен не работает.
- Не обрабатывают
409 Conflictпри дублировании — наша логика проверяет уникальность по email.
Подробнее о настройке очереди
Мы используем Redis-очередь, которая работает в фоне. Для Laravel это стандартный `queue:work` с драйвером Redis. Конфигурация в файле `.env`: `QUEUE_CONNECTION=redis`. При пиковых нагрузках ставим несколько воркеров.Готовы автоматизировать?
Свяжитесь с нами, чтобы обсудить задачу. Присылайте ссылку на форму и структуру базы Notion — настроим интеграцию под ключ. Получите решение, которое сэкономит часы ручного труда и повысит скорость реакции на лиды. Закажите интеграцию с гарантией результата.
Документация: Notion API







