API документация

Приглашаем к сотрудничеству разработчиков приложений под Android и iPhone для создания совместных программных продуктов. За подробной информацией обращайтесь в службу поддержки.

В данном разделе публикуется описание работы серверного API. Обо всех ошибках или неточностях в описании сообщайте пожалуйста в службу поддержки. Документация может периодически пополняться описаниями новых методов.

Для осуществления доступа к данным аккаунта личного кошелька используются POST-запросы типа «application/json» с json-содержанием. Для работы с данными аккаунта возможно использование https. Все запросы должны направляться на адрес [PROTOCOL]://mypurse.ru/api/data/

В ответе сервера содержится строка с JSON-данными, виды и формат передаваемых данных рассмотрены ниже.

Общая структура запросов и ответов

Все запросы к серверу должны передавать JSON-объект следующего вида:

{
	"id":ID_REQUEST,
	"mail":USER_MAIL,
	"pass":USER_PASSWORD,
	"lang":LANGUAGE,
	"service":SERVICE_NAME,
	"params":[]
}

Поле id является идентификатором и генерируется вашим приложением, который будет возвращен сервером в ответе на зопрос. Поля mail и pass передают регистрационный e-mail и пароль пользователя для авторизации в проекте. Запрос может иметь пустые значения при запросе на регистрацию. Поле lang передает язык установленного приложения (имеет следующие значения: 0 - русский язык; 1 - украинский язык; 2 - английский язык). Поле service имеет название служебного предопределенного значения. Поле params используется для передачи параметров.

Содержание успешного ответа сервера будет таким:

{
	"id":ID_REQUEST,
	"servertime":TIME(),
	"result":DATA
}

TIME() - Возвращает текущую метку времени Unix по серверу.

Содержание ответа с ошибкой - таким:

{
	"id":ID_REQUEST,
	"error":
	{
		"message":ERROR_TEXT,
		"code":ERROR_CODE
	}
}

ERROR_CODE - один из идентификаторов ошибки, может принимать следующие значения:

  • 10 - Неверный e-mail и/или пароль
  • 11 - Не введен e-mail
  • 12 - Не введен пароль
  • 13 - E-mail содержит более 50 символов
  • 14 - Введенный e-mail уже есть в базе
  • 15 - Общая ошибка на стороне сервера

Регистрация и авторизации в системе

Для регистрации в системе необходимо отправить запрос на сервер с такой структурой поля params:

{
	"mail":E-MAIL,
	"pass":PASSWORD
}

В случае успешной регистрации, поле result ответа будет следующим:

{
	"userId":ID_USER
}
  • E-MAIL — регистрационный E-mail пользователя;
  • PASSWORD — пароль пользователя;
  • ID_USER — уникальный ID пользователя в системе, который назначает сервер при регистрации;

Пример запроса на регистрацию:

{
	"id":1,
	"mail":"",
	"pass":"",
	"lang":0,
	"service":"register",
	"params":[
		{
			"mail":"demo@mypurse.org",
			"pass":"123456"
		}
	]
}

Пример ответа на запрос:

{
	"id":1,
	"servertime":1451727159,
	"result":
	{
		"userId":1
	}
}

При успешной авторизации в сервисе, поле result ответа будет следующим:

{
	"userId":ID_USER,
	"balance":BALANCE,
	"curId":CURRENCY
}
  • ID_USER — уникальный ID пользователя в системе, который назначает сервер при регистрации;
  • BALANCE — общий баланс пользователя;
  • CURRENCY — валюта пользователя (имеет следующие значения: 1 - не указана; 2 - доллары США; 3 - Евро; 4 - Российские рубли; 5 - Украинские гривны).

Синхронизация данных

Для синхронизации данных вашего приложения с сервером используется следующий метод работы: на запрос данных, наш сервер передает информацию в поле last_update с меткой времени по Unix, последнего обновления данных. Поле del возвращает 0 или 1, если установлена 1-ца, тогда данная запись удалена. Также наш сервер передает всегда в поле zid уникальный идентификатор записи в базе данных на сервере.

Вы можете также передавать данные last_update, del и zid нашему серверу, для сравнения актуальности данных. Также, если вы передали поле zid с нулем, данная запись будет добавлена в нашу базу данных и будет возвращен его идентификатор, который необходмо присвоить данной записи в локальной базе данных и в дальнейшем передавать его нашему серверу для обновления данных, если это необходимо.

Домашняя бухгалтерия / все преимущества

  • Бесплатный сервис онлайн бухгалтерии;
  • Полная анонимность ваших данных;
  • Защищенное соединение SSL;
  • Надежное хранение ваших данных;
  • Интуитивно понятный интерфейс;