Коротко
Если точек несколько, делить организацию не нужно. Выдайте каждой точке свой API-ключ — тогда видно, каким ключом создан каждый счёт, а вебхуки можно развести по точкам отдельно.
Разделяется: ключи, адреса вебхуков, кассиры и разрез отчётности. Не разделяется: деньги, тариф и лимиты — они остаются общими для организации.
Если нужны отдельная бухгалтерия, отдельный счёт в Kaspi или отдельный тариф — это уже случай для отдельной организации.
Свой ключ на каждую точку
Несколько API-ключей в одной организации — нормальная практика. Называйте ключи по точкам, тогда не запутаетесь ни в кабинете, ни в отчёте:
| Название ключа | Где стоит |
|---|---|
Абая — касса | Программа на кассе первого магазина |
Сейфуллина — касса | Второй магазин |
Интернет-магазин | Сервер сайта |
Telegram-бот | Сервер, где крутится бот |
Что это даёт:
- Если ключ одной точки утёк, вы удаляете только его и выпускаете новый — остальные точки продолжают работать
- Права каждого ключа ограничиваются отдельно: кассе достаточно
invoices:write, аrefunds:writeей не нужен. Права доступа (scopes) - В кабинете видно время последнего использования каждого ключа — так находится точка, которая перестала работать
Создавать и удалять ключи может разработчик или владелец: Роли и права.
Привязка ключа к конкретному кассиру
Если в организации несколько кассиров (например, на каждой точке свой номер кассира), ключ можно привязать к конкретному кассиру.
Привязанный ключ:
- создаёт боевые счета только через этого кассира;
- не видит счетов другого кассира — на них возвращается 404;
- счета песочницы остаются видны всем ключам: это общие тестовые данные.
Это единственный способ разделить точки по-настоящему: система одной точки не сможет прочитать счета другой. Подробно: Привязка API-ключа к кассиру.
О нескольких кассирах в одной организации: Несколько кассиров.
Отдельный вебхук на точку
Адреса вебхуков тоже можно развести. Встречаются две схемы:
| Схема | Когда удобно |
|---|---|
| Один общий вебхук, разбор внутри | Всё на одном сервере, маршрутизация по пометке в счёте |
| Свой адрес вебхука на каждую точку | Системы точек разные, каждая получает только своё |
Во втором случае у каждого адреса свой секрет, поэтому утечка секрета одной точки не заставляет менять остальные. Правила проверки подписи одинаковы в обоих случаях: Безопасность вебхуков.
Как помечать счета
Помимо ключа и кассира, полезно помечать точку в самом счёте — с этим отчёт собирается заметно легче:
- кладите код точки в
metadata:{ "branch": "abay" }; - используйте префикс точки в
externalOrderId:ABAY-1024,SEIF-1024; - не добавляйте точку в описание счёта — его видит покупатель, и ему это ни к чему.
Эти пометки возвращаются в теле вебхука, так что вы направите заказ в нужный филиал у себя. Подробнее: Metadata и номер заказа.
Как собирается отчёт
- В разделе Счета отфильтруйте нужное и выгрузите период: Экспорт CSV и отчётность
- Разрез по точкам получается из пометок в
metadataиexternalOrderId - Когда система точки запрашивает данные своим ключом, привязанным к кассиру, она видит только свои счета
- Сводка за месяц всё равно общая по организации, так что отчёт «по всему бизнесу» тоже берётся в одном месте
Что не разделяется
Об этом лучше знать заранее:
| Что | Как есть |
|---|---|
| Деньги | Приходят на счёт организации в Kaspi. Отдельного счёта по кассиру не бывает |
| Тариф и его стоимость | Тариф один на организацию. Число точек на цену не влияет |
| Месячный лимит счетов | Общий. Все точки расходуют один лимит |
| Суточная защита | Общая |
| Сотрудники и роли | На уровне организации. Ролей «по точке» нет |
| Видимость в кабинете | Сотрудник организации видит счета всех точек |
То есть разделение точек работает на уровне отчётности и безопасности, а не на уровне финансов.
Лимиты считайте по сумме всех точек: Тарифы и лимиты.
Когда пора заводить отдельную организацию
Отдельная организация нужна, если:
- у точек разные счета в Kaspi — каждое ИП или ТОО получает свои деньги;
- бухгалтерия раздельная, документы оформляются отдельно;
- точками владеют разные люди и они не должны видеть счета друг друга;
- объёмы сильно разные, и каждой нужен свой тариф.
Учтите: тарифы не суммируются — каждая организация оплачивает свой отдельно. Подробнее: Несколько организаций.
А если это несколько точек одного юридического лица — достаточно одной организации и нескольких ключей.
Вопросы и ответы
Если кассир одной точки отвалится, остальные продолжат работать? Да, если их ключи привязаны к другим кассирам. Обрыв затрагивает только ключи, привязанные к этому кассиру.
Если удалить ключ точки, её старые счета пропадут? Нет. Счета остаются, просто новые этим ключом больше не создаются.
Сколько ключей можно завести? На практике хватает одного на точку и одного на интеграцию. Неиспользуемые удаляйте: API-ключи.
Видит ли ключи сотрудник с ролью менеджера? Нет, ключи ему недоступны вообще.
Что правильнее для франшизы? Если деньги каждого партнёра должны идти на его собственный счёт — каждому отдельная организация. Этот сценарий автоматизируется через Partner API.