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







