Архитектура приложения Инициализация приложения



Скачать 91.69 Kb.
Дата16.09.2014
Размер91.69 Kb.
ТипДокументы
Содержание

  1. Архитектура приложения

  2. Инициализация приложения

  3. Параметры инициализации приложения

  4. Формирование запроса

  5. Подпись запроса

5.1 Запрос типа Клиент-сервер

5.2 Запрос типа Сервер-сервер



  1. Список методов

  2. Описание методов REST API

  3. Описание методов JS API

  4. Списание со счета



1. Архитектура приложения
Приложение размещается в IFrame внутри страницы Сайта партнера. Платформа поддерживает два типа приложений: iframe и flash.

2. Инициализация приложения
Когда пользователь авторизуется в IFrame, то начинается загрузка приложения, расположенного по адресу, указанному Разработчиком при настройке приложения. Приложению передаются параметры для работы с API Платформы. Для обоих типов приложений параметры имеют аналогичный вид, различается только их передача: в iframe в качестве GET-параметров, в flash - через flashVars.

3.
Параметры инициализации приложения

При каждом запуске приложения передаются следующие параметры:

Имя

Тип

Обязательный

Описание

app_id

Целое число

Да

Идентификатор приложения

session_key

Строка

Да

Идентификатор сессии

uid

Строка

Да

Идентификатор пользователя

api_server

Строка

Да

URL, по которому доступен API

nextgame

Строка

Да

Флаг указывающий, что игра запущена на Платформе

sig

Строка

Да

Подпись запроса

ref_uid

Целое число

Нет

Пользователь, пригласивший в приложение

Идентификатор сессии session_key используется для вызовова API Платформы.

Параметр sig является подписью параметров инициализации приложения. Расчет подписи происходит по схеме «сервер-сервер» (см. пункт 5.2). Поскольку в подписи учавствует секретный ключ, проверку следует осуществлять на сервере.

4. Формирование запроса
В каждом запросе должен присутствовать набор обязательных параметров. Помимо них существуют необязательные параметры общие для всех запросов, а также дополнительные, набор которых зависит от конкретного метода.
Общие параметры для всех запросов:

Имя

Тип

Обязательный

Описание

method

Строка

Да

Название вызываемого метода

sig

Строка

Да

Подпись запроса

session_key

Строка

Нет

Идентификатор сессии

app_id

Целое число

Нет

Идентификатор приложения

secure

Целое число

Нет

Флаг, обозначающий, что запрос идет по защищенной схеме «сервер-сервер» (см. пункт 5.2); возможные значения: 1 или 0; по-умолчанию 0

format

Строка

Нет

формат выдачи ответа API; возможные значения: xml или json; по-умолчанию json

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



5. Подпись запроса
Чтобы удостовериться, что запрос отправлен действительно Вами, все запросы к REST API должны быть подписаны. Подпись может вычисляться по двум схемам: клиент-сервер и сервер-сервер. Результат расчета подписи вы должны передать в параметре sig, Платформа проверит подпись и выполнит запрос только если подпись правильная.
5.1. Запрос типа Клиент-сервер

Схема клиент-сервер предназначена для случаев, когда REST API используется из клиента социального приложения, клиентского кода сайта или отдельного мобильного или desktop-приложения.

Если вы хотите использовать схему клиент-сервер, то передайте в параметрах запроса secure=0 и расчитайте sig по следующему алгоритму:

sig = md5(uid + params + private_key)

Значение params — это конкатенация пар «имя=значение» отсортированных в алфавитом порядке по «имя», где «имя» – это название параметра, передаваемого в функцию API, «значение» – значение параметра. Разделитель в конкатенации не используется. Параметр sig при расчете подписи не учитывается, все остальные параметры запроса должны учитываться при расчете.

Значение uid — идентификатор текущего пользователя приложения. Значение private_key вы можете взять из настроек приложения.


5.2. Запрос типа Сервер-сервер

Схема сервер-сервер является более надежной, поэтому с ее помощью можно выполнять все запросы, даже те, которые не могут быть выполнены при подписывании по схеме клиент-сервер. Используйте ее для критичных к безопасности запросов.

