Перейти к содержанию

API для геозон

getNearestZone

Anchor link to

Вызывается внутренне из SDK. Получает параметры ближайшей геозоны и расстояние до нее. Также записывает местоположение устройства для отправки гео-пушей.

POST https://api.pushwoosh.com/json/1.3/getNearestZone

Параметры запроса

Anchor link to
ПараметрТип
ОбязательныйОписание
applicationstringДаКод приложения Pushwoosh
hwidstringДаАппаратный идентификатор устройства (HWID), используемый в запросе /registerDevice.
latstringДаШирота устройства.
lngstringДаДолгота устройства.

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

Anchor link to
{
"request": {
"application": "APPLICATION_CODE",
"hwid": "HWID",
"lat": 10.12345,
"lng": 28.12345
}
}

Пример на PHP

Anchor link to
// См. http://gomoob.github.io/php-pushwoosh/get-nearest-zone.html
use Gomoob\Pushwoosh\Model\Request\GetNearestZoneRequest;
// Создает экземпляр запроса
$request = GetNearestZoneRequest::create()
->setHwid('HWID')
->setLat(10.12345)
->setLng(28.12345);
// Вызывает веб-сервис '/getNearestZone'
$response = $pushwoosh->getNearestZone($request);
if ($response->isOk()) {
print 'Zone name : ' . $response->getResponse()->getName();
print 'Latitude : ' . $response->getResponse()->getLat();
print 'Longitude : ' . $response->getResponse()->getLng();
print 'Range : ' . $response->getResponse()->getRange();
print 'Distance : ' . $response->getResponse()->getDistance();
} else {
print 'Oops, the operation failed :-(';
print 'Status code : ' . $response->getStatusCode();
print 'Status message : ' . $response->getStatusMessage();
}

addGeoZone

Anchor link to

Добавляет геозону в указанное приложение.

POST https://api.pushwoosh.com/json/1.3/addGeoZone

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh
geozonesarrayДаПараметры геозоны в виде JSON-массива.
geozones.namestringДаНазвание геозоны.
geozones.latstringДаШирота геозоны.
geozones.lngstringДаДолгота геозоны.
geozones.cooldownintegerДаПериод тишины после отправки уведомления (в секундах).
geozones.rangeintegerДаРадиус геозоны (в метрах, от 50 до 1000).
geozones.contentstring or objectОбязателен, если presetCode не указан.Содержимое сообщения для геозоны.
geozones.presetCodestringОбязателен, если content не указан.Пресет для push-уведомления, используемый вместо content.
geozones.clusterstringНетУкажите null, чтобы отвязать кластер от геозоны.
geozones.campaignstringНетУкажите null, чтобы отвязать кампанию от геозоны. Если параметр опущен, значение кампании останется без изменений. Примечание: имеет более высокий приоритет, чем кампания в пресете.
geozones.timetableobjectНетУстанавливает интервалы расписания.

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // Токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX", // Код приложения Pushwoosh
"geozones": [{
"name": "Statue of George", // обязательно. Название геозоны.
"lat": "40.70087797", // обязательно. Широта геозоны.
"lng": "-73.931851387", // обязательно. Долгота геозоны.
"cooldown": 60, // в секундах, обязательно. Период тишины после отправки уведомления
"range": 50, // в метрах, от 50 до 1000, обязательно. Радиус геозоны.
"content": "Lorem ipsum dolor sit amet,
consectetur adipiscing elit.", // или объект
"presetCode": "AAAAA-BBBBB", // необязательно. Вместо содержимого можно использовать пресет для push-уведомления
"cluster": "GEOZONE CLUSTER CODE", // необязательно. Будет применен период тишины кластера
"campaign": "CAMPAIGN_CODE", // необязательно. Укажите null, чтобы отвязать кампанию от геозоны
"timetable": { // необязательно
"timezone": 1234, // в секундах
"Mon": [ // доступные дни: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Отправка push-уведомлений
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // один или два интервала
"start": "01:11",
"stop": "17:00"
},
{
"start": "18:01",
"stop": "23:59"
}
]
}
}]
}
}

updateGeoZone

Anchor link to

Обновляет свойства геозоны.

