Типова ситуація: заявки з сайту губляться в пошті, менеджери вручну переносять їх у 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







