Skip to content
Igor Pevtsov edited this page May 14, 2015 · 33 revisions

ВНИМАНИЕ ФОРМАТ ОТВЕТОВ МОЖЕТ БЫТЬ УСТАРЕВШИМ. ПРОВЕРЯЙТЕ ИСПОЛЬЗУЯ БРАУЗЕР!

Web service

Запуск в фоновом режиме: java -jar /home/project/java/FWalletServer.jar 1>/dev/null 2>/dev/null &

Рабочий порт https: 25565

Регистрация

Запрос для регистрации осуществляется на адрес reg

Обязательные параметры для передачи:

  • mail
  • name
  • passwd

В случае успеха ничего возвращается код 200 и пустой вывод, в противном случае код 500 и информация об ошибке.

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

http://fwallet.tk:25565/reg?mail=suhininalex@gmail.com&name=suhininalex&passwd=11235813

  • <пусто>

  • {"message":"There is user with same email!","exception":"IllegalArgumentException"}

http://fwallet.tk:25565/reg?mail=suhininalex@gmail.com&name=suhininalex

  • {"message":"Missing some input parameters!","exception":"IllegalArgumentException"}

Авторизация

Запрос для авторизации осуществляется на адрес auth. В случае успеха возвращается уникальный токен для пользователя. Дальнейшие действия осуществляются при помощи токена.

Обязательные параметры для передачи:

  • mail
  • passwd

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

http://fwallet.tk:25565/auth?mail=suhininalex@gmail.com&passwd=11235813

  • {"token":"a7daaf9d3878325300fbd919750ff09a"}

  • {"token":"8afebf0f260728d526a787050fabe069"}

http://fwallet.tk:25565/auth?mail=suhininalex@gmail.com&passwd=11235813

  • {"message":"Wrong password or login!","exception":"IllegalAccessException"}

http://fwallet.tk:25565/auth?mail=suhininalex@gmail.com

  • {"message":"Missing some input parameters!","exception":"IllegalArgumentException"}

Запрос данных о пользователе

Для получения данных о пользователе необходимо отправит запрос на адрес user.api Обязательные параметры для передачи:

  • token или id

Необязательные параметры:

  • profile
  • groups
  • invitations

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

https://fwallet.tk:25565/user.get?token=bedef62688f99659feebda4bfde09bfe&profile

  • {"profile":{"mail":"suhininalex@gmail.com","name":"suhininalex","avatar":"http://www.gravatar.com/avatar/13a696376adb7380c6f6b7acaee0b01e?size=200"}}

https://fwallet.tk:25565/user.get?token=bedef62688f99659feebda4bfde09bfe&profile&groups&notifications

  • {"profile":{"mail":"suhininalex@gmail.com","name":"suhininalex","avatar":"http://www.gravatar.com/avatar/13a696376adb7380c6f6b7acaee0b01e?size=200"}}

Для получения приглашений указать параметр invitations:

https://fwallet:25565/user.get?token=7fb2acb95b170de82ba4b2308615bbad&invitations&profile

  • {"invitaitons":[{"groupId":1,"invitationTime":2015-05-02 00:32:24.0,"senderId":62}],"profile":{"mail":"suhininalex@gmail.com","name":"suhininalex","avatar":"http://www.gravatar.com/avatar/13a696376adb7380c6f6b7acaee0b01e?size=200"}}

Если указан параметр id, то возвращается только профиль пользователя:

https://fwallet.tk:25565/user.get?token=9be0f8abd9a3058295bc5ca5fd61a7de&profile&invitations&id=17

{"mail":"suhininalex@gmail.com","name":"suhininalex","avatar":"http://www.gravatar.com/avatar/13a696376adb7380c6f6b7acaee0b01e?size=200"}

Получение информации о группе

Какие параметры указываем, такие данные и возвращаются! Любой набор необязательных параметров Варианты:

  • participants (работает)
  • orders (не работает)
  • feed (не работает)
  • . . .

Обязательное поле - groupId, при передаче необязательных параметров нужен токен

Пример запроса:

