jsapi.popup rest api

Предназначен для выполнения API методов, которые требует подтверждение действия от пользователя.

Метод предназначен для выполнения API методов, которые требует подтверждение действия от пользователя. Примером использования данного метода является приглашение друзей пользователя в игру (friends.invite) Для того, чтобы приглашения друзей не превращались в бесконтрольную рассылку по воле игры, данное действие требует подтверждения от пользователя. Для этого был создан метод jsapi.popup, который показывает пользователю страницу подтверждения действия для необходимого метода API. Шаблон под необходимый метод указывается в параметре template, например так:

http://www.appsmail.ru/platform/japimethod=jsapi.popup&template=friends.invite

Пример полного URL для friends.invite

http://www.appsmail.ru/platform/japi?mobile=1&method=jsapi.popup&template=friends.invite&
app_id=725144&session_key=2678b74630d6400cd2f33c2df66180f6&vid=8947454280116039786&sig=7a808bce18d9f5b992b01053ed400fd0

В примере выше флаг mobile сообщает о том, что необходима мобильная версия "окна".

Параметры

Имя Тип Описание
methodstringвсегда "jsapi.popup"; обязательный параметр
templatestringзначение friends.invite, friends.request или stream.post. Название метода, для которого отрисовывается окно; обязательный параметр
appidintapp_id - id приложения, которое вызывает jsapi.popup; обязательный параметр
session_keystringключ сессии текущего пользователя; обязательный параметр
sigmd5(uid + params + private_key). Подпись запроса по схеме клиент-сервер; обязательный параметр
viduid текущего пользователя; обязательный параметр
mobile0 или 1. Флаг, если true (значение отлично от нуля и пустой строки), то будет отображена версия страницы для мобильных устройств; обязательный параметр

Подпись

Подпись формируется по следующей схеме

sig = md5(uid + params + private_key)

где:

Пример вызова

Рассмотрим на примере метода friends.invite.

  1. Собираем список необходимых параметров:
    $aParams = array(
    "method" => "jsapi.popup",
    "app_id" => 725144, // id приложения
    "session_key" => "92ccee31dff5d860189db227fe2179cc", // Ключ сессии пользователя
    "mobile" => "1", // нужна версия для мобильных телефонов
    "template" => "friends.invite" // Название нужного метода
    );
    
  2. Посчитаем подпись:
    // UID пользователя
    $uid = "13876640649279258698";
    // Конкатенация пар "ключ=значение"
    $params = "app_id=725144method=jsapi.popupmobile=1session_key=92ccee31dff5d860189db227fe2179cctemplate=friends.invite";
    // Считаем md5
    $sig = md5($uid . $params . $private_key);
    
  3. Собираем URL:
    $url = "http://www.appsmail.ru/platform/japi";
    // Добавляем параметры, на основе которых посчитали
    $url .= "?method=jsapi.popup";
    $url .= "&app_id=725144";
    $url .= "&session_key=92ccee31dff5d860189db227fe2179cc";
    $url .= "&mobile=1";
    $url .= "&template=friends.invite";
    
    // Добавляем подпись
    $url .= "&sig=" . $sig;
    
    // Добавляем VID (он же uid)
    $url .= "&vid=" . $uid;
    
  4. Перенаправляем пользователя на собранный URL.

Использование REST API

Функции REST API