JS API

Методы JS API используются преимущественно для осуществления оплаты услуг и товаров в приложениях (подробнее о системе биллинга Wamba можно прочесть в соответствующем разделе, а также для отправки сообщений из приложения. Сообщения можно отправлять также методами серверного API, однако мы рекомендуем использовать именно JS API. В будущем методы JS API для отправки сообщений могут иметь меньшее количество ограничений и больше возможностей, чем аналогичные методы серверного API.

  • Flash-приложения - во всех Flash-приложениях JS API доступен по умолчанию, без каких-либо дополнительных действий и подключения библиотек;
  • Iframe-приложения - для использования в Iframe-приложениях необходимо подключить библиотеку:
<script type="text/javascript" src="http://js.aplatform.ru/v2.js" ></script>
Минимальные размеры приложения: ширина - 600px, высота — 100px.

1. Инициализация JS API:

mamba.init(success, fail)

Отвечает за инициализацию апи.

mamba.init(function () {
// Апи готов!
}, function () {
// К сожалению, использовать апи не получится :(
});

2. Общая структура вызова методов:

mamba.method(name, [param1, param2, ...], [params])

Вызывает метод name с параметрами.

3. Список доступных на данный момент методов JS API:

setup (params)

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

mamba.method('setup', {
hideOverlay: false
});

Настройка на данный момент одна — hideOverlay, определяет скрывать поле приложения, при открытии лаера или нет. Для нефлешовых приложений, рекомендуется ставить false.

dimensions

Посредством данного метода в e.data можно получить следующую информацию:

  • offsetLeft
  • offsetTop
  • scrollTop
  • width
  • height
mamba.method('dimensions');
mamba.on('dimensions', function (e) {
console.log('dimensions' + ' width:' + e.data.width +	' height:'
+ e.data.height + ' offsetLeft:' + e.data.offsetLeft + ' offsetTop:'
+ e.data.offsetTop + ' scrollTop:' + e.data.scrollTop);
});

resize (width, height)

Deprecated: resizeWindow (width, height)

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

mamba.method('resize', "100%", 2500);

pay (amount, extra)

Deprecated: openPaymentLayer (aid, amount, extra)

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

mamba.method('pay', 300, 'from_id_23124234');

message (message, extra, [oids])

Deprecated: openContactRequestLayer (message, extra),

mamba.method('message','text','extra');

Deprecated: openDirectContactRequestLayer (message, extra, oids),

mamba.method('message','text','extra','[12345,54321]');

4. Вызов методов серверного API

mamba.api([name], [options], [callback])

Делает запрос к апи Wamba. Возвращаемые данные аналогичны данным от серверных запросов к api.aplatform.ru

sid и app_id указывать не требуется.

mamba.api({
method: 'anketa.getInfo',
logins: '',
blocks: 'location,favour',
ids_only: false,
oids: '123456'
}, function(err, data) {
console.log(err, data);
});

5. События приложений

mamba.on(event, callback)

Подписывается на события приложения.

События окна:

  • resize
  • scroll
  • dimensions

Все события возвращают e.data, который содержит все данные по размерам и отступам окна.

mamba.on('resize', function (e) {
console.log('resize' + ' width:' + e.data.width + ' height:' +
e.data.height + ' offsetLeft:' + e.data.offsetLeft + ' offsetTop:' +
e.data.offsetTop + ' scrollTop:' + e.data.scrollTop);
});

События лаера оплаты:

  • paymentCancel
  • paymentSuccess
  • paymentFail

События лаера сообщений:

  • messageComplete
    Возвращаемые данные: {"sended":"173963215,173963894,173966805,173957289","limit":95}
    sended - список id анкет, которым ушли сообщения,
    limit - оставшийся лимит сообщений
  • messageCancel

mamba.off(event, callback)

Отписывается от события приложения.