Вебхуки
Общее ¶
Общая информация
Вебхуки — это механизм, который позволяет при различных событиях в Okdesk оповещать об этих событиях сторонние системы, передавая подробную информацию о событии. Передача информации происходит по протоколу http(s).
В данном разделе описан формат данных исходящих вебхуков для каждого из поддерживаемых типов событий. Инструкция по добавлению вебхуков представлена по ссылке.
Заявки ¶
Общее
Json в вебхуках на события с заявками содержит 2 части: информация о заявке и информация о событии.
Часть с информацией о заявке имеет следующую структуру:
{
"title": "Требуется мастер на выезд",
"planned_execution_in_hours": "12.5",
"id": "153",
"parent_id": null,
"child_ids": [
93,
94,
91
],
"description": "Обнаружена неисправность на объекте",
"type": {
"code": "service",
"name": "Обслуживание",
"inner": false
},
"priority": {
"code": "low",
"name": "Низкий"
},
"status": {
"code": "opened",
"name": "Открыта"
},
"old_status": {
"code": "completed",
"name": "Решена"
},
"client": {
"company": {
"name": "ООО Транспортное обслуживание",
"id": "15"
},
"contact": {
"first_name": "Николай",
"last_name": "Ставрогин",
"patronymic": "Всеволодович",
"id": "21"
}
},
"agreement": {
"id": "34",
"title": "Договор технического обслуживания №2016-03/1"
},
"maintenance_entity": {
"name": "053 Камаз Т1",
"id": "43",
"address": {
"string_value": "Екатеринбург, Свердловская область, 620141, Россия",
"coordinates": [
56.866532,
60.596592
]
}
},
"equipments": [
{
"serial_number": "123N3",
"inventory_number": "453S-A",
"id": "96",
"type": {
"code": "laptop",
"name": "Ноутбук"
},
"manufacturer": {
"code": "asus",
"name": "Asus"
},
"model": {
"code": "x50sm",
"name": "x50sm"
}
}
],
"author": {
"first_name": "Андрей",
"last_name": "Елизаров",
"patronymic": "Валерьевич",
"id": "44",
"type": "employee"
},
"assignee": {
"group": {
"name": "Тех. обслуживание",
"id": "1"
},
"employee": {
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич",
"id": "116"
}
},
"observers": {
"employees": [
{
"first_name": "Петр",
"last_name": "Антонов",
"patronymic": "Захарович",
"id": "113"
}
],
"contacts": [
{
"first_name": "Артем",
"last_name": "Акмаев",
"patronymic": "Викторович",
"id": "121"
}
],
"groups": [
{
"name": "Отдел диагостики",
"id": "1"
}
]
},
"created_at": "2016-09-30T09:28:50.499+03:00",
"deadline_at": "2016-09-30T17:28:50.000+03:00",
"planned_reaction_at": "2016-10-22T13:00:00.000+03:00",
"start_execution_until": "2019-09-01T00:00:00.000+03:00",
"completed_at": null,
"reacted_at": "2016-10-15T15:31:14.383+03:00",
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"value": "ул. Ленина 44"
}
],
"attachments": [
{
"id": "8",
"attachment_file_name": "photo.jpg",
"description": "Фотография неисправности",
"attachment_file_size": "4149",
"is_public": false,
"created_at": "2016-09-30T09:28:50.499+03:00"
}
]
}
Создание заявки
Вебхук отправляется на заданный URL в случае создания заявки.
{
"event": {
"event_type": "new_ticket"
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Изменение статуса заявки
Вебхук отправляется на заданный URL в случае изменения статуса заявки.
{
"event": {
"event_type": "new_ticket_status",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"old_status": {
"code": "opened",
"name": "Открыта"
},
"new_status": {
"code": "completed",
"name": "Решена"
},
"comment": {
"id": "5880",
"is_public": true,
"content": "Работы проверены"
},
"attachments": [
{
"id": "519",
"is_public": true,
"attachment_file_name": "Screenshot(1).png",
"description": "Документ №1",
"attachment_file_size": "23460",
"created_at": "2021-04-14T16:58:03.921+03:00"
}
],
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"value": "ул. Ленина 44"
}
],
"time_entries": {
"id": "13",
"comment": "Проверка товара",
"spent_time": "2",
"employee": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1"
}
},
"old_assignee": {
"group": {
"name": "Отдел контроля качества",
"id": "2"
},
"employee": {
"first_name": "Пётр",
"last_name": "Петрович",
"patronymic": "Петров",
"id": "6"
}
},
"new_assignee": {
"group": {
"name": "Отдел продаж",
"id": "2"
},
"employee": {
"first_name": "Аглая",
"last_name": "Ивановна",
"patronymic": "Епанчина",
"id": "5"
}
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Изменение ответственности за заявку
Вебхук отправляется на заданный URL в случае изменения ответственности за заявку, включая изменение ответственности при маршрутизации при смене статуса.
{
"event": {
"event_type": "new_assignee",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"old_assignee": {
"group": {
"name": "Отдел контроля качества",
"id": "2"
},
"employee": {
"first_name": "Пётр",
"last_name": "Петрович",
"patronymic": "Петров",
"id": "6"
}
},
"new_assignee": {
"group": {
"name": "Отдел продаж",
"id": "2"
},
"employee": {
"first_name": "Аглая",
"last_name": "Ивановна",
"patronymic": "Епанчина",
"id": "5"
}
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Изменение типа заявки
Вебхук отправляется на заданный URL в случае изменения типа заявки.
{
"event": {
"event_type": "update_issue_work_type",
"old_type": {
"code": "incident",
"name": "Инцидент"
},
"new_type": {
"code": "service",
"name": "Обслуживание"
},
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Новый комментарий к заявке
Вебхук отправляется на заданный URL в случае добавления комментария к заявке, в том числе в случае добавления комментария при смене статуса.
{
"event": {
"event_type": "new_comment",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"comment": {
"id": "5880",
"is_public": true,
"content": "Работы проверены"
},
"attachments": [
{
"id": "519",
"is_public": true,
"attachment_file_name": "Screenshot(1).png",
"description": "Документ №1",
"attachment_file_size": "23460",
"created_at": "2021-04-14T16:58:03.921+03:00"
}
]
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Добавление файла к заявке
Вебхук отправляется на заданный URL в случае добавления файла к заявке, в том числе в случае добавления файла при смене статуса и при комментировании.
{
"event": {
"event_type": "new_files",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"attachments": [
{
"id": "519",
"is_public": true,
"attachment_file_name": "Screenshot(1).png",
"description": "Документ №1",
"attachment_file_size": "23460",
"created_at": "2021-04-14T16:58:03.921+03:00"
}
]
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Изменение планового времени решения заявки
Вебхук отправляется на заданный URL в случае изменения планового времени решения у заявки.
{
"event": {
"event_type": "new_deadline",
"deadline_at": {
"auto_recount": false,
"old_value": "2021-10-14T15:12:00.000+03:00",
"new_value": "2021-10-16T09:00:00.000+03:00"
},
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Удаление заявки
Вебхук отправляется на заданный URL в случае удаления заявки.
Обратите внимание ¶
Информация из раздела “Общее” передается не полностью
{
"event": {
"event_type": "ticket_deleted",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович"
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Оборудование ¶
Общее
Json в вебхуках на события с оборудованием содержит 2 части: информация об оборудовании и информация о событии.
Часть с информацией об оборудовании имеет следующую структуру:
{
"id": "100",
"equipment_kind": {
"id": "3",
"code": "laptop",
"name": "Ноутбук"
},
"equipment_manufacturer": {
"id": "3",
"code": "Asus",
"name": "Асус"
},
"equipment_model": {
"id": "3",
"code": "Asus",
"name": "Асус"
},
"serial_number": "222222",
"inventory_number": "1111",
"comment": "Комментарий",
"company": {
"id": "8",
"name": "dev_gps7000"
},
"maintenance_entity": {
"id": "32",
"name": "Принтер"
},
"agreements": [
{
"id": "34",
"name": "Нормативный договор #1"
}
],
"parameters": [
{
"code": "datetime",
"name": "Время запуска",
"type": "ftdatetime",
"value": null
},
{
"code": "color",
"name": "Цвет",
"type": "ftstring",
"value": "Синий"
}
],
"created_at": "2021-09-21T12:24:03.106+03:00",
"author": {
"first_name": "Андрей",
"last_name": "Елизаров",
"patronymic": "Валерьевич",
"id": "44",
"type": "employee"
}
}
Создание оборудования
Вебхук отправляется на заданный URL в случае создания оборудования.
{
"event": {
"event_type": "new_equipment"
},
"equipment": Описание этого блока информации представлено в разделе Общее
}
Редактирование оборудования
Вебхук отправляется на заданный URL в случае редактирования оборудования.
{
"event": {
"event_type": "change_equipment",
"author": {
"first_name": "Андрей",
"last_name": "Елизаров",
"patronymic": "Валерьевич",
"id": "44",
"type": "employee"
},
"changes": [
{
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"old_value": "ул. Витте 44",
"new_value": "ул. Столыпина 44"
}
]
},
{
"code": "company_id",
"old_value": null,
"new_value": "12"
},
{
"code": "maintenance_entity_id",
"old_value": null,
"new_value": "6"
},
{
"code": "serial_number",
"old_value": "serial-123",
"new_value": "serial-321"
},
{
"code": "inventory_number",
"old_value": "inventory-123",
"new_value": "inventory-321"
},
{
"code": "agreement_ids",
"old_value": [
12
],
"new_value": [
12,
13
]
},
{
"code": "comment",
"old_value": "Версия №1",
"new_value": "Версия №2"
},
{
"code": "equipment_manufacturer_id",
"old_value": null,
"new_value": {
"id": "3",
"code": "Asus",
"name": "Асус"
}
},
{
"code": "equipment_model_id",
"old_value": null,
"new_value": {
"id": "3",
"code": "Asus",
"name": "Асус"
}
},
{
"code": "equipment_kind_id",
"old_value": null,
"new_value": {
"id": "3",
"code": "laptop",
"name": "Ноутбук"
}
},
]
},
"equipment": Описание этого блока информации представлено в разделе Общее
}