Інтеграція форм з Notion для збору даних
Notion Databases — зручне сховище для команд, які вже працюють у Notion. Заявки з сайту автоматично з'являються як сторінки в базі даних Notion, зі всіма властивостями та можливістю коментування.
Notion API
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();
}
}
Налаштування Notion Integration
- Створити Integration на
https://www.notion.so/my-integrations - Скопіювати Internal Integration Token
- У базі даних Notion: Settings → Connections → додати інтеграцію
- Скопіювати Database ID з URL бази даних
Обмеження
- Notion API має rate limit: 3 запити в секунду
- При високому трафіку — черга з Redis
- Notion не підтримує webhooks для сповіщень (потрібен polling або інтеграція через Zapier/Make)
Час реалізації: 1–2 робочих дні.







