На текущий момент в личном кабинете сервиса существует ряд ограничений по предоставлению статистических сведений о его работе. Однако, пользователи могут обойти эти ограничения в случае необходимости, используя API, который мы разработали. При помощи методов API, описанных ниже вы сможете получить всю имеющуюся статистическую информацию и сделать собственные отчеты, аналогичные нашему демонстрационному для более глубокого анализа расходов на использование сервиса.
Авторизация
Для доступа к API используется уникальный ключ, который должен передаваться при каждом вызове метода API в качестве дополнительного параметра api_key. Ключ доступа можно найти в настройках аккаунта (1) — закладка API (2):
Ключ API (3) привязан к конкретному пользователю и позволяет получать только те данные, к которым пользователь имеет доступ.
Структура запроса
Все запросы к API сервиса должны выполняться при помощи метода GET по адресу
https://app.mybi.ru/api/v1/
к которому добавляется запрашиваемая сущность и метод для работы с ней. В качестве параметров запроса должен всегда передаваться ключ доступа к API и дополнительно могут передаваться параметры сущности с их значениями, что позволяет фильтровать набор данных, возвращаемый в результате выполнения запроса. К примеру, запрос
https://app.mybi.ru/api/v1/accounts.get.json?api_key={Ключ API}&project_id={Идентификатор проекта}
позволяет получить все источники данных, которые были созданы в проекте с указанным идентификатором.
Методы
На данный момент API сервиса поддерживает методы для получения сведений по следующим сущностям в формате JSON:
- users — пользователи
- plans — тарифные планы
- user_projects — связи пользователей с проектами
- projects — проекты
- accounts — источники данных
- processors — задания
- transfers — загрузки
- transfer_details — детали загрузок
- payments — оплаты
- purchases — списания за тарифы
- expenses — списания за базы данных
users
Метод позволяет получить сведения по текущему пользователю, ключ для доступа к API которого использован в запросе:
https://app.mybi.ru/api/v1/users.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- active_project — идентификатор активного проекта
- activity — область деятельности
- api_key — ключ доступа к API
- avatar_hash — хеш аватара пользователя
- balance — баланс
- company — компания
- confirmed — признак подтверждения аккаунта
- discount — скидка
- email — адрес электронной почты
- extra_cost — стоимость дополнительного миллиона строк
- first_name — имя пользователя
- group_id — идентификатор группы
- id — идентификатор пользователя
- invitation_sent — дата отправки приглашения
- last_name — фамилия пользователя
- last_payday — дата последнего списания за тариф
- last_seen — дата последнего посещения сервиса
- member_since — дата регистрации пользователя
- next_payday — дата последующего списания за тариф
- password_hash — хеш пароля
- phone_number — номер телефона
- plan_id — идентификатор тарифного плана
- promo_id — идентификатор промо-кода
- role_id — идентификатор роли
- rows — количество доступных строк
- stage — этап
- stage_changed — дата смены этапа
- switch_plan_id — идентификатор тарифного плана для смены
plans
Метод позволяет получить информацию по текущему тарифному плану пользователя:
https://app.mybi.ru/api/v1/plans.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- base_cost — ежемесячная стоимость тарифного плана
- default — признак тарифа по умолчанию
- description — описание
- extra_cost — стоимость дополнительного миллиона строк
- history — период исторической загрузки данных
- id — идентификатор тарифного плана
- is_vip — признак персонального тарифа
- name — название
- projects — количество проектов
- rows — количество строк
- stats — продолжительность хранения статистики
- trial — признак пробного тарифа
user_projects
Метод возвращает список идентификаторов проектов, доступных текущему пользователю, и уровень доступа к ним:
https://app.mybi.ru/api/v1/user_projects.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- id — идентификатор связи пользователя с проектом
- permission — уровень доступа пользователя
- project_id — идентификатор проекта
- rights — права доступа пользователя
- user_id — идентификатор пользователя
projects
Метод возвращает сведения по проектам, доступным текущему пользователю:
https://app.mybi.ru/api/v1/projects.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- balance — баланс проекта
- blocked — дата блокировки
- colour — цветовая схема
- created — дата создания
- dashboard_id — идентификатор дашборда
- dashboard_type — тип дашборда
- database_id — идентификатор базы данных
- db_cost — стоимость базы данных
- delete_status — статус удаления
- id — идентификатор проекта
- ip_addresses — IP-адреса
- last_payday — дата последнего списания за БД
- name — название
- paid — признак платного проекта
- priority — приоритет обработки проекта
- queue_name — название очереди для обработки
- shared_balance — признак использования баланса пользователя
- source_cost — стоимость источника данных
- state — состояние
- timezone — часовой пояс владельца
- trial_period — продолжительность пробного периода
accounts
Метод возвращает сведения по всем источникам данных, настроенным в проектах, доступных пользователю:
https://app.mybi.ru/api/v1/accounts.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- attributes — дополнительные параметры
- caption — название
- created — дата создания
- delete_status — статус удаления
- id — идентификатор источника данных
- last_date — дата последней загрузки
- load_status — статус последней загрузки
- login — логин
- period_limit — максимальный период загрузки
- project_id — идентификатор проекта
- service_id — идентификатор коннектора
- state — состояние
- supreme_id — идентификатора подключенного аккаунта
processors
Метод возвращает сведения по всем заданиям, настроенным в проектах, доступных пользователю:
https://app.mybi.ru/api/v1/processors.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- attributes — дополнительные параметры
- caption — название
- created — дата создания
- delete_status — статус удаления
- execute_status — статус последнего выполнения
- id — идентификатор задания
- last_date — дата последнего выполнения
- project_id — идентификатор проекта
- refresh_interval — периодичность выполнения
- service_id — идентификатор обработчика
- state — состояние
transfers
Метод возвращает основные сведения по загрузкам:
https://app.mybi.ru/api/v1/transfers.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- account_id — идентификатор источника данных
- duration — продолжительность загрузки
- id — идентификатор загрузки
- interval_end — дата окончания интервала
- interval_start — дата начала интервала
- is_refresh — признак обновления данных
- job_id — идентификатор задания
- project_id — идентификатор проекта
- retries — количество попыток
- rows_deleted — строк удалено
- rows_inserted — строк добавлено
- rows_updated — строк обновлено
- state — статус
- task_finished — дата завершения
- task_received — дата получения
- task_started — дата запуска
- transfer_type — тип загрузки
transfer_details
Метод возвращает расширенные сведения по успешным загрузкам:
https://app.mybi.ru/api/v1/transfer_details.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- id — идентификатор записи
- rows_deleted — строк удалено
- rows_inserted — строк добавлено
- rows_updated — строк обновлено
- table_name — название таблицы
- transfer_id — идентификатор загрузки
payments
Метод позволяет получить сведения по оплатам пользователя – как по успешно проведенным, так и запланированным, но не завершенным:
https://app.mybi.ru/api/v1/payments.get.json?api_key={Ключ API}
Необходимо учитывать, что сервис фиксирует только пополнения счета, которые были проведены с карт. Оплаты по счетам для юр. лиц данный метод не позволяет получить.
Ответ сервера:
Описание полей:
- amount — сумма
- billed — дата выставления счета
- id — идентификатор оплаты
- project_id — идентификатор проекта
- succeeded — признак успешной оплаты
- user_id — идентификатор пользователя
purchases
Метод возвращает сведения по списаниям денежных средств с баланса пользователя в счет оплаты тарифа, как ежемесячным, так и дополнительным для приобретения дополнительного миллиона строк для обработки данных:
https://app.mybi.ru/api/v1/purchases.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- amount — сумма
- charged — дата списания
- id — идентификатор списания
- plan_id — идентификатор тарифного плана
- reason — причина списания
- user_id — идентификатор пользователя
expenses
Метод возвращает сведения по списаниям денежных средств с баланса пользователя в счет оплаты базы данных:
https://app.mybi.ru/api/v1/expenses.get.json?api_key={Ключ API}
Ответ сервера:
Описание полей:
- charged — дата списания
- cost — сумма
- duration — время, за которое было списание
- id — идентификатор списания
- linked_entity — тип сущности
- linked_entity_id — идентификатор сущности
- project_id — идентификатор проекта