Интеграция со сторонними приложениями

Блиц Бюджет для Android можно интегрировать с другими приложениями. Например, можно совместить приложение с голосовым ассистентом и просто надиктовывать операции или автоматизировать создание или заполнение новых операций при помощи приложения Tasker.

Создание операций из текстовой строки

Чтобы создать новую операцию в Блиц Бюджет для Android достаточно отправить широковещательный интент. Получив такой интент, приложение проанализирует сообщение и создаст новую операцию по алгоритму, аналогичному распознавания SMS и push-уведомлений.

Параметры интента:

Class = biz.interblitz.intent.CONVERT_TEXT_TO_NEW_TRANSACTION

Extras:

  1. timestampMillis: Тип long, дата и время новой операции в миллисекундах. Значение может быть не указано, тогда используются текущие дата и время.

  2. address: Тип String, адресат сообщения, может быть не указан.

  3. message: Тип String, текстовое сообщение, из которого приложение создаст новую операцию. Сообщение по своей структуре должно быть аналогично SMS. Обязательный параметр.

REST API

Блиц Бюджет для Android поддерживает REST API. API позволяет создавать новые объекты, справочники и операции, а также редактировать и удалять существующие. Используя API можно создавать свои дополнения и приложения.

Для работы с REST API и просмотра документации необходимо включить удаленный доступ, см. Удаленный доступ. Документация к API доступна через Swagger. После загрузки страницы в адресной строке Swagger укажите http://[server]:[port]/api/v1/docs.json. В качестве сервера (server) и порта (port) необходимо указать значения, которые выводятся при включении удаленного доступа.

Примеры приложений можно посмотреть на github.com. В примерах также нужно указать адрес к Блиц Бюджет для Android в виде http://[server]:[port].

Intents API

Помимо простого API для создания операций из текста Блиц Бюджет для Android предоставляет расширенный Intents API. Intents API состоит из двух частей, событий и запросов данных,.и построен на базе REST API. По умолчанию Intents API выключен. В настройках можно указать, какая часть API должна быть включена.

Intents API: Часть 1, События

События возникают при записи элементов справочников и операций. При возникновении события Блиц Бюджет для Android отправляет интент тем пакетам, которые указаны в настройках. В интенте передается:

Action = {biz.interblitz.budget{free/pro}.api.event.ITEM_ONCHANGE

Extras:

  1. collection - наименование коллекции, для которой произошло событие

  2. id - идентификатор объекта, для которого произошло событие

При импорте уведомлений в Extras дополнительно передаются

  1. notification - текст уведомления

  2. address - адрес уведомления (номер телефона или наименование пакета)

  3. amount - сумма операции

  4. currency - валюта операции

Для получения дополнительных данных, которых нет в интенте, следует отправить запрос.

Intents API: Часть 2, Запросы

Для запроса данных следует отправить Intent:

Class = biz.interblitz.service.ApiReceiver

Action = {biz.interblitz.budget{free/pro}.api.request

Extras:

  1. method - одно из значений: GET, POST, DELETE

  2. path - путь к данным

  3. body - данные в формате JSON

  4. package - полное имя пакета, которому следует вернуть ответ, если не указано - ответ не будет возвращен

  5. class - класс пакета, которые примет ответ, можно не указывать.

Также в Extras можно указать любые дополнительные данные. Все заданные в запросе данные Extras вернутся обратно в ответе.

В ответ на запрос отправляется Intent:

Action = {biz.interblitz.budget{free/pro}.api.response

Extras:

  1. collection - наименование коллекции, для которой отправляется ответ

  2. response - ответ в формате JSON

Параметры method, path, body, collection, response соответствуют REST API. Документация к ним доступна через Swagger. Подробней см. REST API.