API EasyFinance.ru – система управления личными финансами

advertisement
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
Руководство разработчика
Download