Схема сервер-сервер использует отдельный ключ secret_key, который мы настоятельно рекомендуем вам хранить только на ваших серверах и использовать только при запросах с них к серверам Платформы.

Когда вы хотите использовать схему сервер-сервер, вы должны передать в параметрах запроса параметр secure=1 и расчитать значение параметра sig следующим образом:

sig = md5(params + secret_key)

6. Список методов
REST API


  • users.getInfo

  • users.getFriends

  • payment.getBalance

  • payment.transaction

  • notification.send


JS API

  • users.getInfo

  • users.getFriends

  • users.openInviteDialog

  • payment.getBalance

  • payment.openDialog



7. Описание методов REST API
users.getInfo
Возвращает анкетную информацию о пользователях
Параметры запроса

Имя

Описание

uid

Идентификаторы пользователей, разделённых через запятую

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



http://api2.nextgame.ru/api/?method=users.getInfo&uid=10042&app_id=6&session_key=8dc667ed83eea110fd9e5dece9b1b4088aa0e3ab&sig=d9a467f68a566bf803baf0783456fffb
Пример ответа
data => {

10042 => {

id => 10042

avatar_url => http://avatars.nextgame.ru/photo/10042.jpg

name =>

first_name => Михаил

last_name => Козлов

nick_name =>

sex => M

birthday =>

city => Москва

country => Россия

}

}

method => users.getInfo



result => true

users.getFriends
Возвращает список друзей пользователя.
Метод может возвращать либо массив uid'ов друзей пользователя, либо массив объектов с расширенной информацией о друзьях.
Параметры запроса

Имя

Описание

uid

Идентификатор пользователя

ext

0 – вернуть ID друзей, 1 — вернуть профили друзей

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


http://api2.nextgame.ru/api/?method=users.getFriends&uid=10042&app_id=6&ext=0&session_key=15d06ef1c86de13f141ad0b73b7ed0d036ac5c17&sig=dfb367fd2e858db118cd57411682228b
Пример ответа
data => {

1, 2, 3, 4

}

method => users.getFriends



result => true
payment.getBalance
Возвращает баланс пользователя, доступный для списания
Параметры запроса

Имя

Описание

uid

Идентификатор пользователя

app_id

Идентификатор приложения

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


http://api2.nextgame.ru/api/?method=payment.getBalance&uid=10042&app_id=3&session_key=15d06ef1c86de13f141ad0b73b7ed0d036ac5c17&sig=ad2e55c0ef4c9847903719972085b18a
Пример ответа
data => {

balance => 25

uid => 10042

}

method => payment.getBalance



result => true

payment.transaction
Списывает монеты со счёта пользователя
Параметры запроса

Имя

Описание

uid

Идентификатор пользователя

app_id

Идентификатор приложения

amount

Количество Монет для списания

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


http://api2.nextgame.ru/api/?method=payment.transaction&uid=10042&app_id=3&amount=10&session_key=15d06ef1c86de13f141ad0b73b7ed0d036ac5c17&sig=ad2e55c0ef4c9847903719972085b18a
Пример ответа
data => {

balance => 15

amount => 10

uid => 10042

}

method => payment.transaction



result => true

notification.send
Отправляет уведомления пользователям
Параметры запроса

Имя

Описание

uid

Идентификаторы пользователей, разделённых через запятую

app_id

Идентификатор приложения

message

Текст уведомления в кодировке UTF-8

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


http://api2.nextgame.ru/api/?method=notification.send&uid=10042,10043,10044,10045&app_id=3&message=join%20the%20game&secure=1&sig=ad2e55c0ef4c9847903719972085b18a
Пример ответа
data => {

delivered => { 10042, 10043 }

failed => { 10044, 10045 }

}

method => notification.send



result => true
8. Описание методов JS API
users.getInfo
Возвращает анкетную информацию текущего пользователя.

users.getFriends
Возвращает список профилей друзей текущего пользователя.

payment.getBalance
Возвращает баланс пользователя, доступный для списания.

