ВСети

Взаимодействие приложений с API

Стандартное взаимодействие приложений с API ВСети происходит следующими способами:

  • Для Flash приложений Вы можете использовать метод APIConnection.api
  • Для IFrame приложений Вы можете использовать метод VS.api

Во всех остальных случаях Вы можете производить запросы к API ВСети путем создания HTTP-запроса (POST или GET) к адресу API-сервиса http://vseti.by/api.php.

Сервер принимает не более трёх запросов в секунду, содержащих одинаковые параметры api_id и viewer_id. То есть запущенное конкретным пользователем приложение не должно отправлять более трёх запросов в секунду, в противном случае сервер возвращает ошибку "Too many requests per second".

Какие параметры необходимо передавать при запросе?

Название параметра
Обязательный параметр
Описание
api_id
идентификатор приложения, присваивается при создании.
method
название метода API из общего списка функций.
sig
подпись, которая создается в целях безопасности. Порядок создания подписи описан ниже.
sid
идентификатор сессии, полученный ранее при авторизации, либо посредством flashVars/GET запроса. Обратите внимание, что этот параметр не учитывается при создании подписи.


  • При осуществлении запроса с серверной стороны параметр sid передавать не нужно.
  • Обратите внимание, что sid привязан к ip адресу, поэтому Вы не сможете использовать его на сервере.

Как создавать подпись запроса?
Параметр sig равен md5 от контактенации следующих строк:

  • viewer_id – id текущего пользователя, переданный приложению посредством flashVars/GET запроса. (При запросе с сервера viewer_id указывать не нужно)
  • пар "parameter_name=parameter_value", расположенных в порядке возрастания имени параметра (по алфавиту).
  • секрета secret полученного через flashVars / GET запрос, или, если метод вызывается с сервера - секрета приложения api_secret (секрет Вы можете менять при редактировании страницы приложения).

Подпись для стандартных запросов:
sig = md5(viewer_idname1=value1name2=value2secret)

В данном случае sig равен md5("16api_id=3method=getFriendssecret") то есть 40c9572a4cf60ab9040ebfd1c5a8ecf5

Подпись для серверных и secure методов:
sig = md5(name1=value1name2=value2api_secret)

В данном случае sig равен md5("api_id=3method=getFriendsapi_secret") то есть 58fab5a6c42641a08009b2b715ed948d

Пример запроса:
http://vseti.by/api.php?api_id=23&method=getProfile...


В данном случае API получает запрос getProfiles ("вернуть данные о перечисленных в поле uids пользователях").

Пример ответа:
	{"response":[{"uid":"16","first_name":"Александр","last_name":"Метелица","photo":"http:\/\/cs1.vseti.by\/u16\/c0_2357.jpg","sex":"2"}]}
						

По умолчанию ответ приходит в формате JSON в кодировке UTF-8.

Если же приходит сообщение об ошибке, то ответ мог бы выглядеть, например, следующим образом:
	{"error":{"error_code":3,"error_msg":"Unknown method passed","request_params":[{"key":"api_id","value":"3"},{"key":"fields","value":"photo,sex"},{"key":"method","value":"getProfiles1"},{"key":"random","value":"3045"},{"key":"uids","value":"16"},{"key":"sig","value":"e895ff1ecf1b1a9d2347994acf325b45"}]}}
						


Коды общих ошибок
 
Код ошибки
Описание
1
Unknown error occured.
2
Application is disabled. Enable your application or use test mode.
3
Unknown method passed.
4
Incorrect signature.
5
User authorization failed.
6
Too many requests per second.
7
Permission to perform this action is denied by user.




Новости

10 марта 2013 - теперь можно загружать скриншот приложения

17 февраля 2013 - запущена платёжная система аналогичная ВКонтакте

5 дек 2012 - добавлены методы загрузки фото в альбом пользователя

Ссылки

Правила размещения
Партнёрская модель
Жанровый эксклюзив


Все понятно
Подробнее
Ответить
Нет друзей ВСети
. . .
Нет открытых диалогов
Показать предыдущие сообщения ↑
. .
angel bad biggrin blum blush cray crazy
dance diablo dirol good in_love kiss_mini laugh
music nea pardon rolleyes scratch shok shout
smile unknw wacko2 wall wink yahoo