POST https://api.pushwoosh.com/json/1.3/updateGeoZone

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
geoZoneIdstringДаID геозоны из запроса /addGeoZone.
namestringНетНовое название геозоны.
cooldownintegerНетНовый период тишины для обновления, в секундах.
statusintegerНет0 — деактивирована, 1 — активирована.
contentstringНетСодержимое push-уведомления для геозоны. Не может использоваться вместе с presetCode.
clusterstringНетНовое название кластера. Укажите null, чтобы отвязать кластер от геозоны.
campaignstringНетНовый ID кампании. Укажите null, чтобы отвязать кампанию от геозоны. Если параметр опущен, значение кампании не изменится. Имеет более высокий приоритет, чем кампания из пресета.
latnumberНетШирота геозоны.
lngnumberНетДолгота геозоны.
rangeintegerНетНовый радиус в метрах.
timetableobjectНетРасписание геозоны. Подробности см. ниже.

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"geoZoneId": 100016750, // обязательно, из метода /addGeoZone
"name": "new geozone name", // необязательно
"cooldown": 222, // в секундах, необязательно
"status": 0, // необязательно, 0 — деактивирована, 1 — активирована
"presetCode": "BBBBB-AAAAA", // необязательно, не может использоваться вместе с "content"
"content": "new geozone content", // необязательно, не может использоваться вместе с "presetCode"
"cluster": "GEOZONE CLUSTER CODE", // необязательно. Укажите null, чтобы отвязать кластер от геозоны
"campaign": "CAMPAIGN_CODE", // необязательно. Укажите null, чтобы отвязать кампанию от геозоны
"lat": 10.56, // необязательно, широта геозоны
"lng": 12.523, // необязательно, долгота геозоны
"range": 500, // необязательно, радиус геозоны
"timetable": { // необязательно
"timezone": 1234, // в секундах
"Mon": [ // доступные дни: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Отправка push-уведомлений
{
"start": "04:11",
"stop": "12:00"
}
],
"Sun": [
{ // один или два интервала
"start": "01:11",
"stop": "17:00"
},
{
"start": "18:01",
"stop": "23:59"
}
]
}
}
}

deleteGeoZone

Anchor link to

Удаляет геозоны из приложения.

POST https://api.pushwoosh.com/json/1.3/deleteGeoZone

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh
geozonesstringДаМассив ID или один ID геозоны для удаления.

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX", // обязательно, код приложения Pushwoosh
"geozones": [550, 526] // обязательно, ID геозон
}
}

addGeoZoneCluster

Anchor link to

Добавляет кластер геозон в приложение.

POST https://api.pushwoosh.com/json/1.3/addGeoZoneCluster

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh
namestringДаНазвание кластера.
cooldownintegerДаЗадержка перед тем, как один и тот же пользователь сможет получить повторное сообщение из кластера геозон, в секундах.

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX", // обязательно, код приложения Pushwoosh
"name": "Raccoon city", // обязательно, название кластера
"cooldown": 3210 // обязательно, в секундах
}
}

deleteGeoZoneCluster

Anchor link to

Удаляет кластер геозон из приложения.

POST https://api.pushwoosh.com/json/1.3/deleteGeoZoneCluster

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh
geoZoneClusterstringДаID кластера геозон для удаления.

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX", // обязательно, код приложения Pushwoosh
"geoZoneCluster": "EA1CE-69405" // обязательно, ID кластера, полученный из запроса /addGeoZoneCluster
}
}

listGeoZones

Anchor link to

Получает список геозон для приложения.

POST https://api.pushwoosh.com/json/1.3/listGeoZones

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX" // обязательно, код приложения Pushwoosh
}
}

listGeoZoneClusters

Anchor link to

Получает список кластеров геозон для приложения.

POST https://api.pushwoosh.com/json/1.3/listGeoZoneClusters

Параметры запроса

Anchor link to
Параметр
Тип
ОбязательныйОписание
authstringДаТокен доступа API из Панели управления Pushwoosh.
applicationstringДаКод приложения Pushwoosh

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

Anchor link to
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh
"application": "XXXXX-XXXXX" // обязательно, код приложения Pushwoosh
}
}