1

Wialon Hosting и Webhook - механизм оповещения системы о событиях

Тема: Wialon Hosting и Webhook - механизм оповещения системы о событиях

Доброго дня.

Разрабатываем систему биллинга для Wialon Hosting. Для актуальной информации по кол-ву объектов в системе необходимо постоянно запрашивать информацию, что дает большую нагрузку на сервер.

Можно ли внедрить в систему WialonHosting Webhook ( механизм оповещения системы о событиях)
Когда происходит событие (например добавление объекта) он запросит адрес сайта с параметрами, передаст и там будут свежие данные.

Алексей Александров
Скай Телеком
Чебоксары
2

Wialon Hosting и Webhook - механизм оповещения системы о событиях

Re: Wialon Hosting и Webhook - механизм оповещения системы о событиях

Здравствуйте.

В данный момент вы можете использовать поллинг avl_evts, предварительно вызвав update_data_flags со следующими параметрами:

{type: "access", data: 1, flags: 0, mode: 0}

После этого начнут приходить специальные события с идентификатором -5:

{
    "i": -5,
    "d": {
        "a": [{
            "t": "avl_unit",
            "ids": [14414]
        }]
    }
}
{
    "i": -5,
    "d": {
        "r": [14414]
    }
}

"a" при получении каких-либо прав на сущность, "r" при потере и вам нужно будет только постоянно держать одно соединение.

Если будете следить с верхнего пользователя, у которого гарантировано есть права доступа на всё дерево, то любое получение прав -- это создание объектов, потеря -- удаление. Дальше можно сделать searchItem и выяснить, что это за объект и кто его создал.

----

По поводу webhook'ов.

Существует функционал уведомлений, которые могут совершать GET/POST запросы, но на данный момент нет типов уведомлений по созданию/удалению объектов и вряд ли они там появятся рядом со сливами/превышениями скорости/прочими, ибо больше нужны таки разработчикам.

Для вашего случая (довольно редкие события, за которыми необходимо следить постоянно) webhook'и действительно были бы оптимальны.

Если бы набралось больше таких кейсов, чтобы можно было это оформить в какой-то логичный функционал конкретно для разработчиков (а не просто добавить куда-нибудь в интерфейс "создать webhook по созданию/удалению объектов" и всё), вероятность их реализации была бы выше.