https://fwallet.tk:25565/group.get?token=c71ae9b43163d0d9b8880d7cb2edb2a3&participants&groupId=1

  • {"group":{"name":"Быдлокодеры","description":"Группа быстрого реагирования для ослепления вражеской команды.","id":1,"ownerId":17,"creationDate":"2015-05-01 22:35:38.0"},"participants":[{"balance":40.0,"user":{"mail":"suhininalex@gmail.com","name":"suhininalex","id":17,"avatar":"http://www.gravatar.com/avatar/13a696376adb7380c6f6b7acaee0b01e?size=200"}},{"balance":0.0,"user":{"mail":"test@rambler.ru","name":"Дмитрий","id":62,"avatar":"http://www.gravatar.com/avatar/25fdb13e7409bc2e91f9fd1112c1fd32?size=200"}}]}

Принятие приглашения

Запрос для принятия приглашения осуществляется на адрес invitation.accept

Обязательные параметры

  • token
  • id (приглашения)

Пример запроса:

https://fwallet.tk:25565/invitation.accept?token=b07fce5a72b3f2fcfc3f39623b50fe36&id=1

Ответ:

  • <Пусто>

Для отказа добавить аргумент reject.

https://fwallet.tk:25565/invitation.accept?token=b07fce5a72b3f2fcfc3f39623b50fe36&id=1&reject

  • <Пусто>

Возможные ошибки:

  • Приглашение отсутствует или к нему нет доступа.
  • Пользователь уже состоит в группе.

Создание приглашения

Запрос для создания приглашения осуществляется на адрес /invitation.create

Обязательные поля:

  • token
  • groupId
  • recipientId

Пример запроса:

https://fwallet.tk:25565/invitation.create?token=d2f36ab55b13d92868a815c43e679728&groupId=1&recipientId=62

Ответ:

<Пусто>

Возможные ошибки:

  • Неверный токен
  • Отсутствие в группе для приглашения
  • Пользователь уже приглашен

Передача денег

Запрос для перечисления средств осуществляется на адрес participant.give

Обязательные параметры:

  • groupId
  • token
  • recipientId (получатель)
  • amount (>0)

Пример запроса:

https://fwallet.tk:25565/participant.give?token=152f3f0dc44315df6430ebc82889fb3b&groupId=1&recipientId=62&amount=-20

  • {"message":"Amount must be positive!","exception":"IllegalArgumentException"}

https://fwallet.tk:25565/participant.give?token=152f3f0dc44315df6430ebc82889fb3b&groupId=1&recipientId=62&amount=20

  • <Пусто>

https://fwallet.tk:25565/participant.give?token=152f3f0dc44315df6430ebc82889fb3b&groupId=1&recipientId=61&amount=20

*{"message":"Sender and recipient must be in same group!","exception":"IllegalAccessException"}

Создание группы

Запрос для создания группы осуществляется методом group.create Создатель сразу же добавляется в список участников группы

Обязательные параметры для передачи:

  • token
  • name

Необязательные параметры для передачи:

  • description

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

https://fwallet.tk:25565/group.create?token=17606106552292de579ae30bdba41fd4&name=createwithparticipance

Изменение информации группы

Запрос для изменения группы осуществляется методом group.changeInfo Смена инфы доступна только владельцу группы(ownerId)

Обязательные параметры для передачи:

  • token
  • groupId
  • ненулевой набор из необязательных

Необязательные параметры для передачи (если параметр передается, то он меняется в базе, если же нет, то в базе остается его старое значение. Меняются только те параметры, которые были переданы. Должен быть передан хотя бы один параметр помимо обязательных):

  • description
  • name
  • ownerId

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

Неправильный (не передаются никакие параметры): https://fwallet.tk:25565/group.changeInfo?id=6&token=96225cdead28776e264cae3c651c899a

Правильные: https://fwallet.tk:25565/group.changeInfo?id=6&name=thisnamewaschanged&token=96225cdead28776e264cae3c651c899a&ownerId=17&description=pewpewpew

https://fwallet.tk:25565/group.changeInfo?id=6&name=qwerty&token=96225cdead28776e264cae3c651c899a&ownerId=62

https://fwallet.tk:25565/group.changeInfo?id=6&token=96225cdead28776e264cae3c651c899a&ownerId=17&description=pewpewpew

Кик юзера из группы

Запрос для исключения пользователя из группы осуществляется методом group.kick Кик доступен только владельцу группы(ownerId), владелец не может кикнуть себя. Пока кик не зависит от финансов никак, будет поправлено в будущем.

Обязательные параметры для передачи:

  • token
  • groupId
  • userId

Примеры запросов: https://fwallet.tk:25565/group.kick?token=f41a40b1c57a5ebd36ce79dc8afc222c&groupId=1&userId=17