Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Для вашего бизнеса

Подключить свою CRM

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

Готового модуля для Bitrix24, amoCRM, Kommo, Altegio и МойСклад у нас нет — подключение делается через API. Требование одно: CRM должна уметь отправлять HTTP-запрос наружу (робот, бизнес-процесс, исходящий вебхук, сценарий — называется в каждой системе по-своему). Сделка переходит на стадию «Оплата» — CRM отправляет нам запрос на создание счёта. Клиент платит — мы возвращаем вебхук, карточка сама уезжает на стадию «Оплачено». Инструкция: api.qut.kz/docs/guide/crm.

Сценарий

Менеджер договорился с клиентом и перетащил сделку на стадию «Выставить счёт». Дальше всё должно происходить само:

Схема работы по шагам

  1. Триггер в CRM. При переходе сделки на нужную стадию срабатывает робот или бизнес-процесс.
  2. Запрос на создание счёта. CRM вызывает POST https://api.qut.kz/api/v1/invoices. В теле: amount — сумма сделки, description — текст, который увидит клиент, externalOrderId — номер сделки, metadata — ответственный менеджер, воронка, источник.
  3. Сохранить ответ. В ответе приходят payUrl, qrUrl, deepLink, qrImageUrl, expiresAt. Запишите payUrl в поле сделки — менеджер отправит его клиенту в WhatsApp или SMS.
  4. Клиент платит. По QR, по ссылке или, если выбрали kind: "phone", через push в приложении Kaspi.
  5. Приходит вебхук. Мы отправляем на ваш адрес invoice.paid. Внутри есть externalOrderId — по нему находите нужную сделку.
  6. Карточка двигается. CRM переводит сделку на «Оплачено» и добавляет запись в историю.

Какие методы API нужны

ШагМетод
Создать счётPOST /api/v1/invoices
Сразу на несколько сделокPOST /api/v1/invoices/bulk, от 1 до 100 счетов
Запросить статусGET /api/v1/invoices/{id}
Сделка отмениласьPOST /api/v1/invoices/{id}/cancel
Вернуть деньгиPOST /api/v1/invoices/{id}/refund
Узнать об оплатеВебхук: invoice.paid, invoice.cancelled, invoice.expired

Авторизация — заголовок X-API-Key: qp_live_…. Ключ должен лежать в серверной части CRM, не в скрипте, который выполняется в браузере клиента.

Идемпотентность — то, что спасает от дублей

Роботы в CRM срабатывают повторно: менеджер двигает сделку туда-сюда, бизнес-процесс перезапускается, обрывается сеть и запрос уходит второй раз. Результат — три счёта на одну сделку.

Чтобы этого не было, добавляйте к каждому запросу заголовок Idempotency-Key. Значение должно быть устойчивым — например, номер сделки вместе с суммой. При повторе с тем же ключом новый счёт не создаётся, возвращается прежний (HTTP 200, в ответе idempotentReplay: true).

Обработка вебхука тоже должна быть идемпотентной: проверяйте пару (invoice.id, status). Если вы ответите не 2xx, мы повторим доставку 11 раз — карточка не должна проехать по воронке несколько раз из-за одной оплаты. Подробнее: Идемпотентность: защита от дублей.

Отдельный ключ на каждую CRM

Если параллельно работают несколько систем (CRM, сайт, Telegram-бот), заведите каждой свой API-ключ. Причины:

Ключи создаются в разделе Интеграции. Подробнее: API-ключи: создание, хранение, ротация.

Есть ли вариант без кода

Для полной автоматизации нужно написать хотя бы один HTTP-запрос. Но есть промежуточные варианты:

ВариантБез кодаЧто получается
Действие «отправить вебхук» в CRMДа, настраивается кнопкамиСчёт выставляется автоматически, но для возврата статуса в CRM нужен ещё один шаг
Через n8nДа, визуальный редакторCRM ↔ Qut Pay в обе стороны, есть готовые workflow
Постоянная ссылка на оплатуДаМенеджер отправляет ссылку вручную, счёт сам не создаётся
Счёт вручную из кабинетаДаПодходит при небольшом объёме, с CRM не связано

Вариант с n8n чаще всего оказывается самым практичным: n8n принимает исходящий вебхук CRM, создаёт у нас счёт, а наш вебхук отправляет обратно в API вашей CRM. Программист не нужен.

Особые замечания

Вопросы и ответы

Есть ли готовое приложение для Bitrix24? Нет. В маркетплейсе нашего модуля нет, подключение идёт через API. В инструкции есть готовые примеры запросов.

Нужен ли программист? Не обязательно. Если робот вашей CRM умеет отправлять HTTP-запрос или вы используете n8n, всё собирается без кода. Но на первой настройке с техническим человеком проще.

Можно ли подключить несколько организаций к одной CRM? Да. У каждой организации свой кассир и свой ключ, а какой ключ использовать — выбираете по стадии или воронке.

Что делать, если вебхук не приходит? Адрес должен быть на https, на реальном домене и открываться без авторизации. Порядок проверки: Вебхук не приходит.

Можно ли строить отчёт по менеджерам? Да. Запишите идентификатор менеджера в metadata — он вернётся в вебхуке и будет виден в выгрузке.

Связанные статьи

Выставление счетов Kaspi из 1СКак выставлять Kaspi QR-счета прямо из документа 1С: подключение через HTTP-сервис, массовая отправка, опрос статуса или приём вебхука, сопоставление по externalOrderId и возвраты.Настройка вебхуковКак добавить адрес вебхука в кабинете, выбрать события и сохранить секрет, какие приходят заголовки и тело, как устроены 11 повторов, как читать журнал, протестировать адрес и что с редиректами.Идемпотентность: защита от дублейКак работает заголовок Idempotency-Key, как правильно составить ключ, какова роль externalOrderId, и как защититься от повторов при обработке вебхуков и при возвратах.Metadata и номер заказаЧем externalOrderId отличается от metadata, как оба поля возвращаются в вебхуке, что можно класть в metadata и что туда нельзя класть никогда — с конкретными примерами.API-ключи — создание, хранение, ротацияЧем отличаются ключи qp_live_ и qp_test_, как создать ключ в кабинете, где его хранить и где хранить категорически нельзя, зачем отдельный ключ на каждую интеграцию, как заменить ключ без простоя и что происходит при удалении.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.