Компания
Компания в API Radist.Online: карточка компании, лимиты на подключения по типам, список сотрудников и роли с их правами доступа.
Общее
Swagger: https://api.radist.online/v2/docs#/Companies
Необходимые права доступа (scopes) для работы с API: connections — для лимитов, members — для списка сотрудников. Карточка компании и список ролей доступны любому ключу этой компании.
Компания — аккаунт в Radist.Online, которому принадлежат подключения, чаты, контакты и подписки. company_id есть в адресе каждого метода API, и ключ работает только со своей компанией.
Карточка компании
CompaniesGetCompany (GET /companies/{company_id})
Основные сведения о компании: name, owner_id (сотрудник-владелец), timezone, payment_currency, payments_locked — заблокированы ли платежи, is_partner — является ли компания партнёром, had_connections и waba_360dialog_partner_id.
Если ключ выдан для другой компании, метод вернёт 404 с ошибкой 8000 (COMPANY_NOT_FOUND).
Пример ответа
| |
Лимиты
Лимит — сколько подключений одного типа компания может держать. Он берётся из подписок: размер подписки и есть лимит. Проверяйте лимит перед созданием подключения — иначе создание вернёт 400 с ошибкой 10010 (CONNECTION_LIMIT_EXCEEDED).
Типы лимитов совпадают с типами подключений: connections_whatsapp, connections_waba, connections_telegram, connections_telegram_bot, connections_max_personal, connections_max_bot, connections_vk_group, connections_vk_direct, connections_odnoklassniki, connections_avito, а также банковские — connections_tinkoff, connections_modulbank, connections_sberbank, connections_paykeeper, connections_bepaid, connections_payselection, connections_yookassa, connections_robokassa, connections_keepz.
Все лимиты компании
CompaniesListCompanyLimitsHandler (GET /companies/{company_id}/limits/)
Возвращает объект, в котором на каждый тип лимита приходится одно поле со значением — сколько подключений этого типа оплачено. Типы, подписки на которые у компании нет, приходят с 0.
Оплата учитывается: у неоплаченной подписки лимит в этом ответе 0, даже если сама подписка рассчитана на несколько подключений. Поэтому список отвечает на вопрос «за что заплачено», а не «что получится создать» — для второго смотрите лимит по типу.
Пример ответа
| |
Один лимит
CompaniesGetCompanyLimitHandler (GET /companies/{company_id}/limits/{limit_type})
Возвращает type, current_value — сколько подключений этого типа уже создано, и max_value — сколько разрешено. Значение limit_type в адресе — одно из перечисленных выше; при другом значении метод вернёт 422.
Если подписки этого типа у компании ещё нет, ответ будет current_value=0, max_value=1: одно подключение нового для компании типа создать можно, подписка на него появится следом.
Именно этот метод отвечает на вопрос «получится ли создать ещё одно подключение»: создание подключения сверяется с ним и отказывает, когда current_value дошло до max_value.
Список лимитов считает иначе — он учитывает оплату и показывает 0 у неоплаченной подписки, поэтому по одному и тому же типу списочный лимит и max_value здесь могут расходиться.
Пример ответа
| |
Сотрудники
CompaniesListMembers (GET /companies/{company_id}/members/)
Все сотрудники компании: member_id (идентификатор сотрудника в компании), user_id, role_id — роль, display_name, login и email. Постраничного вывода нет, приходит весь список и его размер в count.
Пример ответа
| |
Роли
CompaniesListRoles (GET /companies/{company_id}/roles/)
Роли компании и права, которые они дают. У каждой роли id, name, permissions — список прав, и system_type: ADMINISTRATOR, MANAGER, PARTNER у преднастроенных ролей и null у ролей, созданных в компании.
По role_id из списка сотрудников можно понять, что именно сотруднику разрешено.
Пример ответа
| |