1 API EasyFinance.ru – система управления личными финансами онлайн. Руководство разработчика. 15.11.2013 API EasyFinance.ru Руководство разработчика 2 API EasyFinance.ru. Руководство разработчика. Версия 1.0 Дата сборки документа: 15.11.2013. API EasyFinance.ru Руководство разработчика 3 Содержание 1 Введение.................................................................................................................................................5 2 Начало работы .......................................................................................................................................5 2.1 Работа с API для стандартных приложений ................................................................................5 2.2 Работа с API для партнерских приложений .................................................................................6 2.3 Авторизация приложения с помощью OAuth-токена .................................................................6 4 OAuth аутентификация ........................................................................................................................7 5 Первая синхронизация ........................................................................................................................12 6 Online-синхронизация.........................................................................................................................12 7 Offline-синхронизация ........................................................................................................................12 8 Разрыв соединения ..............................................................................................................................12 9 Использование ключа транзакции ....................................................................................................13 10 Запросы к API ....................................................................................................................................13 11 Авторизация запроса .........................................................................................................................15 12 Подпись запроса ................................................................................................................................15 12.1 Пример расчета sig: ....................................................................................................................16 13 Принцип последнего изменения ......................................................................................................17 14 Работа с данными пользователя.......................................................................................................17 15 Регистрация пользователя ...............................................................................................................17 15.1 Регистрация для партнерских приложений .............................................................................18 16 Получение всех данных пользователя (полная синхронизация) ..................................................18 17 Получение основной информации пользователя ...........................................................................19 17.1 Получение основной информации ...........................................................................................20 18 Работа со счетами..............................................................................................................................20 18.1 Получение счетов .......................................................................................................................20 18.2 Добавление счета .......................................................................................................................21 18.3 Изменение счета .........................................................................................................................22 18.4 Удаление счета ............................................................................................................................22 19 Работа с операциями .........................................................................................................................24 19.1 Получение операций ..................................................................................................................24 19.2 Добавление операции ................................................................................................................24 19.3 Изменение операции ..................................................................................................................25 19.4 Удаление операции.....................................................................................................................26 20 Работа с категориями ........................................................................................................................28 20.1 Получение категорий .................................................................................................................28 20.2 Добавление категорий................................................................................................................28 20.3 Изменение категории .................................................................................................................29 20.4 Удаление категории ....................................................................................................................30 21 Работа с шаблонами операций .........................................................................................................31 21.1 Получение шаблон операций ....................................................................................................31 21.2 Добавление шаблонов операций ..............................................................................................31 21.3 Изменение шаблона операции ..................................................................................................32 21.4 Удаление шаблона операции .....................................................................................................33 22 Работа с бюджетом ............................................................................................................................34 22.1 Получение бюджета ...................................................................................................................34 23 Работа с тегами ..................................................................................................................................34 23.1 Получение тегов .........................................................................................................................34 24 Работа с системными валютами ......................................................................................................35 API EasyFinance.ru Руководство разработчика 4 24.1 Получение системных валют ....................................................................................................35 25 Работа с системными категориями ..................................................................................................35 25.1 Получение системных категорий .............................................................................................36 26 Методы обращения к API .................................................................................................................37 26.1 Пользователь...............................................................................................................................37 26.2 Счета ............................................................................................................................................41 26.3 Операции.....................................................................................................................................48 26.4 Категории ....................................................................................................................................57 26.5 Шаблоны операций ....................................................................................................................65 26.6 Теги ..............................................................................................................................................73 26.7 Бюджет ........................................................................................................................................75 26.8 Системные валюты ....................................................................................................................76 26.9 Системные категории ................................................................................................................78 27.1 Список ошибок ...........................................................................................................................80 27.2 Оплата тарифа. ...........................................................................................................................82 API EasyFinance.ru Руководство разработчика 5 1 Введение API EasyFinance.ru — это сервис, предоставляющий интерфейс программного обращения к системе EasyFinance.ru. Посредством API доступны регистрация пользователей и управление данными, как новых пользователей, так и тех, которые уже имеют учетные записи на EasyFinance.ru. Документация API описывает использование методов для обращения к EasyFinance.ru и содержит примеры вызовов API. Документация предназначена для разработчиков приложений, использующих EasyFinance.ru. 2 Начало работы API EasyFinance.ru доступен по адресу https://api.easyfinance.ru/v2/. Соединение должно производиться по протоколу HTTPS (порт 443). Для доступа к данным какого-либо пользователя приложение должно быть авторизовано посредством OAuth-токена. API EasyFinance.ru позволяет работает с json форматами данных. По умолчанию API принимает\ возвращает данные в формате json. Чтобы изменить формат, следует указать нужный формат в соответствии с документацией поля format. Все даты и время принимаются и отдаются в соответствии со стандартом iso8601. Пример: 2011-09-21T18:55:30+04:00. 2.1 Работа с API для стандартных приложений Для работы с API EasyFinance.ru приложение должно быть зарегистрировано на сервисе EasyFinance.ru и привязано к существующей учетной записи. После регистрации приложению будут выданы уникальные идентификаторы, которые будут использованы для осуществления запросов к API. Все запросы к API проходят OAuth-авторизацию, поэтому для обращения к методам работы с данными которые предоставляет API, приложение должно получить access_token. API EasyFinance.ru Руководство разработчика 6 2.2 Работа с API для партнерских приложений Для партнеров EasyFinance.ru предлагается упрощенная система работы с методами API. Партнерским приложениям будут выданы уникальные идентификаторы и access_token, при помощи которых, приложение сможет сразу, напрямую, обращаться к методам работы с данными, которые предоставляет API EasyFinance.ru. 2.3 Авторизация приложения с помощью OAuth-токена Приложения могут получать доступ к данным пользователей при помощи OAuth-токенов. Каждый токен предоставляет определенному приложению доступ к данным определенного пользователя. Чтобы обращаться к методам API EasyFinance.ru по протоколу OAuth, разработчик должен зарегистрироваться в системе EasyFinance.ru https://easyfinance.ru/registration/, а затем зарегестрировать свое приложение https://easyfinance.ru/my/register-app/. После регистрации приложение сможет получать OAuth-токены для доступа к данным пользователей. Получить OAuth-токен можно путем запроса разрешение пользователя. Токен остается действительным только опеределенное время, которое указывается в параметре expires_in. expires_in – параметр возвращаемый вместе с access_token, который показывает какое время access_token будет валидным в миллисекундах. Если в expires_in вернулся «all_time», то access_token будет валидным всегда. Полученный токен следует передавать в access_token при каждом запросе к API. Пример такого запроса: "access_token=h783fg30f73gf8f3g487f47fg47f" Получение и использование OAuth-токенов подробно описано в пункте «OAuth авторизация». 3 Регистрация приложения Чтобы начать работу с методами API EasyFinance.ru необходимо зарегистрировать приложение. Регистрация новых приложений доступна только тем пользователям, которые имеют учетную запись в системе EasyFinance.ru. После регистрации, приложение будет привязано к учетной записи пользователя. Зарегистрированному приложению будут выданы: API EasyFinance.ru Руководство разработчика 7 app_id — уникальный идентификатор приложения, по которому будет осуществлена аутентификация стороннего приложения. Выдается при регистрации приложения, можно посмотреть в настройках учетной записи сервиса EasyFinance.ru secret_key — защищенный ключ приложения, который будет использован для генерации цифровой подписи запроса. *ВНИМАНИЕ secret_key знаете только вы и API EasyFinance.ru. Поэтому никогда не раскрывайте его третьим лицам. Данные приложения будут доступны пользователю в настройках учетной записи EasyFinance.ru. После регистрации приложения, разработчик может осуществлять запросы к методам API EasyFinance.ru в соответсвии с требованиями OAuth аутентификации. API EasyFinance.ru Руководство разработчика 8 4 OAuth аутентификация Авторизация реализована на основе протокола Oauth 2.0. Все запросы осуществляются на URL API EasyFinance.ru — https://api.easyfinance.ru/v2/. Для авторизации вам необходимы такие параметры: Параметр app_id Описание идентификатор приложения, который вы получаете при регистрации приложения. access_token маркер доступа, который идентифицирует сеанс приложения. Рисунок 1.1 Алгоритм получения access_token. API EasyFinance.ru Руководство разработчика 9 Алгоритм получения access_token пошагово описан ниже: Шаг(1) Приложение должно отправить запрос на url API EasyFinance.ru(https://api.easyfinance.ru/v2/) для получения request_token(временный маркер доступа). Запрос должен содержать: Параметр app_id Описание Идентификатор приложения, который вы получаете при регистрации приложения response_type Параметр, который отвечает за тип ответа сервера. Для получения request_token, в значении параметра следует передавать «code» sig Подпись запроса. Подробное описание формирвания подписи описано в пункте 12 Подпись запроса. Пример app_id=fh97fg9gf7g47fg47gf response_type=code sig=fh28hfh28328hf92h398fh28h (результат шифрования параметра secret_key и getпараметров запроса). Описан в пункте 12 Подпись запроса. Таблица. Параметры для получения request_token. Пример запроса: https://api.easyfinance.ru/v2/?app_id=gfgf6g34&response_type=code&sig=*подпись* Шаг(2) Если переданные данные правильные, приложению необходимо получить разрешение пользователя на использование его данных. Для этого API EasyFinance.ru осуществит редирект на страницу подтверждения (https://easyfinance.ru/my/access-permission). Приложение должно перехватить редирект и открыть его в браузере приложения. Шаг(3) На странице подтверждения пользователю будет предложено разрешить приложению использовать его данные или отказать. Для того, чтобы приложение могло дальше продолжить работу с API EasyFinance.ru, пользователь должен разрешить приложению использовать его данные. Если пользователь разрешает, API генерирует request_token, в случае отказа API возвращает ошибку «access_denied». Шаг(4) В случае, когда пользователь дает разрешение приложению на использование его API EasyFinance.ru Руководство разработчика 10 данных, сервер API генерирует request_token и осуществляет редирект на страницу результата. В GET-параметрах будет передано значение request_token в параметре «code» Пример ответа сервера: пользователь разрешил доступ https://api.easyfinance.ru/v2/result?code=d91df47db90104cd9856e0654ab76fae Если пользователь отказал в доступе, то сервер осуществит редирект на страницу результата(https://api.easyfinance.ru/v2/result) и вернет параметр «access_denied». Пример ответа сервера: пользователь запретил доступ https://api.easyfinance.ru/v2/result?access_denied Шаг(5) После получения request_token приложение должно получить access_token. Для этого необходимо отправить запрос на API EasyFinance.ru с такими параметрами: Параметр app_id Описание Пример Идентификатор приложения, app_id=fh97fg9gf7g47fg47gf который вы получаете при регистрации приложения code Параметр, в значении которого code=fh934hfhf7h43f73h7ff следует указывать request_token, который должен быть получен на шаге (4) grant_type Идентификатор типа запроса, для grant_type= authorization_code получения access_token значения данного параметра следует указывать как «authorization_code» Таблица. Параметры запроса на получение access_token. Пример запроса на получение access_token: https://api.easyfinance.ru/v2/?app_id=*идентификатор приложения*&code=d91df47db90104cd9856e0654ab76fae&grant_type=authorizatio n_code&response_type=token&sig=*подпись* Шаг(6) API сгенерирует access_token и осуществит редирект на страницу результата, в GET параметрах которого будет указано значение access_token и время его действия (параметр expires_in). API EasyFinance.ru Руководство разработчика 11 Пример ответа сервера: https://api.easyfinance.ru/v2/result?access_token=fd32accf7e8e716399a25fc3d5318d28 &expires_in=3600 API EasyFinance.ru Руководство разработчика 12 Шаг(7) После получения access_token, приложению следует сохранить его значение и передавать access_token при каждом обращение к методам работы с данными, которые предоставляет API EasyFinance.ru. Для каждого пользователя выдается свой access_token, который является идентификатором сессии пользователя. Пример получения данных пользователя: https://api.easyfinance.ru/v2/?method=users.get&app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa&&sig=hf94fh943fh349hf934hf93 4hf943hf34&sig=*подпись* API EasyFinance.ru Руководство разработчика 13 5 Первая синхронизация Первая синхронизация осуществляется при первом запуске приложения пользователем. Первую синхронизацию можно осуществить двумя способами: 1) Получить все данные пользователя поэтапно, обращаясь к соответствующим методам (Получение данных пользователя, Получение счетов, Получение операций, Получение категорий, Получение шаблонов операций, Получение тегов, Получение бюджета) 2) Получить все данные пользователя одним запросом. Но в этом случае, API вернет определенный срез данных (период за две недели до даты синхронизации и на две недели вперед) по операциям пользователя. 6 Online-синхронизация Online-синхронизация осуществляется путем отправки новых \ измененных приложением на сервер API, после каждого действия пользователя. данных Например, если пользователь изменяем название счета, то приложение должно отправить POST-запрос на изменение имени счета, в теле которого будут содержаться новые данные счета. Для этого следует использовать способы синхронизации, описанные отдельно для каждой сущности данных. 7 Offline-синхронизация Offline-синхронизация проводится путем отправки на сервер API данных, которые были изменены пользователем со времени последней синхронизации с сервером. 8 Разрыв соединения При отправке данных на сервер, может возникнуть разрыв соединения (пропажа интернет соединения, выключение устройства на котором установлено приложение и т.д.), для предотвращения потери данных и корректной синхронизации мы предлагаем использовать ключ транзакции. API EasyFinance.ru Руководство разработчика 14 9 Использование ключа транзакции Ключ транзакции(transact_key) – уникальный идентификатор запроса к серверу API EasyFinance.ru, с помощью которого можно получить ответ от сервера, даже в случае разрыва соединения, в любой момент времени. Для мобильных приложений предлагаем использовать в качестве значения ключа результат хеширования алгоритмом MD5 серийного номера устройства и временной метки. transact_key следует передавать в параметрах запроса к POST-методам на изменение \ добавление данных. Пример: https://api.easyfinance.ru/v2/?method=accounts.set&app_id=423004&access_token=be6ef899 65d58e56dec21acb9b62bdaa&transact_key=jfb93bbjkrb9hgf98g3f9gf9g39gf93g sig=hf94fh943fh349hf934hf934hf943hf34 В случае разрыва соединения с сервером, приложение должно послать аналогичный запросу, (результат которого приложение не получило) запрос на сервер, с тем же transact_key, сервер сопоставит transact_key и вернет нужный результат. Сервер API может вернуть два результат: 1) Результат запроса. 2) Ошибку, в которой будет указано, что еще не закончена синхронизация, в этом случае приложению следует посылать запросы до тех пор, пока сервер не закончит синхронизацию. Если к моменту следующей синхронизации (при появлении возможности синхронизации), пользователь внесет новые изменения, то в таком случае на сервер следует сначала передавать блок старых (запрос, при котором оборвалось соединение с сервером) изменений, а затем блок новых изменений. 10 Запросы к API В каждом запросе должен присутствовать набор обязательных параметров. Также, для каждой функции, в ее документации, определены дополнительные параметры, нужные только для этой функции. Текстовые значения параметров должны быть переданы в кодировке UTF-8. Одинаковые для всех функций параметры перечислены ниже. Имя Тип Описание method string название вызываемого метода, например, users.getInfo; да обязательный параметр app_id int идентификатор приложения; обязательный параметр API EasyFinance.ru Обязател ьное да Руководство разработчика 15 sig string access_token string подпись запроса; обязательный параметр да уникальный идентификатор подключения к API; да действует только определенное время. redirect_uri string(url) Url-адрес на который будет происходить редирект от нет сервера, который нужно будет перехватить. В случае мобильных приложений редирект будет происходить на стандартную, заданную страницу сервера. from datetime Дата и время, с которых нужно взять данные. По нет умолчанию, если не задано to, будут взяты все данные до настоящего времени. Данная опция может работать не у всех методов, смотрите документацию для методов. to datetime Дата и время, до которых нужно взять данные. По нет умолчанию, если не задан from, будут взяты все данные до указанного времени. Данная опция может работать не у всех методов, смотрите документацию для методов. interval_field string Поле, по которому будут взяты временные рамки. нет Принимает updated_at,created_at,deleated_at,date. По умолчанию, берет updated_at. Данная опция может работать не у всех методов, смотрите документацию для методов. updated_at – выборка по дате изменения. created_at – выборка по дате создания. deleated_at – выборка по дате удаления. date – выборка по полю даты(например, дата операции). limit Возвращения определенного среза данных. Значения, нет перечисленные через запятую, где первое – значение начала среза, второе – количество записей. string transact_key string Ключ транзакции. Смотреть пункт «Использование нет, ключа транзакции» рекоменд уемый для POSTзапросов Порядок следования параметров в запросе имеет значения только при расчете подписи. Идентификатор приложения app_id уникален для каждого приложения или пользователя и его можно узнать в настройках учетной записи. API EasyFinance.ru Руководство разработчика 16 11 Авторизация запроса Токен доступа (access_token) отвечает за авторизацию, то есть, от лица какого пользователя происходит запрос. Он формируется при первом сеансе работы пользователя и передается в приложение. Значение access_token возвращается в ответ на запрос авторизации к API. После получения access_token, внешняя система может передать это значение на сервер, чтобы осуществлять вызовы функций API от лица текущего пользователя. 12 Подпись запроса Чтобы удостовериться, что запрос отправлен действительно приложением\пользователем, а не злоумышленниками от лица приложения\пользователя, все запросы к API должны быть подписаны. К каждому запросу должен быть передан параметр sig, в значение которого будет указана цифровая подпись. Сервер API проверяет цифровую подпись и если она правильная, продолжает дальше работу с запросом. Подпись рассчитывается посредством хеширование параметров запроса алгоритмом md5. Имя uid Описание Идентификатор(ID) пользователя системы EasyFinance.ru. Идентификатор можно получить при помощи запроса users.get. При получении access_token идентификатор отсутствует, но для последующих запросов он является обязательным для расчета sig. secret_key Защищенный ключ приложения, который приложение получает при регистрации. Его значение можно узнать в настройках учетной записи. params URL-строка которая содержит API EasyFinance.ru Пример 46477354 hf7487g4f8g348fg8 Запрос на получение access_token: Руководство разработчика 17 параметры запроса. Для каждого запроса она будет различаться в соответствии с передаваемыми параметрами запроса. app_id=3123742374234&response_type=code Запрос на получение счетов: method=accounts.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62 bda Таблица. Параметры для расчета sig(цифровой подписи). 12.1 Пример расчета sig: Общая формула расчета: sig=md5(secret_key.uid*.params) *uid – передается, если запрос требует его использование Пример: Запрос на получение счетов пользователя: https://api.easyfinance.ru/v2/?method=accounts.get&app_id=423004&access_token=be6ef899 65d58e56dec21acb9b62bda Параметр sig не указан и API EasyFinance.ru вернет ошибку. Следует добавить sig. Находим параметры sig, для данного запроса: Из URL мы получаем params : method=accounts.get&app_id=423004&access_token=be6ef89965d58e56dec21acb9b62bda Находим идентификатор пользователя: uid =46732644 Из настроек учетной записи получаем secret_key: secret_key=hf78g6f6gf6467f7f77ff7f7f77f Таким образом, формула расчета подписи будет выглядеть так: sig=md5(hf78g6f6gf6467f7f77ff7f7f77f46732644method=accounts.get&app_id=423004&ac cess_token=be6ef89965d58e56dec21acb9b62bd) В результате выполнения алгоритма хеширование MD5 мы получаем: sig=b9cc2e5c047d54e96c74adbfa8d43abe API EasyFinance.ru Руководство разработчика 18 После расчета цифровой подписи, URL-запрос на получение счетов должен выглядеть так: https://api.easyfinance.ru/v2/?method=accounts.get&app_id=423004&access_token=be6ef899 65d58e56dec21acb9b62bda&sig= b9cc2e5c047d54e96c74adbfa8d43abe 13 Принцип последнего изменения Все изменения данных в API EasyFinance.ru происходят в соответствие с последним изменением. Время изменения отражает в поле updated_at, которое есть у каждого (кроме тегов) объекта, который изменяется. Сервер смотрит соответствие updated_at пришедших данных с приложения и данных, которые уже находятся на сервере, приоритетными становятся данные, у которых updated_at больше. Соответственно, если пользователь делал изменения в приложение, но не синхронизировался потом (приложение не отправляло данные на изменение), а потом сделал аналогичные изменения на сервисе EasyFinance.ru, то при последующей синхронизации (отправке измененных данных на сервер приложением), приоритетными будут данные, которые находят на сервере. 14 Работа с данными пользователя Функции, которые предоставляет API EasyFinance.ru позволяют осуществлять работу с данными пользователей. Ниже перечислены все функции: Регистрация нового пользователя Получение всех данных пользователя (полная синхронизация) Получение основной информации пользователя Добавление\редактирование\удаление операций. Добавление\редактирование\удаление счетов. Добавление\редактирование\удаление категорий. Добавление\редактирование\удаление шаблонов операций. Добавление\редактирование\удаление тегов. Получение бюджета. Получение системных категорий. Получение системных валют. API EasyFinance.ru Руководство разработчика 19 15 Регистрация пользователя Для работы в системе EasyFinance.ru, пользователь должен иметь учетную запись. Создать учетную запись можно посредством API, с помощью метода users.post. Посредством HTTP-метода POST, должен быть отправлен запрос на API EasyFinance.ru. В URL запросе должны быть переданы стандартные параметры и подпись запроса, а в качестве метода должен быть указан users.post(method=users.post). В теле запроса должны быть переданы обязательные данные для регистрации пользователя. Так же возможно передавать остальные данные, смотрите список полей в документации к методу users.post. Имя login password name mail Тип Описание string Логин пользователя, который будет использован в дальнейшем для авторизации в системе string Пароль пользователя, который будет использован в дальнейшем для авторизации в системе string Имя пользователя string Электронная почта пользователя. Таблица. Данные для регистрации пользователя. 15.1 Регистрация для партнерских приложений В случае, если партнерское приложение получает разрешение пользователя на использование его данных на свое стороне, при регистрации нового пользователя в ситеме EasyFinance.ru посредством API, можно получить access_token пользователя в ответе сервера после регистрации. Включение режима получения access_token при регистрации оговаривается отдельно для каждого приложения и по умолчанию данный режим не доступен. Если режим получения access_token при регистрации включен, то после регистрации пользователя, сервер вернет ответ в соответствии с документацией метода users.post и добавит в ответ параметер access_token для пользователя, значение которого следует использовать при последующих запросов к API для этого пользователя. Подробнее про access_token можно прочитать в пункте «Авторизация запроса». 16 Получение всех синхронизация) API EasyFinance.ru данных пользователя (полная Руководство разработчика 20 API EasyFinance.ru позволяет работать с такими типами данных: операции, счета, категории, шаблоны операций, валюты, теги, бюджет пользователя. Получить любой из типов данных можно (непосредственно) специальным запросом для этого типа данных (смотрите запрос получения данных), либо запросом на выборку всех данных пользователя. Запрос на получение всех данных пользователя имеет свои ограничения. За один запрос можно получить данные по операциям только за определенный интервал(14 дней до запроса и 14 дней после запроса). Так же следует учитывать, что у пользователя может быть большой объем данных и время возвращения результата запроса может занять определенное время. Поэтому, мы рекомендуем использовать для каждого типа данных свой запрос на получение информации. Для получения всех данных пользователя, используя специальные запросы для каждого типа данных, следует изучить документацию по каждому методу, составить URL запрос и отправить его посредством HTTP-метода GET на адрес API EasyFinance.ru. Например, для получения операций пользователя, следует отправлять такой запрос: https://api.easyfinance.ru/v2/?method=operations.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет все операции пользователя в формате json. Пример данных возвращаемых сервером. Что бы получить все данные пользователя одним запросом, следует изучить метод users.get. Обратите внимание на параметр fields, он является ключевым. Именно в значении этого параметра следует указывать те типа данных, которые сервер должен вернуть. Например, для получения счетов, операций и категорий, с помощью запроса users.get, fields должен выглядеть так: fields=operations,accounts,categories Для получения всех данных следует сформировать URL-запрос в соответствии с требованиями API EasyFinance.ru, а в значении method указать users.get и отправить сформированный запрос посредством HTTP-метода GET на адрес API EasyFinance.ru. Пример запроса, на получения всех данных: https://api.easyfinance.ru/v2/?method=users.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&fields= user_id,name,login,mail,account_type,currency_list,currency_default,service_mail,tariff_durati on,accounts,operations,categories,patterns,tags,budget&sig=*цифровя подпись* Сервер вернет все данные пользователя в формате json. Пример данных возвращаемых API EasyFinance.ru Руководство разработчика 21 сервером. 17 Получение основной информации пользователя API EasyFinance.ru позволяет осуществлять работу (получать) основную информацию пользователя. К основной информации относятся: идентификатор пользователя, имя, логин, электронная почта, тип учетной записи, список валют пользователя, валюта по умолчанию, системная почта пользователя, время окончания тарифа. 17.1 Получение основной информации Получение основной информации осуществляется при помощи метода users.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все поля информации о пользователе, либо определенные поля (смотреть документацию к параметру fields). На сервисе EasyFinance.ru существует тарифная система, у каждого тарифа есть свои возможности. Изучите тарифную сетку https://easyfinance.ru/my/profile/# . Для информирования пользователя об окончании тарифа, в объекте пользователя есть поле tariff_daration – дата окончания тарифа. Посмотрите внимательно, как должно себя вести приложение, когда тариф пользователя заканчивается. Описание доступно в пункте Оплата тарифа. Пример URL-запроса на получение основной информации пользователя: https://api.easyfinance.ru/v2/?method=users.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект основной информации пользователя, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 18 Работа со счетами API EasyFinance.ru позволяет осуществлять работу (получать, создавать, редактировать, удалять) со счетами пользователя. 18.1 Получение счетов API EasyFinance.ru Руководство разработчика 22 Получение счетов осуществляется при помощи метода accounts.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все счета, либо определенное количество счетов, указывая идентификаторы нужных счетов (смотреть документацию к параметру account_list). Для счетов можно получить начальный баланс и текущий баналс. Для получения этих данных необходимо изучить документацию по методу и передать через запятую в параметре fields – init_balance и balance. Пример формирования параметра fields для получения начального и текущего баланса. fields=init_balance,balance. Пример URL-запроса на получение счетов: https://api.easyfinance.ru/v2/?method=accounts.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*& fields=init_balance,balancesig=*цифровя подпись* Сервер вернет сформированный объект счета, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 18.2 Добавление счета Добавление счетов осуществляется при помощи метода accounts.post. В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект нового счета, в соответствии с документацией метода accounts.post. Объект счета имеет обязательные и не обязательные параметры (смотрите документацию метода accounts.post). Одним запросом можно добавить любое количество счетов. Изучите документацию метода accounts.post для правильного формирования тела запроса. Для идентификации счета приложения, следует для каждого счета передавать client_id(идентификатор счета приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора счета сервера. Пример URL-запроса на добавление счета: API EasyFinance.ru Руководство разработчика 23 https://api.easyfinance.ru/v2/?method=accounts.post&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект нового счета с указанным id(идентификатором счета на сервере) и client_id(идентификатор счета на приложения). Далее новый счет можно будет получить по идентификатору, при помощи метода accounts.get(смотрите параметр account_list). Пример возвращаемых данных. 18.3 Изменение счета Изменение данных счета осуществляется при помощи метода accounts.set В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект счета, который необходимо изменить, в соответствии с документацией метода accounts.set. Указывать следует уже измененные данные, сервер заменит все старые значения новыми. Все изменения осуществляются в соответствии с принципом последнего изменения. Объект счета имеет обязательные и не обязательные параметры (смотрите документацию метода accounts.set). Одним запросом можно изменить любое количество счетов. Изучите документацию метода accounts.set для правильного формирования тела запроса. Для идентификации счета приложения, следует для каждого счета передавать client_id(идентификатор счета приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора счета сервера. Пример URL-запроса на изменение счета: https://api.easyfinance.ru/v2/?method=accounts.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект измененного счета с указанным id(идентификатором счета на сервере) и client_id(идентификатор счета приложения). Пример возвращаемых данных. 18.4 Удаление счета Удаление счета осуществляется при помощи метода accounts.set. API EasyFinance.ru Руководство разработчика 24 Для удаления в теле удаляемого объекта значение поля deleted_at должно соответствовать времени удаления. Пример поля deleted_at: deleted_at=2012-12-12T00:57:58+0200 В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект счета, который необходимо удалить, в соответствии с документацией метода accounts.set. Все изменения осуществляются в соответствии с принципом последнего изменения. Одним запросом можно удалить любое количество счетов. Изучите документацию метода accounts.set для правильного формирования тела запроса. Для идентификации счета приложения, следует для каждого счета передавать client_id(идентификатор счета приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора счета сервера. Пример URL-запроса на удаление счета: https://api.easyfinance.ru/v2/?method=accounts.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект удаленного счета с указанным id(идентификатором счета на сервере) и client_id(идентификатор счета на приложения). Пример возвращаемых данных. API EasyFinance.ru Руководство разработчика 25 19 Работа с операциями API EasyFinance.ru позволяет осуществлять работу (получать, создавать, редактировать, удалять) с операциями пользователя. 19.1 Получение операций Получение операций осуществляется при помощи метода operations.get В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все операции, либо определенное количество операций, указывая идентификаторы нужных операций (смотреть документацию к параметру operation_list). Для операций можно получить начальный баланс и текущий баналс, при помощи этих значений можно эмулировать журнал операций сервиса EasyFinance.ru. Для получения этих данных необходимо изучить документацию по методу и передать через запятую в параметре options – init_balance и balance. Пример формирования параметра options для получения начального и текущего баланса. options=init_balance,balance. Пример URL-запроса на получение операций: https://api.easyfinance.ru/v2/?method=operations.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект операций, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 19.2 Добавление операции Добавление операций осуществляется при помощи метода operations.post. В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект новой операции, в соответствии с документацией метода operations.post. Объект операции имеет обязательные и не обязательные параметры (смотрите документацию метода operations.post). API EasyFinance.ru Руководство разработчика 26 Одним запросом можно добавит любое количество счетов. Изучите документацию метода operations.post для правильного формирования тела запроса. Для идентификации операции приложения, следует для каждого операции передавать client_id(идентификатор операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора операции сервера. ВНИМАНИЕ! При создании новой операции, тип категории операции должен соответствовать типу операции. Список категорий берется из категорий пользователя. У расходной операции должна быть – расходная категория, у доходной операции – доходная, у операции перевода – категория перевод (для категории перевод пользователь не выбирает категорию, ее приложение должно само добавлять, у блока операции перевода нет поля «Категории». Смотрите реализацию на сайте.) Пример URL-запроса на добавление операции: https://api.easyfinance.ru/v2/?method=operations.post&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект новой операции с указанным id(идентификатором операции на сервере) и client_id(идентификатор операции приложения). Далее новую операцию можно будет получить по идентификатору при помощи метода operations.get(смотрите параметр operation_list). Пример возвращаемых данных. 19.3 Изменение операции Изменение данных операции осуществляется при помощи метода operations.set В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект операции, который необходимо изменить, в соответствии с документацией метода operations.set. Указывать следует уже измененные данные, сервер заменит все старые значения новыми. Все изменения осуществляются в соответствии с принципом последнего изменения. Объект операции имеет обязательные и не обязательные параметры (смотрите документацию метода operations.set). Одним запросом можно изменить любое количество операций. Изучите документацию метода operations.set для правильного формирования тела запроса. Для идентификации операции приложения, следует для каждой операции передавать client_id(идентификатор операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора операции сервера. API EasyFinance.ru Руководство разработчика 27 ВНИМАНИЕ! При изменении операции, тип категории операции должен соответствовать типу операции. Список категорий берется из категорий пользователя. У расходной операции должна быть – расходная категория, у доходной операции – доходная, у операции перевода – категорию нельзя изменить. Пример URL-запроса на изменение операции: https://api.easyfinance.ru/v2/?method=operations.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект измененной операции с указанным id(идентификатором операции на сервере) и client_id(идентификатор операции приложения). Пример возвращаемых данных. 19.4 Удаление операции Удаление операции осуществляется при помощи метода operations.set. Для удаления в теле удаляемого объекта значение поля deleted_at должно соответствовать времени удаления. Пример поля deleted_at: deleted_at=2012-12-12T00:57:58+0200 В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект операции, который необходимо удалить, в соответствии с документацией метода operations.set. Все изменения осуществляются в соответствии с принципом последнего изменения. Одним запросом можно удалить любое количество операций. Изучите документацию метода operations.set для правильного формирования тела запроса. Для идентификации операции приложения, следует для каждой операции передавать client_id(идентификатор операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора операции сервера. Пример URL-запроса на удаление операции: https://api.easyfinance.ru/v2/?method=operations.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект удаленной операции с указанным API EasyFinance.ru Руководство разработчика 28 id(идентификатором приложения). операции на сервере) и client_id(идентификатор операции Пример возвращаемых данных. API EasyFinance.ru Руководство разработчика 29 20 Работа с категориями API EasyFinance.ru позволяет осуществлять работу (получать, создавать, редактировать, удалять) с категориями пользователя. 20.1 Получение категорий Получение категорий осуществляется при помощи метода categories.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все категории, либо определенное количество категорий, указывая идентификаторы нужных категорий (смотреть документацию к параметру category_list). Пример URL-запроса на получение категорий: https://api.easyfinance.ru/v2/?method=categories.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект категорий, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 20.2 Добавление категорий Добавление категорий осуществляется при помощи метода categories.post. В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект новой категории, в соответствии с документацией метода categories.post. Объект категорий имеет обязательные и не обязательные параметры (смотрите документацию метода categories.post). Одним запросом можно добавит любое количество категорий. Изучите документацию метода categories.post для правильного формирования тела запроса. Для идентификации категорий приложения, следует для каждой категории передавать client_id(идентификатор категории приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора категории сервера. API EasyFinance.ru Руководство разработчика 30 ВАЖНО! В системных категориях есть, категория «Перевод», ее следует добавлять как категорию всем операциям перевода. Но, данная категория имеет тип is_public=0, поэтому ее нельзя показывать пользователю. При создании новой категории системная категория должна соответствовать типу создаваемой категории. Если создается категория Расход(type=-1), то соответственно пользователь может системной выбрать только системные категории с типом Расход(type=-1). Пример URL-запроса на добавление категории: https://api.easyfinance.ru/v2/?method=categories.post&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект новой категории с указанным id(идентификатором категории на сервере) и client_id(идентификатор категории приложения). Далее новую категорию можно будет получить по идентификатору при помощи метода categories.get(смотрите параметр category_list). Пример возвращаемых данных. 20.3 Изменение категории Изменение данных категории осуществляется при помощи метода categories.set В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект категории, который необходимо изменить, в соответствии с документацией метода categories.set. Указывать следует уже измененные данные, сервер заменит все старые значения новыми. Все изменения осуществляются в соответствии с принципом последнего изменения. Объект категории имеет обязательные и не обязательные параметры (смотрите документацию метода categories.set). Одним запросом можно изменить любое количество категорий. Изучите документацию метода categories.set для правильного формирования тела запроса. Для идентификации категории приложения, следует для каждой категории передавать client_id(идентификатор категории приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора категории сервера. ВАЖНО! В системных категориях есть, категория «Перевод», ее следует добавлять как категорию всем операциям перевода. Но, данная категория имеет тип is_public=0, API EasyFinance.ru Руководство разработчика 31 поэтому ее нельзя показывать пользователю. При создании новой категории системная категория должна соответствовать типу создаваемой категории. Если создается категория Расход(type=-1), то соответственно пользователь может системной выбрать только системные категории с типом Расход(type=-1). Пример URL-запроса на изменение категории: https://api.easyfinance.ru/v2/?method=categories.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект измененной категории с указанным id(идентификатором категории на сервере) и client_id(идентификатор категории приложения). Пример возвращаемых данных. 20.4 Удаление категории Удаление категории осуществляется при помощи метода categories.set. Для удаления в теле удаляемого объекта значение поля deleted_at должно соответствовать времени удаления. Пример поля deleted_at: deleted_at=2012-12-12T00:57:58+0200 В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект категории, который необходимо удалить, в соответствии с документацией метода categories.set. Все изменения осуществляются в соответствии с принципом последнего изменения. Одним запросом можно удалить любое количество категорий. Изучите документацию метода categories.set для правильного формирования тела запроса. Для идентификации категории приложения, следует для каждой категории передавать client_id(идентификатор категории приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора категории сервера. Пример URL-запроса на удаление категории: https://api.easyfinance.ru/v2/?method=categories.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* API EasyFinance.ru Руководство разработчика 32 Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект удаленной категории с указанным id(идентификатором категории на сервере) и client_id(идентификатор категории приложения). Пример возвращаемых данных. 21 Работа с шаблонами операций API EasyFinance.ru, позволяет осуществлять работу (получать, создавать, редактировать, удалять) с шаблонам операций пользователя. Шаблоны операций объекты данных, которые доступны только для стороннего приложения. На сервисе EasyFinance.ru нет реализованного функционала шаблонов операций. 21.1 Получение шаблонов операций Получение шаблонов операций осуществляется при помощи метода operationPatterns.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все шаблоны операций, либо определенное количество шаблонов операций, указывая идентификаторы нужных шаблонов операций (смотреть документацию к параметру operation_pattern_list). Пример URL-запроса на получение шаблонов операций: https://api.easyfinance.ru/v2/?method=operationPatterns.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект шаблонов операций, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 21.2 Добавление шаблонов операций Добавление шаблонов operationPatterns.post. операций осуществляется при помощи метода В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект нового шаблона операции, в соответствии с документацией метода operationPatterns.post. API EasyFinance.ru Руководство разработчика 33 Объект шаблонов операций имеет обязательные и не обязательные параметры (смотрите документацию метода operationPatterns.post). Одним запросом можно добавит любое количество шаблонов операций. Изучите документацию метода operationPatterns.post для правильного формирования тела запроса. Для идентификации шаблонов операций приложения, следует для каждого шаблона операций передавать client_id(идентификатор шаблона операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора шаблона операции сервера. Пример URL-запроса на добавление шаблона операции: https://api.easyfinance.ru/v2/?method=operationPatterns.post&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект нового шаблона операции с указанным id(идентификатором шаблона операции на сервере) и client_id(идентификатор шаблона операции приложения). Далее новый шаблон операции можно будет получить по идентификатору при помощи метода operationPatterns.get(смотрите параметр operation_pattern_list). Пример возвращаемых данных. 21.3 Изменение шаблона операции Изменение данных operationPatterns.set. шаблона операции осуществляется при помощи метода В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект шаблона операции, который необходимо изменить, в соответствии с документацией метода operationPatterns.set. Указывать следует уже измененные данные, сервер заменит все старые значения новыми. Все изменения осуществляются в соответствии с принципом последнего изменения. Объект шаблона операции имеет обязательные и не обязательные параметры (смотрите документацию метода operationPatterns.set). Одним запросом можно изменить любое количество шаблонов операций. Изучите документацию метода operationPatterns.set для правильного формирования тела запроса. Для идентификации шаблона операции приложения, следует для каждого шаблона операции передавать client_id(идентификатор шаблона операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора шаблона операции сервера. Пример URL-запроса на изменение шаблона операции: API EasyFinance.ru Руководство разработчика 34 https://api.easyfinance.ru/v2/?method=operationPatterns.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект измененного шаблона операции с указанным id(идентификатором шаблона операции на сервере) и client_id(идентификатор шаблона операции приложения). Пример возвращаемых данных. 21.4 Удаление шаблона операции Удаление шаблона операции осуществляется при помощи метода operationPatterns.set. Для удаления в теле удаляемого объекта значение поля deleted_at должно соответствовать времени удаления. Пример поля deleted_at: deleted_at=2012-12-12T00:57:58+0200 В соответствии с документаций метода и требованиями API EasyFinance.ru формируется URL-запрос, который необходимо отправить посредством HTTP-метода POST на API EasyFinance.ru. В теле запроса следует указать объект шаблона операции, который необходимо удалить, в соответствии с документацией метода operationPatterns.set. Все изменения осуществляются в соответствии с принципом последнего изменения. Одним запросом можно удалить любое количество шаблонов операций. Изучите документацию метода operationPatterns.set для правильного формирования тела запроса. Для идентификации шаблона операции приложения, следует для каждого шаблона операции передавать client_id(идентификатор шаблона операции приложения). В ответе сервер вернет соответствие идентификатора приложения и идентификатора шаблона операции сервера. Пример URL-запроса на удаление шаблона операции: https://api.easyfinance.ru/v2/?method=operationPatterns.set&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный результат запроса, в соответствии с выбранным форматом данных, в котором будут содержаться объект удаленного шаблона операции с указанным id(идентификатором категории на сервере) и client_id(идентификатор категории на приложения). Пример возвращаемых данных. API EasyFinance.ru Руководство разработчика 35 22 Работа с бюджетом API EasyFinance.ru позволяет осуществлять работу (получать) с бюджетом пользователя. Бюджет объект данных, который отражает текущее финансовое состояние пользователя. Сервер возвращает два показателя: Запланированные затраты (поле planned) Текущие расходы (поле spent) 22.1 Получение бюджета Получение бюджета осуществляется при помощи метода budget.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. Пример URL-запроса на получение бюджета: https://api.easyfinance.ru/v2/?method=budget.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект бюджета, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 23 Работа с тегами API EasyFinance.ru позволяет осуществлять работу (получать) с тегами пользователя. 23.1 Получение тегов Получение тегов осуществляется при помощи метода tags.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все шаблоны операций, либо определенное количество шаблонов операций, указывая идентификаторы нужных шаблонов операций (смотреть документацию к параметру tag_list). API EasyFinance.ru Руководство разработчика 36 Пример URL-запроса на получение тегов: https://api.easyfinance.ru/v2/?method=tags.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект тегов, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 24 Работа с системными валютами API EasyFinance.ru позволяет осуществлять работу (получать) с системными валютами. 24.1 Получение системных валют Получение системных валют осуществляется при помощи метода currencies.get. В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все системные валюты, либо определенное количество системных валют, указывая идентификаторы нужных системных валют (смотреть документацию к параметру currency_list). Пример URL-запроса на получение системных валют: https://api.easyfinance.ru/v2/?method=currencies.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект системных валют, в соответствии с выбранным форматом данных. Пример возвращаемых данных. 25 Работа с системными категориями API EasyFinance.ru категориями. позволяет осуществлять работу (получать) с системными Системные категории неизменяемый объект, данные которого используются при создании категорий в приложении. Список системных категорий одинаковый для всех пользователей, и используется при создании новой категории. Каждая новая категория API EasyFinance.ru Руководство разработчика 37 должна иметь связь с системной категорией, учитывая соответствия типов категорий. Смотрите документацию метода systemCategories.get. 25.1 Получение системных категорий Получение системных systemCategories.get. категорий осуществляется при помощи метода В соответствии с документаций метода и требованиями API EasyFinance.ru формирует URL-запрос, который необходимо отправить посредством HTTP-метода GET на API EasyFinance.ru. API позволяет получать либо все системные категории, либо определенное количество системных категорий, указывая идентификаторы нужных системных категорий (смотреть документацию к параметру system_category_list). Пример URL-запроса на получение системных категорий: https://api.easyfinance.ru/v2/?method=systemCategories.get&app_id=*идентификатор приложения*&access_token=*токен доступа для приложения*&sig=*цифровя подпись* Сервер вернет сформированный объект системных категорий, в соответствии с выбранным форматом данных. Пример возвращаемых данных. API EasyFinance.ru Руководство разработчика 38 26 Методы обращения к API 26.1 Пользователь Представляет собой объект, в котором содержатся все данные пользователя системы Easyfinance.ru и методы для работы с данными. Поля объекта пользователь. Имя id name login mail account_type currency_list currency_default service_mail tariff_duration phone accounts operations category patterns tags budget Описание Идентификатор пользователя Имя пользователя Логин пользователя Электронная почта пользователя Тип учетной записи Сериализованная строка валют пользователя Валюта пользователя по умолчанию. Системная почта пользователя Дата истечения тарифа Телефон Массив счетов пользователя. Массив операций пользователя. Массив категорий пользователя. Массив шаблонов операций пользователя. Массив тегов пользователя. Информация о бюджете пользователя. users.get Метод возвращает информацию о текущем пользователе. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает только базовую информацию. Параметры запроса: Имя Тип Описание Обязательный fields string Список полей пользователя, которые необходимо вернуть. По умолчанию возвращаются все. Список полей. нет options string Опции для запроса. Принимает: deleted — возвращает удаленные записи. По умолчанию опции отключены. нет API EasyFinance.ru Руководство разработчика 39 Стандартый запрос на выборку данных пользователя Request url https://api.easyfinance.ru/v2/? method=users.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T10:22:58+0200" }, "response_data":{ "users":[ { "id":"47736089",//Идентификатор пользователя "name":"nickddi", //Имя пользователя "login":"nickddi", //Логи для авторизации на easyfinance.ru "mail":"nickdani.ua@gmail.com", //Почта пользователя "account_type":"man", //тип аккаунта пользователя "currency_list":"a:7:{i:0;s:1:\"1\";i:1;s:1:\"2\";i:2;s:1:\"3\" ;i:3;s:1:\"4\";i:4;s:1:\"6\";i:5;s:1:\"9\";i:6;s:2:\"30\";}", //Сериализованный массив валют пользователя "currency_default":"4", // Валюта пользователя по умолчанию "service_mail":"nickddi@mail.easyfinance.ru", //почта пользователя на easyfinance "phone":"+380(63)948-37-12",// телефон пользователя } ] } } } Запрос с использованием параметра fields Request url https://api.easyfinance.ru/v2/? method=users.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34&fields=id,tariff_duration Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T10:22:58+0200" }, "response_data":{ API EasyFinance.ru Руководство разработчика 40 "users":[ { "id":"47736089",//Идентификатор пользователя "tariff_duration": "2012-11-16T00:00:00+0200", // дата окончания тарифа } ] } } } users.post Регистрирует пользователя в системе. В теле запроса передаются регистрационные данные пользователя. В ответ сервер возвращает всю информацию о пользователе, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный options string Опции для запроса. Принимает: client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. нет Параметры тела запроса: Имя login Тип string password string name mail phone client_id string string string string API EasyFinance.ru Описание Логин пользователя, который будет использован в дальнейшем для авторизации в системе Пароль пользователя, который будет использован в дальнейшем для авторизации в системе Имя пользователя Электронная почта пользователя. Телефон пользователя Идентификатор объекта в стороннем приложении Обязательный да да да да нет нет Руководство разработчика 41 Пример запроса: Request url https://api.easyfinance.ru/v2/? method=users.post& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34 Request body в формате json { "request":{ "request_info":{"method":"users.post"}, "request_data":{ "user":{ "name":"p12ew12323", "password":"qweqwe", "login":"eee2", "mail":"eee2@p.com" } } } } Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T14:14:57+0200" }, "response_data":{ "users":{ "id":"47804394", "access_token":"0e40f8856fe1a9dae089dd6594e1e2f8" } } } } *ВНИМАНИЕ! access_token передается только для партнерских приложений. API EasyFinance.ru Руководство разработчика 42 26.2 Счета Представляет собой объект, в котором содержатся счета пользователей и методы для работы с ними. Счета могут принимать такие параметры поля interval_field: cteated_at, updated_at, deleted_at. Типы счетов. type_id 1 2 9 5 6 7 8 15 16 Имя Наличные Дебетовая карта Кредит Депозит Мне должны Я должен Кредитная карта Электронный кошелек Банковский счёт Поля объекта счета. Имя Тип Описание Обязательный id int Идентификатор счета. да type_id int Тип счет. Принимаемые значения описаны в пункте «Типы счетов» нет state int Состояние аккаунта. Принимает: 0 — обычный счет, 1 — избранный, 2 — скрытый. нет description string Описание счета нет currency_id int Валюта счета нет icon string Мобильная иконка нет balance decimal(20,2) Текущий баланс счета. Возвращается только при нет передаче значения в параметр fields.(fields=balance) init_balance decimal(20,2) Начальный баланс счета, на момент создания. Возвращается только при передаче значения в параметр fields.(fields=init_balance) нет updated_at datetime Последняя дата изменения да created_at datetime Дата и время создания счета да deleted_at datetime Дата и время удаления счета нет client_id int Идентификатор объекта в стороннем приложении нет\ да – если установлен client в запросе API EasyFinance.ru Руководство разработчика 43 accounts.get Возвращает информацию о счетах для пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный account_list string Список идентификаторов счетов пользователя, перечисленных нет через запятую, по умолчанию берет все счета текущего пользователя. fields string Список полей, которые необходимо вернуть. По умолчанию возвращаются все. Список значений. нет options string Перечисленные через запятую опции. operations — возвращает счета с операциями по ним. deleted — возвращает удаленные записи. По умолчанию опции отключены. нет Пример запроса: Request url https://api.easyfinance.ru/v2/? method=accounts.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T14:25:09+0200" }, "response_data":{ "accounts":[ { "id":"500140102", "name":"Test2", "state":"0", "type_id":"1", "description":"desc", "currency_id":"1", "user_id":"47736089", "created_at":"2012-10-12 16:51:11", "updated_at":"2013-11-05 14:11:36", "deleted_at":null, API EasyFinance.ru Руководство разработчика 44 "icon":"accountimage1" }, { "id":"500140146", "name":"Test", "state":"0", "type_id":"1", "description":"desc", "currency_id":"1", "user_id":"47736089", "created_at":"2012-10-12 17:15:12", "updated_at":"2013-11-23 02:56:12", "deleted_at":null, "icon":"accountimage1" } ] } } } Пример запроса со значениями текущего баланса и начального баланса счета: Request url https://api.easyfinance.ru/v2/? method=accounts.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34&fields=init_balance,balance Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T14:25:09+0200" }, "response_data":{ "accounts":[ { "id":"500140102", "name":"Test2", "type_id":"1", "state":"0", "description":"desc", "currency_id":"1", "user_id":"47736089", "created_at":"2012-10-12 16:51:11", "updated_at":"2013-11-05 14:11:36", "deleted_at":null, "init_balance":"0.0000000000", API EasyFinance.ru Руководство разработчика 45 "balance":"-4682236.5900000000", "icon":"accountimage1" }, { "id":"500140146", "name":"Test", "type_id":"1", "state":"0", "description":"we", "currency_id":"1", "user_id":"47736089", "created_at":"2012-10-12 17:15:12", "updated_at":"2013-11-23 02:56:12", "deleted_at":null, "init_balance":"0.0000000000", "balance":"-29396386.1100000000", "icon":"accountimage1" } ] } } } API EasyFinance.ru Руководство разработчика 46 accounts.set Редактирует информацию о счетах пользователя. В теле запроса передается новая информация. Возможно изменить всю информацию о счете, либо только определенные данные. *Изменение опеределенных данных в разработке. Следует передавать объект целиком. В ответе сервер возвращает всю информацию о счетах, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный account_id int Идентификатор аккаунта, который изменяется да options string Перечисленные через запятую опции. client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. нет Параметры тела запроса: Имя Тип Описание Обязательный id int Идентификатор счета. да type_id int Тип счет. Принимаемые значения описаны в пункте «Типы счетов» нет state int Состояние аккаунта. Принимает: 0 — обычный счет, 1 — избранный, 2 — скрытый. нет description string Описание счета нет currency_id int Валюта счета нет icon Мобильная иконка нет string init_balance decimal Начальный баланс счета, на момент создания. (20,2) да updated_at datetim Последняя дата изменения счета e да created_at datetim Дата и время создания счета e да deleted_at datetim Дата и время удаления счета e нет client_id int API EasyFinance.ru Идентификатор объекта в стороннем приложении нет\ да – если установлен client в запросе Руководство разработчика 47 Request url https://api.easyfinance.ru/v2/? method=accounts.set& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34 Request body в формате json {"request":{ "request_data":{ "accounts":[ {"id":"500283987","currency_id": "2", "state": "0", "name": "Test Account1", "client_id": "55731", "type_id": "15", "created_at": "2013-07-31T14:31:15+0400", "init_balance": "0.00", "updated_at": "2013-12-01T14:31:15+0400", "description": "test desc","client_id": "123123"} ]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T14:14:57+0200" }, "response_data":{ "users":{ "id":"47804394", "access_token":"0e40f8856fe1a9dae089dd6594e1e2f8" } } } } accounts.post Добавляет новый счет. В теле запроса передаются данные нового счета. В ответ сервер возвращает всю информацию о счетах пользователя, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. API EasyFinance.ru Описание Обязательный Руководство разработчика 48 Параметры тела запроса: Имя Тип Описание Обязательный name string Название счета. да type_id int Тип счет. Принимаемые значения описаны в да пункте «Типы счетов» state int Состояние аккаунта. Принимает: 0 — обычный да счет, 1 — избранный, 2 — скрытый. description string Описание счета нет currency_id int Валюта счета да icon Мобильная иконка нет init_balance decimal(20,2) Начальный баланс счета, на момент создания. да updated_at datetime Последняя дата изменения счета да created_at datetime Дата и время создания счета да client_id int Идентификатор приложении string объекта в стороннем нет\ да – если установлен client в запросе Пример запроса: Request url https://api.easyfinance.ru/v2/? method=accounts.post& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf3&options=client Request body в формате json {"request":{ "request_data":{ "accounts":[ {"currency_id": "2", "state": "0", "name": "Test Account", "client_id": "55731", "type_id": "15", "created_at": "2013-07-31T14:31:15+0400", "init_balance": "0.00", "updated_at": "2013-07-31T14:31:15+0400", "description": "test desc","client_id": "123123"} ]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T15:22:11+0200" }, "response_data":{ API EasyFinance.ru Руководство разработчика 49 "accounts":[ { "id":"500283987", "client_id":"123123" } ]}}} API EasyFinance.ru Руководство разработчика 50 26.3 Операции Представляет собой объект, в котором содержатся операции пользователя и методы для работы с ними. Операции могут принимать такие параметры поля interval_field: cteated_at, updated_at, deleted_at, date. При использовании в запросе параметра limit АПИ возвращает операции, отсортированные по параметру interval_field. Если параметр interval_field не указан, АПИ сортирует по updated_at(дате и времени последнего изменения операции). Поля объекта операции. Имя Тип Описание Обязательный Возвращается всегда id int Идентификатор операции нет, да – для да метода set. да account_id int Идентификатор счета операции да да amount decimal(20,2) Сумма операции да да date datetime Дата и время операции да нет category_id int Категория, к которой привязана да операция да comment text Комментарий к операции нет нет accepted int Состояние операции. Принимает 0 нет не подтверждена, 1 – подтверждена. По умолчанию 1. нет tags string Теги операции нет type int Тип операции. Принимает: 0 – да расход, 1 – доход, 2 – перевод со счета на счет. transfer_account_id int нет нет Идентификатор счета, с которого нет, да – для да была переведена операция. операций с Присутствует только для операций типом 2. с типом 2. transfer_amount decimal(20,2) Сумма операции с переведенного нет, да – для да счета. операций с типом 2. updated_at datetime Дата и время изменения операции. created_at datetime Дата и время создания операции да нет deleted_at datetime Дата и время удаления операции нет нет API EasyFinance.ru последнего да нет Руководство разработчика 51 client_id int Идентификатор объекта стороннем приложении в нет\ да – если нет установлен client в запросе mcc_code int 4-х значный номер, нет предназначенный для классификации типа товаров или услуг нет merchant_name string Имя продавца нет нет operations.get Возвращает операции для пользователя. Метод возвращает информацию об операциях текущего пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный operation_list string Список идентификаторов операций пользователя, нет перечисленных через запятую, по умолчанию берет все операции текущего пользователя. account_list string Список идентификаторов счетов пользователя, нет перечисленных через запятую, по которым будут возвращены операции, по умолчанию берет все счета текущего пользователя. fields string Список полей, которые необходимо вернуть. По нет умолчанию возвращаются все. Список значений. options string Перечисленные через запятую опции. нет deleted — возвращает удаленные записи. noresponse — не возвращать ответ. init_balance – начальный баланс, для среза операций, считается по операциям которые возвращаются сервером. balance – текущий баланс, для среза операций, считается по операциям которые возвращаются сервером. details – возвращет детали операций(mcc_code и merchant_name) По умолчанию опции отключены. API EasyFinance.ru Руководство разработчика 52 Пример запроса: Request url https://api.easyfinance.ru/v2/? method=operations.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34&fields=init_balance,balance Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T15:44:23+0200" }, "response_data":{ "operations":[ { "id":"506253319", "user_id":"47736089", "account_id":"500140132", "category_id":"504070546", "amount":"3123.00", "date":"2012-10-12", "time":"00:00:00", "comment":"sdfsd", "accepted":true, "tags":"", "type":"1", "transfer_account_id":null, "transfer_amount":null, "created_at":"2012-10-12 19:42:54", "updated_at":"2012-12-04 20:17:22", "deleted_at":null }, { "id":"506260349", "user_id":"47736089", "account_id":"500140102", "category_id":"504070517", "amount":"-123.00", "date":"2012-10-13", "time":"00:00:00", "comment":"qwe", "accepted":true, "tags":"qwe", "type":"0", "transfer_account_id":null, "transfer_amount":null, API EasyFinance.ru Руководство разработчика 53 "created_at":"2012-10-13 14:50:15", "updated_at":"2013-05-15 14:42:45", "deleted_at":null } ]}}} operations.set Редактирует операцию по идентификатору. В теле запроса передается новая информация. Возможно изменить всю информацию пользователя, либо только определенные данные. *Изменение опеределенных данных в разработке. Следует передавать объект целиком. В ответе сервер возвращает всю информацию об операции, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры для запроса: Имя Тип Описание Обязательный operation_id string Идентификатор операции, которая изменяется да options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. API EasyFinance.ru Руководство разработчика 54 Параметры для тела запроса: Имя Тип Описание Обязательный id int Идентификатор операции. да amount decimal(20,2) Сумма операции date datetime Дата и время операции category_id int Категория, к которой привязана да операция comment text Комментарий к операции accepted int Состояние операции. нет Принимает 0 - не подтверждена, 1 – подтверждена. По умолчанию 1. tags string Теги операции type int Тип операции. Принимает: 0 – да расход, 1 – доход, 2 – перевод со счета на счет. transfer_account_id int Идентификатор счета, с нет, да – для операций которого была переведена с типом 2. операция. Присутствует только для операций с типом 2. transfer_amount decimal(20,2) Сумма операции переведенного счета. updated_at datetime Дата и время последнего да изменения операции. created_at datetime Дата и время создания операции да deleted_at datetime Дата и время удаления операции нет client_id int Идентификатор объекта стороннем приложении mcc_code int 4-х значный предназначенный классификации типа или услуг merchant_name string Имя продавца API EasyFinance.ru да да нет нет с нет, да – для операций с типом 2. в нет\ да установлен запросе – если client в номер, нет для товаров нет Руководство разработчика 55 Пример запроса: Request url https://api.easyfinance.ru/v2/? method=operations.set& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf3&options=client Request body в формате json {"request":{ "request_data":{ "operations":[ { "id":"510905709", "user_id":"47736089", "account_id":"500140146", "category_id":"506506900", "amount":"123.00", "date":"2013-11-29T17:09:08+03:00", "time":"17:09:08", "comment":"my", "accepted":true, "tags":"tea", "type":"1", "transfer_account_id":null, "transfer_amount":null, "created_at":"2013-08-13T17:09:08+03:00", "updated_at":"2013-11-29T17:09:08+03:00", "deleted_at":null, "client_id": 444 } ]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T16:31:27+0200" }, "response_data":{ "operations":[ { "id":510905709, "client_id":"444" } ]}}} API EasyFinance.ru Руководство разработчика 56 operations.post Метод добавляет новые операции. В теле запроса передаются новые данные. В ответ сервер возвращает всю информацию об операциях, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры для запроса: Имя Тип Описание Обязательный options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. Параметры для тела запроса: Имя Тип Описание account_id int Идентификатор счета операции да amount decimal(20,2) Сумма операции да date datetime Дата и время операции да category_id int Категория, к которой привязана да операция comment text Комментарий к операции accepted int Состояние операции. нет Принимает 0 не подтверждена, 1 – подтверждена. По умолчанию 1. tags string Теги операции type int Тип операции. Принимает: 0 – да расход, 1 – доход, 2 – перевод со счета на счет. transfer_account_id int Идентификатор счета, с нет, да – для операций которого была переведена с типом 2. операция. Присутствует только для операций с типом 2. transfer_amount decimal(20,2) Сумма операции переведенного счета. updated_at datetime Дата API EasyFinance.ru и Обязательный время нет нет с нет, да – для операций с типом 2. последнего да Руководство разработчика 57 изменения операции. created_at datetime Дата и операции время создания да client_id int Идентификатор объекта стороннем приложении mcc_code int 4-х значный номер, нет. да - когда указан предназначенный для merchant_name классификации типа товаров или услуг merchant_name string Имя продавца в нет\ да установлен запросе – если client в нет Пример запроса: Request url https://api.easyfinance.ru/v2/? method=operations.post& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf3&options=client Request body в формате json {"request":{ "request_data":{ "operations":[ { "user_id":"47736089", "account_id":"500140146", "category_id":"506506900", "amount":"123.00", "date":"2013-11-29T17:09:08+03:00", "time":"17:09:08", "comment":"First", "accepted":true, "tags":"maney", "type":"1", "transfer_account_id":null, "transfer_amount":null, "created_at":"2013-08-13T17:09:08+03:00", "updated_at":"2013-11-29T17:09:08+03:00", "deleted_at":null, "client_id": 445 } ]}}} Response в формате json { API EasyFinance.ru Руководство разработчика 58 "response":{ "response_info":{ "server_time":"2013-11-29T16:33:35+0200" }, "response_data":{ "operations":[ { "id":"510990926", "client_id":"445" } ]}}} API EasyFinance.ru Руководство разработчика 59 26.4 Категории Представляет собой объект, в котором содержатся все данные о категориях пользователя и методы работы с ними. Категории могут принимать такие параметры поля interval_field: cteated_at, updated_at, deleted_at. Поля объекта категория Имя Тип Описание Обязательный id int Идентификатор категории. да system_id int Идентификатор системной категории. умолчанию 0 – системная категория name string Имя категории type int Тип категории. По умолчанию -1 – расходная, 1 – да доходная. custom int Права категории. 0 – системная, 1 – создана да пользователем. icon string Иконка для мобильного приложения По да да нет updated_at datetime Дата и время изменения категории да created_at datetime Дата и время создания категории да deleted_at datetime Дата и время удаления категории нет client_id int Идентификатор объекта в стороннем приложении нет\ да – если установлен client в запросе сategories.get Возвращает категории пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный categories_li string Список идентификаторов категорий пользователя, нет st перечисленных через запятую, по умолчанию берет все категории текущего пользователя. fields string Список полей, которые необходимо вернуть. умолчанию возвращаются все. Список значений. API EasyFinance.ru По нет Руководство разработчика 60 options string Перечисленные через запятую опции. deleted — возвращает удаленные записи. По умолчанию опции отключены. нет Пример запроса: Request url https://api.easyfinance.ru/v2/? method=categories.get& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf34&fields=init_balance,balance Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T16:35:15+0200" }, "response_data":{ "categories":[ { "id":"504070483", "parent_id":"0", "system_id":"3", "user_id":"47736089", "name":"My best", "type":"-1", "is_hidden":"1", "custom":"0", "created_at":"2012-10-12 16:51:11", "updated_at":"2013-06-25 12:56:06", "deleted_at":null, "icon":"catimg13" }, { "id":"504070484", "parent_id":"0", "system_id":"4", "user_id":"47736089", "name":"Category", "type":"-1", "is_hidden":"0", "custom":"0", "created_at":"2012-10-12 16:51:11", "updated_at":"2013-10-25 13:31:41", "deleted_at":null, "icon":"catimg29" }]}}} API EasyFinance.ru Руководство разработчика 61 сategories.set Изменяет информацию о категориях пользователя. В теле запроса передается новая информация. Возможно изменить всю информацию о категориях, либо только определенные данные. *Изменение опеределенных данных в разработке. Следует передавать объект целиком. В ответе сервер возвращает всю информацию о категориях, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный category_id string Идентификатор категории. options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. да Параметры тела запроса: Имя Тип Описание Обязательный id int Идентификатор категории. да parent_id int Идентификатор родительской категории. По да умолчанию 0 – Родительская категория. system_id int Идентификатор системной категории. умолчанию 0 – системная категория name string Имя категории type int Тип категории. По умолчанию -1 – расходная, 1 да – доходная. custom int Права категории. 0 – системная, 1 – создана да пользователем. icon string Иконка для мобильного приложения updated_at datetime Дата и время изменения категории да created_at datetime Дата и время создания категории да deleted_at datetime Дата и время удаления категории нет client_id int API EasyFinance.ru Идентификатор приложении По да да объекта в нет стороннем нет\ да установлен запросе – если client в Руководство разработчика 62 Пример запроса: Request url https://api.easyfinance.ru/v2/? method= categories.set& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf3&options=client Request body в формате json {"request":{ "request_data":{ "categories":[ { "id":"504070483", "parent_id":"0", "system_id":"3", "user_id":"47736089", "name":"Change name", "type":"-1", "is_hidden":"1", "custom":"0", "created_at":"2013-08-13T17:09:08+03:00", "updated_at":"2013-08-13T17:09:08+03:00", "deleted_at":null, "client_id": 444 } ]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T16:41:13+0200" }, "response_data":{ "categories":[ { "id":"504070483", "client_id":"444" } ]}}} API EasyFinance.ru Руководство разработчика 63 сategories.post Метод добавляет новые категории для пользователя. В теле запроса передаются новые данные категорий. В ответ сервер возвращает всю информацию о категориях, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. Параметры тела запроса: Имя Тип Описание Обязательный parent_id int Идентификатор родительской категории. По да умолчанию 0 – Родительская категория. system_id int Идентификатор системной категории. По да умолчанию 0 – системная категория name string Имя категории type int Тип категории. По умолчанию расходная, 1 – доходная. custom int Права категории. 0 – системная, 1 – создана да пользователем. icon string Иконка для мобильного приложения нет updated_at datetime Дата и время изменения категории да created_at datetime Дата и время создания категории да client_id int Идентификатор приложении да объекта в -1 – да стороннем нет\ да установлен запросе – если client в Пример запроса: Request url https://api.easyfinance.ru/v2/? method= categories.post& app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa& sig=hf94fh943fh349hf934hf934hf943hf3&options=client API EasyFinance.ru Руководство разработчика 64 Request body в формате json {"request":{ "request_data":{ "categories":[ { "parent_id":"0", "system_id":"3", "user_id":"47736089", "name":"Auto", "type":"-1", "is_hidden":"1", "custom":"0", "created_at":"2013-08-13T17:09:08+03:00", "updated_at":"2013-08-13T17:09:08+03:00", "deleted_at":null, "client_id": 443 } ]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-11-29T16:42:37+0200" }, "response_data":{ "categories":[ { "id":"510369732", "client_id":"443" }]}}} API EasyFinance.ru Руководство разработчика 65 26.5 Шаблоны операций Представляет собой объект, в котором содержатся все данные о шаблонах операций пользователя и методы работы с ними. Шаблоны операций могут принимать такие параметры поля interval_field: cteated_at, updated_at, deleted_at. Поля объекта шаблонов операций Имя Тип Описание Обязательный id int Идентификатор шаблона операций. да type int Тип операции. Принимает: 0 – расход, 1 – нет доход, 2 – перевод со счета на счет, 3 – начальный остаток на счете, 4 – перевод на фин. цель. account_id int Идентификатор счета, к привязан шаблон операции. transfer_acco int unt_id которому нет Идентификатор счета, на который идет нет перевод. transfer_amo decimal(20,2) Сумма операции с переведенного счета. unt нет category_id int Идентификатор категории, к которому нет привязан шаблон операции user_id int Идентификатор пользователя amount decimal(20,2) Сумма шаблона операции name string Имя да icon string Иконка шаблона операций нет comment text Комментарий к операции нет tags string Теги к операции нет updated_at datetime Дата изменения шаблона операций да created_at datetime Дата и время создания шаблона операций да deleted_at datetime Дата удаления шаблона операций нет client_id int Идентификатор приложении объекта да нет в стороннем нет\ да установлен запросе – если client в operationPatterns.get Метод возвращает шаблоны операция для текущего пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию API EasyFinance.ru Руководство разработчика 66 возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный operation_pa string Список идентификаторов шаблонов операций нет ttern_list пользователя, перечисленных через запятую, по умолчанию берет все шаблоны операций текущего пользователя. fields string Список полей, которые необходимо вернуть. умолчанию возвращаются все. Список значений. options string Перечисленные через запятую опции. deleted — возвращает удаленные записи. noresponse — не возвращать ответ. По умолчанию опции отключены. По нет нет Пример запроса: Request url https://api.easyfinance.ru/v2/?method=operationPatterns.get&app_id=423004&access_token=be6ef89965d58e56 sig=hf94fh943fh349hf934hf934hf943hf34&options=client Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T12:59:10+0200" }, "response_data":{ "operationPatterns":[ { "id":"1957", "client_id":"1957", "type":"0", "account_id":"500140102", "transfer_account_id":null, "transfer_amount":null, "category_id":"504070483", "user_id":"47736089", "amount":"321.00", "name":"My", "icon":"catimg1.png", "tags":null, "comment":null, "created_at":"2010-08-05 17:16:34", "updated_at":"2013-10-25 13:31:11", "deleted_at":null API EasyFinance.ru Руководство разработчика 67 }, { "id":"1958", "client_id":"12312113", "type":"0", "account_id":"500140102", "transfer_account_id":null, "transfer_amount":null, "category_id":"504070483", "user_id":"47736089", "amount":"321.00", "name":"Test", "icon":"icon.jpg", "tags":null, "comment":null, "created_at":"2010-08-05 16:16:34", "updated_at":"2010-08-05 16:16:34", "deleted_at":null }]}}} operationPatterns.set Редактирует информацию о шаблонах операций пользователя. В теле запроса передается новая информация. Возможно изменить всю информацию шаблонов операций, либо только определенные данные. *Изменение опеределенных данных в разработке. Следует передавать объект целиком. В ответе сервер возвращает всю информацию о шаблонах операций, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный operation_pa string Идентификатор шаблона операции пользователя. ttern_id options да string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. Параметры тела запроса: Имя Тип Описание Обязательный id int Идентификатор шаблона операций. да type int Тип операции. Принимает: 0 – расход, 1 – да API EasyFinance.ru Руководство разработчика 68 доход, 2 – перевод со счета на счет, 3 – начальный остаток на счете, 4 – перевод на фин. цель. account_id int Идентификатор счета, к привязан шаблон операции category_id int Идентификатор категории, к которому да привязан шаблон операции user_id int Идентификатор пользователя amount decimal(20,2) Сумма шаблона операции name string Имя нет icon string Иконка шаблона операций нет comment text Комментарий к операции нет tags string Теги к операции нет updated_at datetime Дата изменения шаблона операций да created_at datetime Дата и время создания шаблона операций да deleted_at datetime Дата удаления шаблона операций нет client_id int Идентификатор приложении объекта которому да да да в стороннем нет\ да установлен запросе – если client в Пример запроса: Request url https://api.easyfinance.ru/v2/?method=operationPatterns.set&app_id=423004&access_token=be6ef89965d58e56 sig=hf94fh943fh349hf934hf934hf943hf34 Request body в формате json {"request":{"request_data":{"operationPatterns":[ { "client_id":"4", "type":"0", "account_id":"500140102", "category_id":504070483 ,"user_id":"47736089", "amount":"335.00", "name":"Apple1", "icon":"icon.jpg", "tags":null, "comment":null, "created_at":"2013-12-01T12:02:50+0400", "updated_at":"2013-12-15T12:02:50+0400" }]}}} Response в формате json API EasyFinance.ru Руководство разработчика 69 { "response":{ "response_info":{ "server_time":"2013-12-17T13:09:40+0200" }, "response_data":{ "operationPatterns":[ { "id":"4017", "client_id":"4" }]}}} operationPatterns.post Добавляет новые шаблоны операций для пользователя. В теле запроса передаются новые данные шаблона операций. В ответ сервер возвращает всю информацию о шаблонах операций, чтобы сервер не возвращал данные, нужно воспользоваться флагом noresponse в параметре options. Параметры запроса: Имя Тип Описание Обязательный options string Перечисленные через запятую опции. нет client - возвращает client_id(идентификатор объекта в стороннем приложении) noresponse — не возвращать ответ. По умолчанию опции отключены. Параметры тела запроса: Имя Тип Описание client_id int Идентификатор приложении type int Тип операции. Принимает: 0 – расход, 1 – да доход, 2 – перевод со счета на счет, 3 – начальный остаток на счете, 4 – перевод на фин. цель. account_id int Идентификатор счета, к привязан шаблон операции category_id int Идентификатор категории, к которому да привязан шаблон операций user_id int Идентификатор пользователя amount decimal(20,2) Сумма шаблона операции name string API EasyFinance.ru Имя Обязательный объекта в стороннем да которому да да да нет Руководство разработчика 70 icon string Иконка шаблона операций нет updated_at datetime Дата изменения шаблона операций да created_at datetime Дата создания шаблона операций да client_id int Идентификатор приложении объекта в стороннем нет\ да установлен запросе – если client в Пример запроса: Request url https://api.easyfinance.ru/v2/?method=operationPatterns.post&app_id=423004&access_token=be6ef89965d58e5 sig=hf94fh943fh349hf934hf934hf943hf34 Request body в формате json {"request":{"request_data":{"operationPatterns":[ { "client_id":"4", "type":"0", "account_id":"500140102", "category_id":504070483 ,"user_id":"47736089", "amount":"335.00", "name":"Apple", "icon":"icon.jpg", "tags":null, "comment":null, "created_at":"2013-12-01T12:02:50+0400", "updated_at":"2013-12-01T12:02:50+0400" }]}}} Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T12:58:36+0200" }, "response_data":{ "operationPatterns":[ { "id":"4017", "client_id":"4" }]}}} API EasyFinance.ru Руководство разработчика 71 26.6 Теги Представляет собой объект, в котором содержатся все данные о тегах пользователя и методы работы с ними. Поля объекта тег. Имя id user_id text operation_id Тип int int string string Описание Идентификатор тега Идентификатор пользователя Текст тега Идентификатор операции, к которой привязан тег. Данный параметр может отсутствовать, если тег был создан пользователем отдельно tags.get Возвращает теги пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный fields string Список полей, которые необходимо вернуть. По нет умолчанию возвращаются все. tags_list string Список идентификаторов тегов пользователя, нет перечисленных через запятую, по умолчанию берет все теги текущего пользователя. Пример запроса: Request url https://api.easyfinance.ru/v2/?method=tags.get&app_id=423004&access_token=be6ef89965d58e56dec21acb9b6 sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T13:11:31+0200" }, "response_data":{ "tags":[ { "id":"7194743", API EasyFinance.ru Руководство разработчика 72 "user_id":"47736089", "text":"Test2", "operation_id":"506480941" }, { "id":"8558488", "user_id":"47736089", "text":"Test1", "operation_id":"507901345" }]}}} API EasyFinance.ru Руководство разработчика 73 26.7 Бюджет Представляет собой объект, в котором содержатся все данные о текущем состоянии бюджета пользователя и методы работы с ним. Поля объекта бюджет Имя planned spent date_start date_end Тип decimal( 20,2) decimal( 20,2) date date Описание Планируемые расходы. Устанавливаются при создании бюджета. Состояние бюджета на текущий момент времени. Расходы. Дата начала бюджета Дата окончания бюджета budget.get Возвращает данные о бюджете пользователя. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание fields string Список полей, которые необходимо умолчанию возвращаются все. Обязательный вернуть. По нет Пример запроса: Request url https://api.easyfinance.ru/v2/?method=budget.get&app_id=423004&access_token=be6ef89965d58e56dec21acb9 sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T13:16:32+0200" }, "response_data":{ "budget":{ "date_start":"2013-12-13", "date_end":"2014-01-12", "planned":0, "spent":0 }}}} API EasyFinance.ru Руководство разработчика 74 26.8 Системные валюты Представляет собой объект, в котором содержатся все данные о валютах системы и методы работы с ними. Поля объекта системные валюты. Имя id name symbol rate Тип int string string decimal(20,2) Описание Идентификатор валюты Название валюты Символ валюты Курс валюты относительно рубля. currencies.get Возвращает данные о валютах доступных в системе. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный currency_list string Список идентификаторов валют, доступных нет пользователю, перечисленных через запятую, по умолчанию берет все валюты. fields string Список полей, которые необходимо вернуть. По нет умолчанию возвращаются все. Пример запроса: Request url https://api.easyfinance.ru/v2/?method=currencies.get&app_id=423004&access_token=be6ef89965d58e56dec21a sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T13:18:04+0200" }, "response_data":{ "currencies":[ { "id":"1", "name":"\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u0443\u0431\u043b\u044c " API EasyFinance.ru Руководство разработчика 75 "symbol":"\u0440\u0443\u0431", "rate":"1.0000" }, { "id":"2", "name":"\u0414\u043e\u043b\u043b\u0430\u0440 \u0421\u0428\u0410 ", "symbol":"$", "rate":"32.8658" }]}}} API EasyFinance.ru Руководство разработчика 76 26.9 Системные категории Представляет собой объект, в котором содержатся все данные о системных категориях и методы работы с ними. Поля объекта системные категории. Имя id name is_public Тип int string int type int Описание Идентификатор категории. Название категории Доступна ли категория пользователю. 1 – доступна, 0 – не доступна. Если категория не доступна пользователю, то при создании новой категории на приложении, не доступную категорию нельзя выводить на выбор пользователю. Тип категории. Расходная - -1. Доходная – 1. Другая - 0. ВАЖНО! В системных категориях есть, категория «Перевод», ее следует добавлять как категорию всем операциям перевода. Но, данная категория имеет тип is_public=0, поэтому ее нельзя показывать пользователю. При создании новой категории, системная категория должна соответствовать типу создаваемой категории. Если создается категория Расход(type=-1), то соответственно пользователь может системной выбрать только системные категории с типом Расход(type=-1). systemCategories.get Возвращает данные о валютах доступных в системе. Позволяет получить всю информацию, либо определенные поля (используя параметр fields). По умолчанию возвращает всю информацию. Параметры запроса: Имя Тип Описание Обязательный system_categ string Список идентификаторов системных категорий, нет ory_list перечисленных через запятую, по умолчанию берет все системные категории. fields string Список полей, которые необходимо умолчанию возвращаются все. API EasyFinance.ru вернуть. По нет Руководство разработчика 77 Пример запроса: Request url https://api.easyfinance.ru/v2/?method= systemCategories.get&app_id=423004& access_token=be6ef89965d58e56dec21acb9b62bdaa&sig=hf94fh943fh349hf934hf934hf943hf34 Response в формате json { "response":{ "response_info":{ "server_time":"2013-12-17T13:19:49+0200" }, "response_data":{ "systemCategories":[ { "id":"1", "name":"\u0410\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c", "is_public":"1", "type":"-1" }, { "id":"2", "name":"\u0411\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435", "is_public":"1", "type":"-1" }]}}} API EasyFinance.ru Руководство разработчика 78 27 Работа с ошибками В случае ошибки, API вернет объект ошибки, в котором могут содержаться текст ошибки и код. Если текст ошибки отсутствует, его описание можно узнать из ошибок API. Основные ошибки Пример для json: {"response":{"response_data":{"errors":[{"text":"text","code":36}]}}} 27.1 Список ошибок Данный список ошибок будет пополняться, следите за изменениями в документации. Код 402 0 1 401 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Тип payment_error undefined is_not_implemented failed_authentication failed_app_identification account_notexist account_id_required date_format_incorrect operation_notexist operation_id_required category_notexist category_id_required operation_patter_notexist operation_patter_id_required tag_notexist tag_required xml_validation_failed expected_xml_data xml_required_fields xml_doesnt_match_number_of_rows xml_required_client_id data_type_failed expected_json_data json_validation_failed_request json_validation_failed_request_data json_data_is_null limit_incorrect offset_incorrect invalid_request invalid_client API EasyFinance.ru Текст Payment error Undefined This features does not implemented Authentication failed Application identification failed Account with this ID does not exist Account ID is required for this request Incorrect date format Operation with this ID does not exist Operation ID is required for this request Category with this ID does not exist Category ID is required for this request Operation pattern with this ID does not exist Operation pattern ID is required for this request Tag with this ID does not exist Tag ID is required for this request Expected valid text/xml Expected XML data XML does not include all required fields Does not match the number of rows ,Request is NOT well-formed,,no client ids, Incorected data type Expected JSON data or incorrect JSON data Json data do not contain request Json data do not contain request_data Json data is null Limit is incorrect Offset is incorrect Invalid field method Required field method Руководство разработчика 79 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 unauthorized_client redirect_uri_mismatch access_denied unsupported_response_type invalid_scope invalid_grant unsupported_grant_type invalid_token expired_token insufficient_scope unauthorized_access invalid_field_method required_field_method invalid_field_sig required_field_sig invalid_field_app_id required_field_app_id invalid_field_from required_field_from invalid_field_to required_field_to invalid_field_interval_filed required_field_interval_filed invalid_field_limit required_field_limit sync_in_progress invalid_content_data invalid_app_id unspecified json_validation_failed sig_not_set invalid_sig 62 63 64 65 66 67 68 69 70 71 72 73 74 required_response_type required_grant_type invalid_grant_type invalid_code required_code required_access_token invalid_access_token insufficient_scope invalid_user_auth invalid_data_object_name expired_code required_code enabled_backup API EasyFinance.ru Invalid field sig Required field sig Invalid field app_id Required field app_id Invalid field from Required field from Invalid field to Required field to Invalid field interval_filed Required field interval_filed Invalid field limit Required field limit ,Synchronization is not finished yet,, try later, Required request_data The access token provided is invalid. Invalid app_id Unspecified error json validation failed Required sig Invalid sig Invalid request Invalid app_id Required client Required response type Required grant type Invalid grant type Invalid code Required code Invalid grant Expired token.Please refresh token Required access token Invalid access token The request requires higher privileges than provided by the access token Unauthorized client Redirect uri mismatch Access denied Unsupported response type Invalid scope Unsupported grant type Invalid user auth Unauthorized access Invalid data object name Expired code.Please refresh code Required code Backup is enabled. Please finish it. Руководство разработчика 80 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 100 101 102 103 104 105 106 107 108 109 156 110 111 112 113 114 115 116 117 118 119 120 121 122 123 157 124 125 126 127 user_invalid_login user_required_login user_invalid_name user_required_name user_invalid_user_mail user_required_user_mail user_invalid_password user_required_password account_invalid_type_id account_required_type_id account_invalid_currency_id account_required_currency_id account_invalid_name account_required_name account_invalid_description account_required_description account_invalid_init_balance account_required_init_balance account_invalid_state account_required_state account_invalid_created_at account_required_created_at account_invalid_updated_at account_required_updated_at account_invalid_deleted_at account_required_deleted_at account_required_id category_invalid_system_id category_required_system_id category_invalid_parent_id category_required_parent_id category_invalid_name category_required_name category_invalid_type category_required_type category_invalid_created_at category_required_created_at category_invalid_updated_at category_required_updated_at category_invalid_deleted_at category_required_deleted_at category_required_id operation_invalid_account_id operation_required_account_id operation_invalid_category_id operation_required_category_id API EasyFinance.ru Invalid login Required login Invalid name Required name Invalid email Required email Invalid password. Max length - 40. Required password invalid type id required type id invalid currency id required currency id account invalid name required name invalid description required description invalid init balance required init balance invalid state required state invalid created at required created at invalid updated at required updated at invalid deleted at required deleted at required id invalid system_id required system_id invalid parent_id required parent_id invalid name required name invalid type required type invalid created at required created at invalid updated at required updated at invalid deleted at required deleted at category required id operation invalid account_id operation required account_id operation invalid category_id operation required category_id Руководство разработчика 81 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 operation_invalid_amount operation_required_amount operation_invalid_date operation_required_date operation_invalid_time operation_required_time operation_invalid_type operation_required_type operation_invalid_comment operation_required_comment operation_invalid_tags operation_required_tags operation_invalid_acceptedt operation_required_accepted operation_invalid_transfer_account_id operation_required_transfer_account_id operation_invalid_transfer_amountt operation_required_transfer_amount operation_invalid_created_at operation_required_created_at operation_invalid_updated_at operation_required_updated_at operation_invalid_deleted_at operation_required_deleted_at operation_invalid_user_id operation_required_user_id operation_required_id operation_invalid_id operationPattern_invalid_type operationPattern_required_type operationPattern_invalid_account_id operationPattern_required_account_id operationPattern_invalid_category_id operationPattern_required_category_id operationPattern_invalid_client_id operationPattern_required_client_id operationPattern_invalid_amount operationPattern_required_amount operationPattern_invalid_name operationPattern_required_name operationPattern_required_icon operationPattern_invalid_icon operationPattern_invalid_created_at operationPattern_required_created_at operationPattern_invalid_updated_at operationPattern_required_updated_at API EasyFinance.ru operation invalid amount operation required amount operation invalid date operation required date operation invalid time operation required time operation invalid type operation required type operation invalid comment operation required comment operation invalid tags operation required tags operation invalid acceptedt operation required accepted operation invalid transfer_account_id operation required transfer_account_id operation invalid transfer_amount operation required transfer_amount operation invalid created_at operation required created_at operation invalid updated_at operation required updated_at operation invalid deleted_at operation required deleted_at operation invalid user_id operation required user_id operation required id operation invalid id operationPattern invalid type operationPattern required type operationPattern invalid account_id operationPattern required account_id operationPattern invalid category_id operationPattern required category_id operationPattern invalid client_id operationPattern required client_id operationPattern invalid amount operationPattern required amount operationPattern invalid name operationPattern required name operationPattern required icon operationPattern invalid icon operationPattern invalid created_at operationPattern required created_at operationPattern invalid updated_at operationPattern required updated_at Руководство разработчика 82 176 operationPattern_invalid_deleted_at 177 operationPattern_required_deleted_at 178 account_have_operations 179 category_have_operations operationPattern invalid deleted_at operationPattern required deleted_at account can not be deleted because it has operations category can not be deleted because it has operations Таблица. Список ошибок. 27.2 Оплата тарифа. На сервисе EasyFinance.ru существует тарифная система, у каждого тарифа есть свои возможности. Изучите тарифную сетку https://easyfinance.ru/my/profile/# . Если у пользователя будет тариф, на котором не разрешено использование синхронизации с мобильным приложение, то API вернет информативную ошибку, и пользователь дальше не сможет вести работу на мобильном приложении. Мобильное приложение, в свою очередь, должно перенаправить пользователя на страницу оплаты тарифа https://easyfinance.ru/my/profile/#. API EasyFinance.ru Руководство разработчика