Подключение своей CRM
1С, своя система, Make, Zapier или n8n — по подписанным webhook и простому JSON.
Что понадобится
- HTTPS-адрес, который принимает POST-запросы
- Разработчик или сценарий в Make / Zapier / n8n
- Аккаунт Poymai с ролью владельца или администратора — создать за минуту
Подключение
Poymai отправляет события на ваш адрес, ваша система присылает изменения обратно.
Поднимите приёмник событий
Любой HTTPS-адрес, который принимает POST с JSON и отвечает 2xx. Протокол — ниже на этой странице.
https://crm.company.ru/poymaiОткройте карточку «Своя CRM» в Poymai
НастройкиИнтеграцииCRMСвоя CRMПодключитьПодключать CRM может владелец или администратор организации.
Вставьте адрес приёмника
Poymai отправит подписанный ping. Адрес должен быть публичным — приватные и не-HTTPS адреса запрещены.
Сохраните секрет подписи и адрес webhook
Они показываются один раз. Секретом вы проверяете подпись событий Poymai, на адрес webhook присылаете свои.
Если потеряли секрет — отключите интеграцию и подключите заново.
Задайте этапы воронки
Настроить синхронизациюЕсли ваша система отвечает на pipelines.list, этапы берутся оттуда. Иначе — перечислите их в настройках подключения.
Ключи в безопасности
Протокол «Своей CRM»
Poymai отправляет POST с JSON на адрес приёмника. Каждое событие подписано HMAC-SHA256 секретом, выданным при подключении.
| Событие | Когда | Ответ |
|---|---|---|
ping | Проверка при подключении | любой 2xx |
contact.upsert | Клиент написал впервые | {"id": "<contact id>"} |
deal.create | Создать сделку | {"id", "url", "stage_id"} |
deal.update | Изменились этап, сумма, ответственный | любой 2xx |
message.created | Новое сообщение в диалоге | любой 2xx |
note.created | Заметка оператора или итог ИИ | любой 2xx |
task.created | Клиент ждёт ответа | любой 2xx |
pipelines.list | Этапы воронки | {"pipelines": [...]} |
users.list | Менеджеры | {"users": [{"id", "name", "email"}]} |
Заголовки каждого запроса: X-PoymAI-Event, X-PoymAI-Delivery (ключ идемпотентности), X-PoymAI-Timestamp и X-PoymAI-Signature: sha256=<hex> — подпись строки {timestamp}.{body}. Необязательные ответы (pipelines.list, users.list, deal.get) можно не реализовывать — тогда Poymai использует этапы из настроек.
// Node.js: проверка подписи события Poymai
import crypto from "node:crypto";
function verify(req, rawBody, secret) {
const ts = req.headers["x-poymai-timestamp"];
const signature = req.headers["x-poymai-signature"]; // "sha256=<hex>"
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = "sha256=" + crypto
.createHmac("sha256", secret)
.update(`${ts}.${rawBody}`)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature));
}Изменения из вашей системы
Отправляйте deal.updated, deal.deleted и comment.added на адрес webhook, который Poymai показал при подключении. Повторы с тем же event_id игнорируются.
POST https://poymai.ru/api/crm/custom/webhook/<секрет из адреса>
Content-Type: application/json
{
"type": "deal.updated",
"event_id": "evt_1024",
"deal": {
"id": "D-512",
"stage_id": "in_work",
"stage_name": "В работе",
"amount": 15000,
"responsible": { "id": "7", "name": "Анна", "email": "anna@company.ru" }
}
}Что синхронизируется
Контакты и сделки
contact.upsert и deal.create — с вашими id
Сообщения и заметки
message.created, note.created, task.created
Обратно в Poymai
deal.updated, deal.deleted, comment.added
- Создание сделки из чатаАвтоматически по правилам или кнопкой в карточке клиента
- Привязка к существующейНайти сделку или запись и связать её с диалогом
- Этап и статусСинхронизируются в обе стороны
- ОтветственныйСовпадает с оператором диалога
- Заметки и перепискаСообщения и итоги ИИ попадают в ленту сделки
- Название сделкиМеняется прямо из Poymai
- Сумма сделкиМеняется прямо из Poymai
- ТегиОбщие для чата и сделки
- Переписка внутри CRMМенеджер отвечает клиенту прямо из CRM
После подключения
Правила работы задаются на странице CRM — их можно менять в любой момент, без переподключения.
CRMНастройкиКогда создавать сделку
С первым сообщением, когда известен телефон или email, когда ИИ видит намерение купить — или только вручную.
Что отправлять в сделку
Всю переписку, только первое сообщение и итог ИИ — или только заметки операторов.
Этапы ↔ состояние чата
Сделка выиграна — диалог закрывается и клиент получает просьбу оценить работу. Проиграна — в чате остаётся причина.
Контроль ответа
Если клиент ждёт 15 минут – 4 часа, Poymai поставит задачу ответственному прямо в CRM.
Частые вопросы
Ping не проходит
Адрес должен быть доступен из интернета по HTTPS и отвечать 2xx не дольше 20 секунд. Локальные и приватные адреса заблокированы.
Что если мой сервер недоступен
Poymai повторит событие с нарастающей паузой. Используйте X-PoymAI-Delivery, чтобы не обработать повтор дважды.
Можно без разработчика
Да: в Make, Zapier или n8n создайте сценарий с триггером «Webhook» и вставьте его адрес как приёмник.
Не получается подключить?
Напишите или позвоните — поможем разобраться с подключением.
