# zabbix to tg dashboard swagger - https://osnova-api-alert.sm8255082.ru/docs endpoints: - https://osnova-api-alert.sm8255082.ru/ping (get, post) без авторизации, без параметров - https://osnova-api-alert.sm8255082.ru/api/v1/zbx/send-to-dashboard (post) в заголовке должен быть токен 'x-api-key: токен' должны предаваться в data: ```json { "message": "str - текст сообщения вместе с темой", "event_id": "int - id алерта", "event_value": "int - 0, если ОК, 1, если проблема ", "tg_tread_id": "int - id подчата ", "tg_chat_id": "int - id чата", "tg_token": "str - токен телеграм бота" ``` Параметры для mediatype: ``` parameters: - name: ApiToken value: страшносекурныйтокен - name: ApiURL value: 'https://example.com/api/v1/zbx/send-to-dashboard' - name: event_id value: '{EVENT.ID}' - name: event_severity value: '{EVENT.SEVERITY}' - name: event_value value: '{EVENT.VALUE}' - name: message value: '{ALERT.MESSAGE}' - name: subject value: '{ALERT.SUBJECT}' - name: tg_chat_id value: '{$TG_CHAT_ID}' - name: tg_token value: '{$TG_BOT_TOKEN}' - name: tg_tread_id value: '{ALERT.SENDTO}' ``` Пример js для заббикса: ```javascript function sendMessage(value) { var params = JSON.parse(value), data, response, request = new HttpRequest(), url = params.ApiURL; request.addHeader('Content-Type: application/json'); request.addHeader('x-api-key: ' + params.ApiToken); if (params.event_severity === 'Not classified') { params.message = '⚪️' + params.subject + '⚪️' + '\n' + params.message; } else if (params.event_severity === 'Information') { params.message = '🔵' + params.subject + '🔵' + '\n' + params.message; } else if (params.event_severity === 'Warning') { params.message = '🟡' + params.subject + '🟡' + '\n' + params.message; } else if (params.event_severity === 'Average') { params.message = '🟠' + params.subject + '🟠' + '\n' + params.message; } else if (params.event_severity === 'High') { params.message = '🔴' + params.subject + '🔴' + '\n' + params.message; } else if (params.event_severity === 'Disaster') { params.message = '🟤' + params.subject + '🟤' + '\n' + params.message; } else { params.message = params.subject + '\n' + params.message; } data = JSON.stringify(params); response = request.post(url, data); if (request.getStatus() === 200) { return 'OK'; } else { if (typeof response.description === 'string') { throw response.description; } else { throw 'Unknown error. Check debug log for more information.'; } } } try { sendMessage(value); return 'OK'; } catch (error) { throw 'Unknown error ' + error; } ``` You can try to get the message_thread_id from the message link - send a message to the topic you need from the application - right click on the sent message and choose "Copy message link" - paste link somewhere - you will see something like this: https://t.me/c/1112223334/25/33 - the value 25(value after long number) from the link will be message_thread_id I assume that -100 + 1112223334 - will be equal chat_id The number after will be message_thread_id And the last one should be message_id