API для Geozones
getNearestZone
Section titled “getNearestZone”Вызывается SDK внутренне. Получает параметры ближайшей Geozone и расстояние до нее. Также записывает местоположение устройства для гео-пушей.
POST https://api.wavesend.ru/json/1.3/getNearestZoneПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| application | string | Да | Application code Wavesend |
| hwid | string | Да | Hardware ID (HWID) устройства, используемый в запросе /registerDevice. |
| lat | string | Да | Широта устройства. |
| lng | string | Да | Долгота устройства. |
Пример запроса
Section titled “Пример запроса”{ "request": { "application": "APPLICATION_CODE", "hwid": "HWID", "lat": 10.12345, "lng": 28.12345 }}Пример на PHP
Section titled “Пример на PHP”// См. 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();}addGeoZone
Section titled “addGeoZone”Добавляет Geozone в указанное приложение.
POST https://api.wavesend.ru/json/1.3/addGeoZoneПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
| geozones | array | Да | Параметры Geozone в виде JSON-массива. |
| geozones.name | string | Да | Название Geozone. |
| geozones.lat | string | Да | Широта Geozone. |
| geozones.lng | string | Да | Долгота Geozone. |
| geozones.cooldown | integer | Да | Silence period после отправки уведомления (в секундах). |
| geozones.range | integer | Да | Радиус Geozone (в метрах, от 50 до 1000). |
| geozones.content | string or object | Обязательно, если presetCode пуст. | Содержимое сообщения для Geozone. |
| geozones.presetCode | string | Обязательно, если content пуст. | Preset для Push для использования вместо content. |
| geozones.cluster | string | Нет | Укажите null, чтобы отвязать кластер от Geozone. |
| geozones.campaign | string | Нет | Укажите null, чтобы отвязать кампанию от Geozone. Если параметр опущен, значение кампании останется неизменным. Примечание: имеет более высокий приоритет, чем кампания в preset. |
| geozones.timetable | object | Нет | Устанавливает интервалы расписания. |
Пример запроса
Section titled “Пример запроса”{ "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" } ] } }] }}updateGeoZone
Section titled “updateGeoZone”Обновляет свойства Geozone.
POST https://api.wavesend.ru/json/1.3/updateGeoZoneПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| geoZoneId | string | Да | ID Geozone из запроса /addGeoZone. |
| name | string | Нет | Новое название Geozone. |
| cooldown | integer | Нет | cooldown для обновления, в секундах. |
| status | integer | Нет | 0 — деактивирована, 1 — активирована. |
| content | string | Нет | Содержимое push-уведомления для Geozone. Не может использоваться вместе с presetCode. |
| cluster | string | Нет | Новое название кластера. Укажите null, чтобы отвязать кластер от Geozone. |
| campaign | string | Нет | Новый ID кампании. Укажите null, чтобы отвязать кампанию от Geozone. Если параметр опущен, значение кампании не изменится. Имеет более высокий приоритет, чем кампания из preset. |
| lat | number | Нет | Широта Geozone. |
| lng | number | Нет | Долгота Geozone. |
| range | integer | Нет | Новый радиус в метрах. |
| timetable | object | Нет | Расписание для Geozone. Подробности см. ниже. |
Пример запроса
Section titled “Пример запроса”{ "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" } ] } }}deleteGeoZone
Section titled “deleteGeoZone”Удаляет Geozones из приложения.
POST https://api.wavesend.ru/json/1.3/deleteGeoZoneПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
| geozones | string | Да | Массив ID или один ID Geozone для удаления. |
Пример запроса
Section titled “Пример запроса”{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel "application": "XXXXX-XXXXX", // обязательно, Application code Wavesend "geozones": [550, 526] // обязательно, ID Geozones }}addGeoZoneCluster
Section titled “addGeoZoneCluster”Добавляет кластер Geozone в приложение.
POST https://api.wavesend.ru/json/1.3/addGeoZoneClusterПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
| name | string | Да | Название кластера. |
| cooldown | integer | Да | Задержка перед тем, как один пользователь сможет получить то же сообщение из кластера Geozone, в секундах. |
Пример запроса
Section titled “Пример запроса”{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel "application": "XXXXX-XXXXX", // обязательно, Application code Wavesend "name": "Raccoon city", // обязательно, название кластера "cooldown": 3210 // обязательно, в секундах }}deleteGeoZoneCluster
Section titled “deleteGeoZoneCluster”Удаляет кластер Geozone из приложения.
POST https://api.wavesend.ru/json/1.3/deleteGeoZoneClusterПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
| geoZoneCluster | string | Да | ID кластера Geozone для удаления. |
Пример запроса
Section titled “Пример запроса”{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel "application": "XXXXX-XXXXX", // обязательно, Application code Wavesend "geoZoneCluster": "EA1CE-69405" // обязательно, ID кластера, полученный из запроса /addGeoZoneCluster }}listGeoZones
Section titled “listGeoZones”Получает список Geozones для приложения.
POST https://api.wavesend.ru/json/1.3/listGeoZonesПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
Пример запроса
Section titled “Пример запроса”{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel "application": "XXXXX-XXXXX" // обязательно, Application code Wavesend }}listGeoZoneClusters
Section titled “listGeoZoneClusters”Получает список кластеров Geozone для приложения.
POST https://api.wavesend.ru/json/1.3/listGeoZoneClustersПараметры запроса
Section titled “Параметры запроса”| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| auth | string | Да | API access token из Wavesend Control Panel. |
| application | string | Да | Application code Wavesend |
Пример запроса
Section titled “Пример запроса”{ "request": { "auth": "yxoPUlwqm............pIyEX4H", // обязательно, API access token из Wavesend Control Panel "application": "XXXXX-XXXXX" // обязательно, Application code Wavesend }}