Skip to content

API для Geozones

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

POST https://api.wavesend.ru/json/1.3/getNearestZone
ПараметрТип
ОбязательныйОписание
applicationstringДаApplication code Wavesend
hwidstringДаHardware ID (HWID) устройства, используемый в запросе /registerDevice.
latstringДаШирота устройства.
lngstringДаДолгота устройства.
{
"request": {
"application": "APPLICATION_CODE",
"hwid": "HWID",
"lat": 10.12345,
"lng": 28.12345
}
}
// См. http://gomoob.github.io/php-wavesend/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 'Имя зоны : ' . $response->getResponse()->getName();
print 'Широта : ' . $response->getResponse()->getLat();
print 'Долгота : ' . $response->getResponse()->getLng();
print 'Радиус : ' . $response->getResponse()->getRange();
print 'Расстояние : ' . $response->getResponse()->getDistance();
} else {
print 'Упс, операция не удалась :-(';
print 'Код статуса : ' . $response->getStatusCode();
print 'Сообщение о статусе : ' . $response->getStatusMessage();
}

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

POST https://api.wavesend.ru/json/1.3/addGeoZone
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
geozonesarrayДаПараметры Geozone в виде JSON-массива.
geozones.namestringДаНазвание Geozone.
geozones.latstringДаШирота Geozone.
geozones.lngstringДаДолгота Geozone.
geozones.cooldownintegerДаSilence period после отправки уведомления (в секундах).
geozones.rangeintegerДаРадиус Geozone (в метрах, от 50 до 1000).
geozones.contentstring or objectОбязательно, если presetCode пуст.Содержимое сообщения для Geozone.
geozones.presetCodestringОбязательно, если content пуст.Preset для Push для использования вместо content.
geozones.clusterstringНетУкажите null, чтобы отвязать кластер от Geozone.
geozones.campaignstringНетУкажите null, чтобы отвязать кампанию от Geozone. Если параметр опущен, значение кампании останется неизменным. Примечание: имеет более высокий приоритет, чем кампания в preset.
geozones.timetableobjectНетУстанавливает интервалы расписания.
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX", // Application code Wavesend
"geozones": [{
"name": "Statue of George", // обязательно. Название Geozone.
"lat": "40.70087797", // обязательно. Широта Geozone.
"lng": "-73.931851387", // обязательно. Долгота Geozone.
"cooldown": 60, // в секундах, обязательно. Silence period после отправки уведомления
"range": 50, // в метрах, от 50 до 1000, обязательно. Радиус Geozone.
"content": "Lorem ipsum dolor sit amet,
consectetur adipiscing elit.", // или объект
"presetCode": "AAAAA-BBBBB", // опционально. Push preset можно использовать вместо content
"cluster": "GEOZONE CLUSTER CODE", // опционально. Будет применен период `cooldown` кластера
"campaign": "CAMPAIGN_CODE", // опционально. Укажите null, чтобы отвязать кампанию от Geozone
"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"
}
]
}
}]
}
}

Обновляет свойства Geozone.

POST https://api.wavesend.ru/json/1.3/updateGeoZone
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
geoZoneIdstringДаID Geozone из запроса /addGeoZone.
namestringНетНовое название Geozone.
cooldownintegerНетcooldown для обновления, в секундах.
statusintegerНет0 — деактивирована, 1 — активирована.
contentstringНетСодержимое push-уведомления для Geozone. Не может использоваться вместе с presetCode.
clusterstringНетНовое название кластера. Укажите null, чтобы отвязать кластер от Geozone.
campaignstringНетНовый ID кампании. Укажите null, чтобы отвязать кампанию от Geozone. Если параметр опущен, значение кампании не изменится. Имеет более высокий приоритет, чем кампания из preset.
latnumberНетШирота Geozone.
lngnumberНетДолгота Geozone.
rangeintegerНетНовый радиус в метрах.
timetableobjectНетРасписание для Geozone. Подробности см. ниже.

{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"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, чтобы отвязать кластер от Geozone
"campaign": "CAMPAIGN_CODE", // опционально. Укажите null, чтобы отвязать кампанию от Geozone
"lat": 10.56, // опционально, широта geozone
"lng": 12.523, // опционально, долгота geozone
"range": 500, // опционально, радиус geozone
"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"
}
]
}
}
}

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

POST https://api.wavesend.ru/json/1.3/deleteGeoZone
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
geozonesstringДаМассив ID или один ID Geozone для удаления.
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX", // обязательно, Application code Wavesend
"geozones": [550, 526] // обязательно, ID Geozones
}
}

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

POST https://api.wavesend.ru/json/1.3/addGeoZoneCluster
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
namestringДаНазвание кластера.
cooldownintegerДаЗадержка перед тем, как один пользователь сможет получить то же сообщение из кластера Geozone, в секундах.
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX", // обязательно, Application code Wavesend
"name": "Raccoon city", // обязательно, название кластера
"cooldown": 3210 // обязательно, в секундах
}
}

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

POST https://api.wavesend.ru/json/1.3/deleteGeoZoneCluster
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
geoZoneClusterstringДаID кластера Geozone для удаления.
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX", // обязательно, Application code Wavesend
"geoZoneCluster": "EA1CE-69405" // обязательно, ID кластера, полученный из запроса /addGeoZoneCluster
}
}

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

POST https://api.wavesend.ru/json/1.3/listGeoZones
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX" // обязательно, Application code Wavesend
}
}

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

POST https://api.wavesend.ru/json/1.3/listGeoZoneClusters
Параметр
Тип
ОбязательныйОписание
authstringДаAPI access token из Wavesend Control Panel.
applicationstringДаApplication code Wavesend
{
"request": {
"auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel
"application": "XXXXX-XXXXX" // обязательно, Application code Wavesend
}
}