👥 Контакты
Контакты — это записи клиентов в PulseHub. Каждая беседа привязана к контакту, и каждое входящее сообщение либо находит существующий контакт, либо создаёт новый.
Поля контакта
| Поле | Описание |
|---|---|
name | Отображаемое имя — извлекается из данных провайдера или вводится вручную |
email | Адрес электронной почты — используется для сопоставления отправителей входящей почты |
phone | Номер телефона — используется для сопоставления отправителей WhatsApp и SMS |
tags | JSON-массив строковых тегов для сегментации |
notes | Текстовое поле для заметок оператора |
external_ids | JSON-объект, сопоставляющий типы каналов с ID провайдеров |
Сопоставление контактов (автоматическая дедупликация)
При поступлении нового входящего сообщения:
- Если sender_phone присутствует: поиск по
contacts.phone - Иначе, если sender_email присутствует: поиск по
contacts.email - Иначе: поиск по JSON-пути
external_ids - Если совпадение не найдено: создание нового контакта
При обнаружении совпадения PulseHub обновляет поле external_ids для объединения клиента между каналами.
Теги
- Теги контакта описывают человека:
[vip, enterprise, newsletter] - Теги беседы описывают проблему:
[urgent, billing, bug-report]
Оба типа хранятся как JSON-массивы.
Справочник внешних ID
| Ключ | Источник |
|---|---|
whatsapp | Номер телефона отправителя |
telegram_chat_id | Telegram chat.id |
viber | Viber sender.id |
facebook | Facebook PSID |
instagram | Instagram PSID |
sms | Номер телефона отправителя |