API · инструкция

Подключение своей CRM

1С, своя система, Make, Zapier или n8n — по подписанным webhook и простому JSON.

15 минут Webhook + API Полная интеграция

Что понадобится

  • HTTPS-адрес, который принимает POST-запросы
  • Разработчик или сценарий в Make / Zapier / n8n
  • Аккаунт Poymai с ролью владельца или администратора — создать за минуту

Подключение

Poymai отправляет события на ваш адрес, ваша система присылает изменения обратно.

  1. Поднимите приёмник событий

    Любой HTTPS-адрес, который принимает POST с JSON и отвечает 2xx. Протокол — ниже на этой странице.

    https://crm.company.ru/poymai
  2. Откройте карточку «Своя CRM» в Poymai

    НастройкиИнтеграцииCRMСвоя CRMПодключить

    Подключать CRM может владелец или администратор организации.

  3. Вставьте адрес приёмника

    Poymai отправит подписанный ping. Адрес должен быть публичным — приватные и не-HTTPS адреса запрещены.

  4. Сохраните секрет подписи и адрес webhook

    Они показываются один раз. Секретом вы проверяете подпись событий Poymai, на адрес webhook присылаете свои.

    Если потеряли секрет — отключите интеграцию и подключите заново.

  5. Задайте этапы воронки

    Настроить синхронизацию

    Если ваша система отвечает на pipelines.list, этапы берутся оттуда. Иначе — перечислите их в настройках подключения.

Ключи в безопасности

Poymai проверяет доступ до сохранения и хранит ключи в зашифрованном виде. Отключить интеграцию можно в любой момент в той же карточке.

Протокол «Своей 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
// 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 игнорируются.

HTTP
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» и вставьте его адрес как приёмник.

Не получается подключить?

Напишите или позвоните — поможем разобраться с подключением.