users.openInviteDialog
Открывает окно приглашения друзей в приложение
Параметры запроса

Имя

Тип

Описание

text

Строка

Текст, который будет выводиться в окне приглашения



payment.openDialog
Открывает окно оплаты услуги
Параметры запроса

Имя

Тип

Описание

service_id

Строка

Идентификатор услуги

amount

Целое число

Сумма для ввода

name

Строка

Название товара

description

Строка

Описание товара

extra

Строка

Дополнительные параметры в виде строки (пары «параметр=значение», разделённые «&»), передаются серверу Разработчика в callback



9. Cписание со счета
Для списания Монет со счета пользователя, можно использовать один из следующих вариантов работы:

  1. При старте приложения сервер Разработчика проверяет баланс пользователя (метод «payment.getBalance»). Если баланс положительный, то сервер осуществляет списание со счета пользователя (метод «payment.transaction»).

  2. В настройках приложения Разработчик указывает URL скрипта-обработчика в параметре «callback». В этом случае после ввода денег пользователем в приложение, Платформа обращается к этому скрипту и передает параметры:




Имя

Описание

service_id

Идентификатор услуги

uid

Идентификатор пользователя

app_id

Идентификатор приложения

operation_id

Идентификатор операции на стороне Платформы

amount

Полученная сумма

дополнительные параметры

См. ниже

sig

Подпись запроса. Формируется по схеме «сервер-сервер»

Если при вызове диалога оплаты в параметрах передан extra, то содержимое параметра extra передаётся скрипту-обработчику в качестве дополнительных параметров.


Если при обращении к скрипту, возникла ошибка, то Платформа выполняет повторное обращение с теми же самыми параметрами.

Похожие:

Архитектура приложения Инициализация приложения iconЦель 1 Технологии 1 Работа приложения общее представление 1 Клиентская часть 2 Серверная часть 2 Стурктура страниц веб приложения 2 Рабочая форма приложения 3 Форма для приобретения volume 3 Форма для приобретения приложения 4 Форма опросник
Приложение должно уметь демонстрировать все доступные возможности ls api 0: просмотр эвалюэшн версии программы с лицензионными моделями...
Архитектура приложения Инициализация приложения iconРеферат. Ямницкий Я. И
Выпускная квалификационная работа дипломированного специалиста, Тула, 2011. Пояснительная записка – 115 с., приложения – 17 с., электронного...
Архитектура приложения Инициализация приложения iconОписание проекта
Основная задача демо приложения отображать галерею картинок, в зависимости от модели лицензирования приложения и правильно редиректить...
Архитектура приложения Инициализация приложения iconП78 П78 Программные системы: теория и приложения
П78 Программные системы: теория и приложения. Труды международной конференции «Программные системы: теория и приложения», ипс ран,...
Архитектура приложения Инициализация приложения iconНазвание компании-заказчика
Необходимо выбрать услугу, для которой в настоящее время не существует приложения и разработать концепцию такого приложения. Необходимо...
Архитектура приложения Инициализация приложения iconСтруктура приложения(mvc)
«Модель-представление-контроллер» — шаблон проектирования, в котором модель данных приложения,пользовательский интерфейс и управляющая...
Архитектура приложения Инициализация приложения iconТехнические требования в отношении отдельных элементов и свойств объектов технического регулирования для оценки соответствия типов транспортных средств (шасси)
Приложения, и чтобы транспортное средство удовлетворяло требованиям пункта 1 настоящего Приложения
Архитектура приложения Инициализация приложения iconЛингвистические приложения теории фреймов
Теория фреймов (2; 4; 5) получила широкое признание в определенных направлениях лингвистики, и в данной статье мы рассмотрим ее некоторые...
Архитектура приложения Инициализация приложения iconСовременные приложения задачи аполлония
В работе рассматриваются приложения классической задачи евклидовой геометрии о построении окружности, касающейся трех данных окружностей,...
Архитектура приложения Инициализация приложения iconМагистерская программа Комплексный анализ и приложения
Выпускники магистратуры, подготовленные по программе «Комплексный анализ и приложения», должны быть готовы к решению следующих основных...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org