GET api/organization/{orgKey}/info
- Метод
- GET
- URI
- api/organization/{orgKey}/info
- Опис
- Отримати інформацію по організації (баланс)
- Приклад
- {"Balance":14.655}
- orgKey
- Ключ організації, знаходиться у властивостях організації на порталі
GET api/device/list/{orgKey}/{stateKey}
- Метод
- GET
- URI
- api/device/list/{orgKey}/{stateKey}
- Опис
- Отримати список пристроїв
- Приклад отримання списку пристоїв
- [{"Key":"3f9dcd5a-5b01-4425-851f-fe298f0f7d18","Id":39273,"State":1,"CreatedAt":"2022-04-08T07:11:03",LastUpdated:"2023-08-17T16:59:00",DtDataFrom:"2022-04-08T09:59:00",DtDataTo:"2023-08-17T16:59:00",BatteryChargeLevel:73}]
- orgKey
- Ключ організації, знаходиться у властивостях організації на порталі
- stateKey
- Необов'язковий параметр. Фільтруйте пристрої за станом 0 - пристрої в офлайні, 1 - пристрої на зв'язку
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Id
- Унікальний ідентифікатор пристрою
- State
- Стан пристрою 0 - пристрої в офлайні, 1 - пристрої на зв'язку
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/device/list/5ded541d-8555-405b-b33d-9b4b3cb48c63";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
GET api/device/list-by-battery/{orgKey}/{maxBatteryLevel}
- Метод
- GET
- URI
- api/device/list-by-battery/{orgKey}/{maxBatteryLevel}
- Опис
- Get device list by battery level
- Приклад отримання списку пристоїв
- [{"Key":"3f9dcd5a-5b01-4425-851f-fe298f0f7d18","Id":39273,"State":1,"CreatedAt":"2022-04-08T07:11:03",LastUpdated:"2023-08-17T16:59:00",DtDataFrom:"2022-04-08T09:59:00",DtDataTo:"2023-08-17T16:59:00",BatteryChargeLevel:73}]
- orgKey
- Ключ організації, знаходиться у властивостях організації на порталі
- maxBatteryLevel
- Maximum required device battery level.
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Id
- Унікальний ідентифікатор пристрою
- State
- Стан пристрою 0 - пристрої в офлайні, 1 - пристрої на зв'язку
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/device/list-by-battery/5ded541d-8555-405b-b33d-9b4b3cb48c63/20";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
GET api/data/{orgKey}/{days}/{useTimeTableFilter}
- Метод
- GET
- URI
- api/data/{orgKey}/{days}
- Опис
- Повертає дані по відвідувачам
- Приклад відвантаження даних
- [{"Key":"3f9dcd5a-5b01-4425-851f-fe298f0f7d18","Items":[{"DTime":"2013-12-05T10:00:00","Income":1,"Outcome":4},{"DTime":"2013-12-05T11:00:00","Income":1,"Outcome":4},{"DTime":"2013-12-05T12:00:00","Income":2,"Outcome":8},{"DTime":"2013-12-05T13:00:00","Income":5,"Outcome":11},{"DTime":"2013-12-05T14:00:00","Income":0,"Outcome":5}], "Id": 39273}]
- orgKey
- Ключ організації, знаходиться у властивостях організації на порталі
- days
- Необов'язковий параметр. Кількість днів, за які завантажити дані По замовчуванню 5. Максимальне значення 20
- useTimeTableFilter
- Необов'язковий параметр. Вмикає\вимикає фільтр по робочому часу для даних. По замовчуванню false
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Items
- Масив даних пристрою
- Id
- Унікальний ідентифікатор пристрою
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/data/5ded541d-8555-405b-b33d-9b4b3cb48c63";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
GET api/data/{deviceKey}/{dtFrom}/{dtTo}/{useTimeTableFilter}
- Метод
- GET
- URI
- api/data/{deviceKey}/{dtFrom}/{dtTo}
- Опис
- Повертає дані пристрою за вказаним проміжком часу
- Приклад відвантаження даних
- [{"Key":"3f9dcd5a-5b01-4425-851f-fe298f0f7d18","Items":[{"DTime":"2013-12-05T10:00:00","Income":1,"Outcome":4},{"DTime":"2013-12-05T11:00:00","Income":1,"Outcome":4},{"DTime":"2013-12-05T12:00:00","Income":2,"Outcome":8},{"DTime":"2013-12-05T13:00:00","Income":5,"Outcome":11},{"DTime":"2013-12-05T14:00:00","Income":0,"Outcome":5}], "Id": 39273}]
- deviceKey
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- dtFrom
- Початкова дата в форматі YYYY-MM-dd (наприклад 2016-08-29)
- dtTo
- Кінцева дата в форматі YYYY-MM-dd (наприклад 2016-09-1)
- useTimeTableFilter
- Необов'язковий параметр. Вмикає\вимикає фільтр по робочому часу для даних. По замовчуванню false
- deviceKey
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Items
- Масив даних пристрою
- Id
- Унікальний ідентифікатор пристрою
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/data/3f9dcd5a-5b01-4425-851f-fe298f0f7d18/2016-08-29/2016-09-1";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
GET api/events/{orgKey}/{days}
- Метод
- GET
- URI
- api/events/{orgKey}/{days}
- Опис
- Повертає події пристрою
- Приклад відвантаження подій
- [{"Key":"00087b41-e804-44ca-8885-6c1ce6dab0b0","Id":29718,"Items":[{"Event":0,"DtFrom":"2019-01-12T12:11:00","DtTo":"2019-01-12T12:11:00"},{"Event":0,"DtFrom":"2019-01-12T14:22:00","DtTo":"2019-01-12T14:22:00"}]}]
- orgKey
- Ключ організації, знаходиться у властивостях організації на порталі
- days
- Необов'язковий параметр. Кількість днів, за які завантажити події By default is 20. Maximum value is 90
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Items
- Масив подій пристрою
- Id
- Унікальний ідентифікатор пристрою
- Event
- Тип події пристрою. 0 - перекриття, 1 - вимкнення живлення, 2 - вимкнення модуля wi-fi за таймаутом, 3 - натиснута кнопка персоналу, 4 - відсутнє з'єднання з wi-fi роутером, 5 - відсутнє з'єднання з порталом, 100 - зміна дати або часу пристрою
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/events/5ded541d-8555-405b-b33d-9b4b3cb48c63";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
GET api/events/{deviceKey}/{dtFrom}/{dtTo}
- Метод
- GET
- URI
- api/data/{deviceKey}/{dtFrom}/{dtTo}
- Опис
- Повертає події пристрою за вказаним проміжком часу
- Приклад відвантаження подій
- [{"Key":"00087b41-e804-44ca-8885-6c1ce6dab0b0","Id":29718,"Items":[{"Event":0,"DtFrom":"2019-01-12T12:11:00","DtTo":"2019-01-12T12:11:00"},{"Event":0,"DtFrom":"2019-01-12T14:22:00","DtTo":"2019-01-12T14:22:00"}]}]
- deviceKey
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- dtFrom
- Початкова дата в форматі YYYY-MM-dd (наприклад 2016-08-29)
- dtTo
- Кінцева дата в форматі YYYY-MM-dd (наприклад 2016-09-1)
- deviceKey
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Key
- Ключ пристрою, знаходиться у властивостях пристрою на порталі
- Items
- Масив подій пристрою
- Id
- Унікальний ідентифікатор пристрою
- Event
- Тип події пристрою. 0 - перекриття, 1 - вимкнення живлення, 2 - вимкнення модуля wi-fi за таймаутом, 3 - натиснута кнопка персоналу, 4 - відсутнє з'єднання з wi-fi роутером, 5 - відсутнє з'єднання з порталом, 100 - зміна дати або часу пристрою
Процедура ЗагрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/events/3f9dcd5a-5b01-4425-851f-fe298f0f7d18/2016-08-29/2016-09-1";
HTTP.Open("Get",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
Попытка
HTTP.SetRequestHeader("Content-Length", 0);
HTTP.Send("");
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Сообщить(HTTP.responsetext);
КонецПроцедуры
POST api/cash
- Метод
- POST
- URI
- api/cash
- Опис
- Завантажує дані по чекам для розрахунку внутрішньої конверсії
- Приклад даних каси
- { 'UploadKey':'dafbb154-a40e-4688-bbd8-8f61aa9b095e', 'Items' : [ {'DTime':'2013.02.11 09:59', 'Quantity':'12', 'Amount':'33322.12'}, {'DTime':'2013.02.11 10:59', 'Quantity':'50', 'Amount':'31754'} ] }
- UploadKey
- Ключ каси, знаходиться у властивостях каси на порталі
- Items
- Масив даних по касі
Процедура ВыгрузкаДанных()
HTTP=Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
URL = "http://www.gsmcounters.com/api/cash";
HTTP.Open("Post",URL,0);
HTTP.SetRequestHeader("Content-Type", "application/json");
data = "{'UploadKey':'0000eed4-e9bc-4a9e-854d-0e984c860f47', 'Items' : ";
data = data + "[{'DTime':'2013.02.11 09:59', 'Quantity':'12', 'Amount':'88912'}";
data = data + ",{'DTime':'2013.02.11 10:59', 'Quantity':'50', 'Amount':'98955'}";
data = data + ",{'DTime':'2013.02.11 11:59', 'Quantity':'31', 'Amount':'112471'}";
data = data + ",{'DTime':'2013.02.11 12:59', 'Quantity':'63', 'Amount':'134652'}";
data = data + ",{'DTime':'2013.02.11 13:59', 'Quantity':'78', 'Amount':'156544'}";
data = data + ",{'DTime':'2013.02.11 14:59', 'Quantity':'115', 'Amount':'21183'}";
data = data + ",{'DTime':'2013.02.11 15:59', 'Quantity':'123', 'Amount':'46331'}";
data = data + ",{'DTime':'2013.02.11 16:59', 'Quantity':'181', 'Amount':'34311'}";
data = data + ",{'DTime':'2013.02.11 17:59', 'Quantity':'108', 'Amount':'45466'}";
data = data + ",{'DTime':'2013.02.11 18:59', 'Quantity':'135', 'Amount':'79931'}";
data = data + ",{'DTime':'2013.02.11 19:59', 'Quantity':'98', 'Amount':'19146'}";
data = data + ",{'DTime':'2013.02.11 20:59', 'Quantity':'39', 'Amount':'64661'}";
data = data + ",{'DTime':'2013.02.11 21:59', 'Quantity':'21', 'Amount':'11035'}";
data = data + "]}";
Попытка
HTTP.SetRequestHeader("Content-Length", СтрДлина(data));
HTTP.Send(data);
HTTP.WaitForResponse();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Використання Web API
Щоб отримувати дані Web API у форматі json, тип контенту заголовка запиту Content-Type
має бути встановлено application/json
.
Для прив'язки до пристрою треба використовувати поле Id
, а не Key
, оскільки Key
може змінюватись (хоча поле Key
і унікальне, та при заміні пристроя Key
зміниться), а Id
- ні.
Для завантаження даних з порталу рекомендуємо використовувати комбінацію методів api/data/{orgKey}/{days} та api/data/{deviceKey}/{dtFrom}/{dtTo}.
За допомогою методу api/data/{orgKey}/{days} завантажувати дані по всім пристроям за попередні, наприклад, два дні по всій організації.
Після завантаження даних за допомогою цього методу зберігати максимальну дату, за яку є дані для кожного пристрою.
Якщо по якомусь пристрою даних немає більше двох днів, періодично завантажувати по ньому дані за допомогою методу api/data/{deviceKey}/{dtFrom}/{dtTo}.