API для геозон
getNearestZone
Anchor link toВызывается внутренне из SDK. Получает параметры ближайшей геозоны и расстояние до нее. Также записывает местоположение устройства для отправки гео-пушей.
POST https://api.pushwoosh.com/json/1.3/getNearestZone
Параметры запроса
Anchor link toПараметр | Тип | Обязательный | Описание |
---|---|---|---|
application | string | Да | Код приложения Pushwoosh |
hwid | string | Да | Аппаратный идентификатор устройства (HWID), используемый в запросе /registerDevice . |
lat | string | Да | Широта устройства. |
lng | string | Да | Долгота устройства. |
Пример запроса
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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения Pushwoosh |
geozones | array | Да | Параметры геозоны в виде JSON-массива. |
geozones.name | string | Да | Название геозоны. |
geozones.lat | string | Да | Широта геозоны. |
geozones.lng | string | Да | Долгота геозоны. |
geozones.cooldown | integer | Да | Период тишины после отправки уведомления (в секундах). |
geozones.range | integer | Да | Радиус геозоны (в метрах, от 50 до 1000). |
geozones.content | string or object | Обязателен, если presetCode не указан. | Содержимое сообщения для геозоны. |
geozones.presetCode | string | Обязателен, если content не указан. | Пресет для push-уведомления, используемый вместо content . |
geozones.cluster | string | Нет | Укажите null , чтобы отвязать кластер от геозоны. |
geozones.campaign | string | Нет | Укажите null , чтобы отвязать кампанию от геозоны. Если параметр опущен, значение кампании останется без изменений. Примечание: имеет более высокий приоритет, чем кампания в пресете. |
geozones.timetable | object | Нет | Устанавливает интервалы расписания. |
Пример запроса
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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
geoZoneId | string | Да | ID геозоны из запроса /addGeoZone . |
name | string | Нет | Новое название геозоны. |
cooldown | integer | Нет | Новый период тишины для обновления, в секундах. |
status | integer | Нет | 0 — деактивирована, 1 — активирована. |
content | string | Нет | Содержимое push-уведомления для геозоны. Не может использоваться вместе с presetCode . |
cluster | string | Нет | Новое название кластера. Укажите null , чтобы отвязать кластер от геозоны. |
campaign | string | Нет | Новый ID кампании. Укажите null , чтобы отвязать кампанию от геозоны. Если параметр опущен, значение кампании не изменится. Имеет более высокий приоритет, чем кампания из пресета. |
lat | number | Нет | Широта геозоны. |
lng | number | Нет | Долгота геозоны. |
range | integer | Нет | Новый радиус в метрах. |
timetable | object | Нет | Расписание геозоны. Подробности см. ниже. |
Пример запроса
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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения Pushwoosh |
geozones | string | Да | Массив 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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения Pushwoosh |
name | string | Да | Название кластера. |
cooldown | integer | Да | Задержка перед тем, как один и тот же пользователь сможет получить повторное сообщение из кластера геозон, в секундах. |
Пример запроса
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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения Pushwoosh |
geoZoneCluster | string | Да | 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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения 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Параметр | Тип | Обязательный | Описание |
---|---|---|---|
auth | string | Да | Токен доступа API из Панели управления Pushwoosh. |
application | string | Да | Код приложения Pushwoosh |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, токен доступа API из Панели управления Pushwoosh "application": "XXXXX-XXXXX" // обязательно, код приложения Pushwoosh }}