Geozones API
getNearestZone
Anchor link toВызывается внутри SDK. Получает параметры ближайшей геозоны и расстояние до нее. Также записывает местоположение устройства для гео-пуш-уведомлений.
POST https://api.pushwoosh.com/json/1.3/getNearestZoneПараметры тела запроса
Anchor link to| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| application | string | Да | Pushwoosh application code |
| hwid | string | Да | Hardware device ID, используемый в запросе /registerDevice. |
| lat | string | Да | Широта устройства. |
| lng | string | Да | Долгота устройства. |
Пример запроса
Anchor link to{ "request": { "application": "APPLICATION_CODE", "hwid": "HWID", "lat": 10.12345, "lng": 28.12345 }}Пример на PHP
Anchor link to// See http://gomoob.github.io/php-pushwoosh/get-nearest-zone.html
use Gomoob\Pushwoosh\Model\Request\GetNearestZoneRequest;
// Creates the request instance$request = GetNearestZoneRequest::create() ->setHwid('HWID') ->setLat(10.12345) ->setLng(28.12345);
// Call the '/getNearestZone' Web Service$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 access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
| 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 access token from Pushwoosh Control Panel "application": "XXXXX-XXXXX", // Pushwoosh application code "geozones": [{ "name": "Statue of George", // required. Geozone name. "lat": "40.70087797", // required. Geozone latitude. "lng": "-73.931851387", // required. Geozone longitude. "cooldown": 60, // in seconds, required. Silent period after sending a notification "range": 50, // in meters, from 50 to 1000, required. Range of the geozone. "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", // or object "presetCode": "AAAAA-BBBBB", // optional. Push preset could be used instead of content "cluster": "GEOZONE CLUSTER CODE", // optional. Cluster's cooldown period will be applied "campaign": "CAMPAIGN_CODE", // optional. Specify null to unbind Campaign from Geozone "timetable": { // optional "timezone": 1234, // in seconds "Mon": [ // available days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Push sending { "start": "04:11", "stop": "12:00" } ], "Sun": [ { // one or two intervals "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 access token из Control Panel Pushwoosh. |
| geoZoneId | string | Да | Geozone ID из запроса /addGeoZone. |
| name | string | Нет | Новое название геозоны. |
| cooldown | integer | Нет | Новый период тишины (cooldown), в секундах. |
| status | integer | Нет | 0 - деактивирована, 1 - активирована. |
| content | string | Нет | Содержимое пуш-уведомления геозоны. Не может использоваться вместе с presetCode. |
| cluster | string | Нет | Новое имя кластера. Укажите null, чтобы отвязать кластер от геозоны. |
| campaign | string | Нет | Новый ID кампании. Укажите null, чтобы отвязать кампанию от геозоны. Если не указано, значение кампании не изменится. Имеет более высокий приоритет, чем кампания из пресета. |
| lat | number | Нет | Широта геозоны. |
| lng | number | Нет | Долгота геозоны. |
| range | integer | Нет | Новый радиус в метрах. |
| timetable | object | Нет | Расписание геозоны. См. подробности ниже. |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "geoZoneId": 100016750, // required, from /addGeoZone method "name": "new geozone name", // optional "cooldown": 222, // in seconds, optional "status": 0, // optional, 0 - deactivated, 1 - activated "presetCode": "BBBBB-AAAAA", // optional, cannot be used along with "content" "content": "new geozone content", // optional, cannot be used along with "presetCode" "cluster": "GEOZONE CLUSTER CODE", // optional. Specify null to unbind cluster from Geozone "campaign": "CAMPAIGN_CODE", // optional. Specify null to unbind Campaign from Geozone "lat": 10.56, // optional, geozone latitude "lng": 12.523, // optional, geozone longitude "range": 500, // optional, geozone range "timetable": { // optional "timezone": 1234, // in seconds "Mon": [ // available days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. Push sending { "start": "04:11", "stop": "12:00" } ], "Sun": [ { // one or two intervals "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 access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
| geozones | string | Да | Массив ID или один ID геозоны для удаления. |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "geozones": [550, 526] // required, geozones IDs }}addGeoZoneCluster
Anchor link toДобавляет кластер геозон в приложение.
POST https://api.pushwoosh.com/json/1.3/addGeoZoneClusterПараметры тела запроса
Anchor link to| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
| name | string | Да | Название кластера. |
| cooldown | integer | Да | Задержка перед тем, как один пользователь сможет получить то же сообщение от кластера геозон, в секундах. |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "name": "Raccoon city", // required, cluster name "cooldown": 3210 // required, in seconds }}deleteGeoZoneCluster
Anchor link toУдаляет кластер геозон из приложения.
POST https://api.pushwoosh.com/json/1.3/deleteGeoZoneClusterПараметры тела запроса
Anchor link to| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
| geoZoneCluster | string | Да | ID кластера геозон для удаления. |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX", // required, Pushwoosh application code "geoZoneCluster": "EA1CE-69405" // required, cluster ID obtained from the /addGeoZoneCluster request }}listGeoZones
Anchor link toПолучает список геозон для приложения.
POST https://api.pushwoosh.com/json/1.3/listGeoZonesПараметры тела запроса
Anchor link to| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX" // required, Pushwoosh application code }}listGeoZoneClusters
Anchor link toПолучает список кластеров геозон для приложения.
POST https://api.pushwoosh.com/json/1.3/listGeoZoneClustersПараметры тела запроса
Anchor link to| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Control Panel Pushwoosh. |
| application | string | Да | Pushwoosh application code |
Пример запроса
Anchor link to{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // required, API access token from Pushwoosh Control "application": "XXXXX-XXXXX" // required, Pushwoosh application code }}