API OneKey CRM

REST поверх HTTPS. JSON на вход и выход. Авторизация по токену workspace.

Обзор

API позволяет управлять диалогами, отвечать клиентам, обучать ИИ и подключать каналы (Telegram, MAX, почта) программно. Каждый аккаунт получает изолированный workspace_id — данные тенантов не пересекаются.

Базовый URL

https://dash.onekeysec.com          # боевой CRM API
Все запросы — только по HTTPS. Тело запроса и ответа — application/json.

Авторизация

Передавайте токен workspace в заголовке Authorization. Токен выдаётся при регистрации/входе.

Authorization: Bearer <ваш_token>

Запрос без валидного токена возвращает 401 Unauthorized. Токен определяет workspace — вы видите только свои диалоги, базу знаний и интеграции.

Регистрация аккаунта

POST/crm/registerСоздаёт аккаунт и личный workspace. Возвращает токен.
ПолеТипОписание
emailstringE-mail (логин)
passwordstringПароль
namestringНазвание бизнеса / имя
# Запрос
curl -X POST https://dash.onekeysec.com/crm/register \
  -H "Content-Type: application/json" \
  -d '{"email":"shop@mail.ru","password":"secret","name":"Груминг Барбос"}'

# Ответ
{ "ok": true, "token": "a1b2c3…", "workspace_id": "fbbc24a6a8e40840" }
Новый workspace сразу содержит стартовые примеры: 5 готовых FAQ и базовый промпт ИИ — можно отвечать клиентам с первой минуты, затем настроить под себя.

Вход

POST/crm/loginВозвращает токен по email+паролю.
curl -X POST https://dash.onekeysec.com/crm/login \
  -H "Content-Type: application/json" \
  -d '{"email":"shop@mail.ru","password":"secret"}'
# → { "ok": true, "token": "a1b2c3…", "workspace_id": "fbbc24a6a8e40840" }

Список диалогов

GET/crm/conversationsВсе диалоги workspace со всех каналов.
curl https://dash.onekeysec.com/crm/conversations \
  -H "Authorization: Bearer <token>"

Сообщения диалога

GET/crm/messages?chat_id=…История переписки с конкретным клиентом.
curl "https://dash.onekeysec.com/crm/messages?chat_id=156861098" \
  -H "Authorization: Bearer <token>"

Ответить клиенту

POST/crm/replyОтправляет сообщение клиенту в его канал (TG/MAX/почта).
ПолеТипОписание
chat_idstringID диалога
textstringТекст ответа
curl -X POST https://dash.onekeysec.com/crm/reply \
  -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
  -d '{"chat_id":"156861098","text":"Здравствуйте! Записал вас на 15:00 🙌"}'

Прочитано · Редактировать · Удалить

POST/crm/readОтметить диалог прочитанным.
POST/crm/edit-messageИзменить отправленное сообщение.
POST/crm/delete-messageУдалить сообщение.
POST/crm/follow-upЗапланировать напоминание / повторное касание.

База знаний ИИ (FAQ)

GET/crm/ai-knowledgeСписок пар «вопрос → ответ».
POST/crm/ai-knowledgeСохранить базу знаний (массив {q,a}).
curl -X POST https://dash.onekeysec.com/crm/ai-knowledge \
  -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
  -d '[{"q":"Во сколько вы работаете?","a":"Ежедневно 9:00–21:00"},
       {"q":"Сколько стоит стрижка?","a":"От 1500₽, зависит от породы"}]'

Промпт ИИ

GET/crm/ai-promptТекущий системный промпт.
POST/crm/ai-promptЗадать стиль и правила ответов ИИ.
curl -X POST https://dash.onekeysec.com/crm/ai-prompt \
  -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
  -d '{"prompt":"Ты — оператор груминг-салона. Отвечай тепло, без markdown. Не знаешь — зови мастера."}'

Режим ИИ

GET/crm/ai-modeВключён ли автоответ ИИ.
POST/crm/ai-modeВключить/выключить автоответы (вкл — ИИ отвечает сам, выкл — только подсказки оператору).

Интеграции — боты и почта

GET/crm/integrationsТекущие подключения (секреты маскируются).
POST/crm/integrationsПодключить Telegram/MAX-бота и почту.
ПолеОписание
telegram_bot_tokenТокен Telegram-бота (@BotFather)
max_bot_tokenТокен MAX-бота
email_addressАдрес почты поддержки
email_passwordПароль / app-password
email_smtp_host / email_smtp_portSMTP (отправка)
email_imap_host / email_imap_portIMAP (приём)
curl -X POST https://dash.onekeysec.com/crm/integrations \
  -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
  -d '{"telegram_bot_token":"8188…:AA…","email_smtp_host":"smtp.gmail.com","email_smtp_port":"587"}'
В ответ GET секреты приходят маскированными (8188·····BXdQ) — безопасно показывать в интерфейсе.

Чат-виджет на сайт

Встройте живой чат с поддержкой (и ИИ) прямо на свой сайт — клиент пишет, сообщение попадает в ваш инбокс OneKey CRM.

МетодПутьНазначение
POST/chat/sendКлиент отправляет сообщение с сайта
GET/chat/messagesОпрос новых сообщений для виджета
<!-- Вставьте перед </body> на вашем сайте -->
<script src="https://cdn.onekeysec.com/widget.js"
        data-workspace="fbbc24a6a8e40840"></script>
Демо виджета — на главной странице (кнопка чата справа внизу).

Нужен эндпоинт, которого нет в списке, или пример на вашем языке? Напишите в поддержку — поможем с интеграцией.