End point:
https://gps.freetrack.com.ua/api/
...
create-geozones
- створення множини геозонupdate-geozones
- оновлення множини геозон
Приклади використання
*червоні параметри є обов'язковими
Параметр | Приклад | Опис |
---|---|---|
auth_token | { ваш токен авторизації } | POST/GET параметр або Bearer Authentication |
api_type | system | тип запиту |
api_name |
| метод, який викликаємо |
geozones | [ | дані для створення, оновлення геозон… |
Кожен об'єкт даних для створення геозони, може містити наступні елементи в самому запиті:
"externalID" - це не обов'язковий атрибут (зовнішій ID геозони у Вашій системі), буде повернуто для спрощення ідентифікації даних.
*"name" - назва бажаної геозони, в нашій системі, вона унікальна в рамках компанії. Кожна новостворена геозона буде додана до поточної компанії користувача, що виконав запит.
*"geozoneID" - наш внутрішній ID геозони, це поле використовується тільки під час оновлення геозони.
*"data" - координати полігональної геозони, мінімальна кількість 3 одиниці.
*"latitude, longitude" - координати центру радіальної геозони.
*"radius" - радіус радіальної геозони (мінімальне значення - 1, значення вказується в метрах).
*"type" - тип геозони в нашій системі, обов'язкове поле, як для створення так і для оновлення, бо при оновлені можна змінити тип геозони - [circle
або polygon
].
...
"specialTypeExtend" - описує розширені характеристики для “extended“ геозон.
Типи геозон - параметр "type" | |
---|---|
| кругова геозона, обов'язкові параметри для її створення: latitude, longitude, radius |
| полігональна геозона, обов'язкові параметри для її створення: data (більше 2х координат) до прикладу: "data":[ |
Розширені характеристики - параметр "specialTypeExtend" | Приклад | |
---|---|---|
multy | Описує характеристику вміст сміттєвих контейнерів для БАГАТОКВАРТИРНОГО будинку. Містить значення :
| "specialTypeExtend":{ |
private | Описує кількість контейнерів змішаних відходів для ПРИВАТНОГО будинку | "specialTypeExtend":{"private":5} |
Одночасне використання “multy“ та “private“ не допускається |
Приклад правильного запиту для створення геозон:
Code Block | ||
---|---|---|
| ||
[{ "name":"test-1", "type":"polygon", "externalID":475214, "data":[ ["49.108622", "25.3085"], ["49.109584511", "25.3085060"], ["49.104454", "25.309"] ] }, {"name":"test-2", "type":"circle", "externalID": 75112, "latitude": "49.82646690800183", "longitude": "23.95317792892456", "radius": 17, "specialType" : "special" }, {"name":"test-3", "type":"polygon", "data":[ ["49.10", "28.3085"], ["49.1095", "28.3085060"], ["49.107", "28.309"] ], "specialType" : "extended", "specialTypeExtend":{ "multi":{ "mixed":1, "paper":2, "plastic":3, "glass":4 } } } ] |
Приклад правильного запиту для оновлення геозон:
Code Block | ||
---|---|---|
| ||
[{ "name":"test-6", "type":"polygon", "geozoneID":777, "externalID":475214, "data":[ ["49.108622", "25.3085"], ["49.109584511", "25.3085060"], ["49.104454", "25.309"] ] }, { "name":"test-7", "type":"circle", "geozoneID": 555, "latitude": "50.8264669", "longitude": "25.95922456", "radius": 17, "specialType" : "extended", "specialTypeExtend":{"private":5} } ] |
Приклад правильної відповіді
Code Block | ||
---|---|---|
| ||
{ "result": "ok", "response": [ { "result": true, "name": "test-1", "externalID": 475214, "geozoneID": 10288 }, { "result": true, "name": "test-2", "externalID": 75112, "geozoneID": 10289 }, { "result": true, "name": "test-3", "geozoneID": 10290 } ] |
Приклад неправильних відповідей
Code Block | ||
---|---|---|
| ||
{ "result": "ok", "response": [ { "result": false, "name": "test-1", "externalID": 475214, "errorMessage": "The name of geozone should be unique!" } ] } |
...
Це пов'язано з тим, що якусь кількість геозон може бути все таки створено/оновлено. Результат кожної операції слід перевіряти на значення "result"
в кожному повернутому елементі. Також в кожному елементі може бути властивість з ключем -"errorMessage"
, це - опис помилки, якщо "result"
= false.
Типи можливих помилок
Помилка | Пояснення |
---|---|
Wrong format for ['geozones'] parameter | не правильно відформатовано параметр - geozones |
Empty ['geozonesItem'] parameter! | елемент geozones є порожній об'єкт |
Can`t find ['geozoneID'] at some data item | не передане потрібне значення в якомусь з об'єктів |
Can`t find ['name'] at some data item | не передане потрібне значення в якомусь з об'єктів |
Can`t find ['type'] at some data item | не передане потрібне значення в якомусь з об'єктів |
Wrong value of ['type'] at some data item | не правильне значення параметру - type |
Can`t find ['radius'] at some data item ... | не передане потрібне значення в якомусь з об'єктів |
Can`t find ['latitude'] or ['longitude'] at some data … | не передане потрібне значення в якомусь з об'єктів |
Can`t find ['data'] at some data item … | не передане потрібне значення в якомусь з об'єкті |
...