CRM и платежи
Методы воронки продаж и приёма оплаты.
Права: crm:read / crm:write для воронки, payments:read / payments:write для платежей.
Как устроена CRM конструктора
Отдельной таблицы сделок в конструкторе нет. Карточка клиента — это подписчик, а этап воронки хранится его тегом. Поэтому:
- перевод по воронке через API — то же самое, что перетащить карточку мышкой на доске;
- если у цепочки стоит запуск по тегу этапа, она сработает и при переводе через API;
- фильтр по этапу — это фильтр по тегу, он уже есть в разделе диалогов.
Этапы
GET|POST /crm/stage/list — этапы воронки по порядку.
{ "items": [ { "id": 3, "name": "Новый", "color": "blue-5", "order": 0 } ] }
Параметр group — воронка конкретного проекта: у каждой группы ботов она своя.
POST /crm/stage/create — новый этап: name, необязательные color и group.
Доска
GET|POST /crm/board
{
"items": [
{ "name": "Новый", "color": "blue-5", "count": 42 },
{ "name": "В работе", "color": "orange-5", "count": 7 }
],
"without": 315,
"total": 364
}
without — сколько клиентов ещё не на этапе.
GET|POST /crm/stage/subscribers с параметром stage — карточки одной колонки.
Перевести клиента
POST /crm/stage/set
curl -X POST https://api.quescha.com/api/crm/stage/set \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{"botid":"123456789","clientid":"987654321","stage":"Оплачен"}'
{ "ok": true, "stage": "Оплачен", "chains": true }
chains: true означает, что обработка тегов прошла и цепочки, привязанные к этапу, запустились. Пустой stage снимает этап.
GET|POST /crm/stage/get — текущий этап и ответственный подписчика.
Ответственные и сотрудники
GET|POST /crm/assignee/list — владелец аккаунта и сотрудники кабинета.
POST /crm/assignee/set — назначить ответственного: параметр assignee — логин, пустой снимает назначение.
GET|POST /crm/manager/list — сотрудники, которым бот отправляет заявки (раздел «Сотрудники»).
Платежи
Подключённые системы
GET|POST /payment/system/list
{ "items": [ { "id": 12, "name": "ЮKassa магазина", "type": "yookassa" } ] }
Создать ссылку на оплату
POST /payment/link/create
curl -X POST https://api.quescha.com/api/payment/link/create \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{
"system": "ЮKassa магазина",
"sum": "3500",
"description": "Заказ A-1024",
"returnurl": "https://example.com/thanks"
}'
| Поле | Обязательный | Описание |
|---|---|---|
system | Да | номер или название платёжной системы |
sum | Да | сумма |
currency | Нет | по умолчанию RUB |
description | Нет | назначение платежа |
returnurl | Нет | куда вернуть плательщика |
payloads | Нет | массив [{name, data}] — свои поля, они вернутся в событии об оплате |
{ "link": "https://...", "payment": 91024, "system": "ЮKassa магазина", "sum": "3500" }
Ссылка создаётся тем же кодом, что и кнопка проверки ссылки в интерфейсе, и не привязана к сообщению бота: после оплаты сценарий не продолжится сам.
Зато отметка об оплате ставится — её видно методом /payment/status и событием payment.success в подписке на события. Если нужно продолжение сценария в боте, создавайте ссылку действием «Платежи» внутри бота.
Статус и список
GET|POST /payment/status с параметром payment:
{ "payment": 91024, "system": "yookassa", "paid": true, "visits": 2, "created": "…" }
GET|POST /payment/list — платежи за период: paid, from, to, limit, offset.
Подпишитесь на событие payment.success — конструктор сообщит об оплате сам. См. Подписка на события.