Вебхуки
Общее ¶
Общая информация
Вебхуки — это механизм, который позволяет при различных событиях в 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": "Решена"
},
"rate": "normal",
"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"
}
},
"coexecutors": [
{
"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_csat_rate",
"rate": "normal",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
}
},
"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": "add_coexecutor",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"coexecutor": {
"group": {
"id": "1",
"name": "Тех. обслуживание"
},
"employee": {
"id": "116",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич"
}
}
},
"issue": Описание этого блока информации представлено в разделе Общее
}
Удаление соисполнителя
Вебхук отправляется на заданный URL в случае удаления соисполнителя заявки.
{
"event": {
"event_type": "remove_coexecutor",
"author": {
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"id": "1",
"type": "employee"
},
"coexecutor": {
"group": {
"id": "1",
"name": "Тех. обслуживание"
},
"employee": {
"id": "116",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич"
}
}
},
"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": Описание этого блока информации представлено в разделе Общее
}
Компании ¶
Общее
Json в вебхуках на события с компаниями содержит 2 части: информация о карточке компании и информация о событии.
Часть с информацией о компании должна иметь следующую структуру:
{
"id": "1",
"name": "Okdesk",
"additional_name": "Help Desk система для сервисных компаний",
"site": "http://okdesk.ru",
"email": "info@okdesk.ru",
"phone": "+7(499)703-47-20",
"active": true,
"observers": {
"employees": [
{
"id": "113",
"first_name": "Петр",
"last_name": "Антонов",
"patronymic": "Захарович",
"login": "petr_login",
"email": "petr@okdesk.ru"
}
],
"contacts": [
{
"id": "121",
"first_name": "Артем",
"last_name": "Акмаев",
"patronymic": "Викторович",
"login": "artem_login",
"email": "artem@okdesk.ru"
}
],
"groups": [
{
"id": "1",
"name": "Отдел диагостики"
}
]
},
"assignee": {
"employee": {
"id": "116",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич",
"login": "ivan_login",
"email": "ivan@okdesk.ru"
},
"group": {
"id": "1",
"name": "Тех. обслуживание"
}
},
"address": {
"string_value": "Екатеринбург, Свердловская область, 620141, Россия",
"coordinates": [
56.866532,
60.596592
]
},
"category": {
"code": "vipclient",
"name": "VIP-клиент"
},
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"value": "ул. Ленина 44"
}
],
"created_at": "2016-09-30T09:28:50.499+03:00"
}
Создание компании
Вебхук отправляется на заданный URL в случае создания компании.
{
"event": {
"event_type": "new_company",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"login": "ivan_login",
"email": "ivan@okdesk.ru"
}
},
"company": Описание этого блока информации представлено в разделе Общее
}
Редактирование компании
Вебхук отправляется на заданный URL в случае редактирования компании (включая архивирование / активирование карточки компании).
{
"event": {
"event_type": "change_company",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович",
"login": "ivan_login",
"email": "ivan@okdesk.ru"
},
"changes": [
{
"parameters": [
{
"code": "code1",
"name": "Вип обслуживание",
"type": "ftcheckbox",
"old_value": false,
"new_value": true
}
]
},
{
"code": "name",
"old_value": "Okdesk corp",
"new_value": "Okdesk"
},
{
"code": "additional_name",
"old_value": "",
"new_value": "Help Desk система для сервисных компаний"
},
{
"code": "site",
"old_value": "",
"new_value": "http://okdesk.ru"
},
{
"code": "email",
"old_value": "",
"new_value": "info@okdesk.ru"
},
{
"code": "phone",
"old_value": "",
"new_value": "+7(499)703-47-20"
},
{
"code": "address",
"old_value": {
"string_value": "",
"coordinates": null
},
"new_value": {
"string_value": "Екатеринбург, Свердловская область, 620141, Россия",
"coordinates": [
56.866532,
60.596592
]
}
},
{
"code": "comment",
"old_value": "",
"new_value": "Okdesk — простая и удобная облачная Help Desk система для автоматизации процессов поддержки в малых и средних сервисных компаниях. Позволяет вести учет заявок в службу поддержки, клиентов и всех взаимодействий с ними, условий предоставления услуг (SLA), договоров, их сроков действия и этапов оплаты."
},
{
"code": "default_assignee_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "default_assignee_group_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "category_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "active",
"old_value": true,
"new_value": false
},
{
"code": "observer_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "contact_observer_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "observer_group_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
]
},
"company": Описание этого блока информации представлено в разделе Общее
}
Договоры ¶
Общее
Json в вебхуках на события с договорами содержит 2 части: информация о договоре и информация о событии.
Часть с информацией о договоре должна иметь следующую структуру:
{
"id": "1",
"title": "Okdesk",
"active": true,
"cost": "100",
"start_date": "2024-03-11T00:00:00.000+03:00",
"end_date": "2024-03-22T00:00:00.000+03:00",
"companies": [
{
"id": "8",
"name": "dev_gps7000"
}
],
"observers": {
"employees": [
{
"id": "113",
"first_name": "Петр",
"last_name": "Антонов",
"patronymic": "Захарович"
}
],
"groups": [
{
"id": "1",
"name": "Отдел диагостики"
}
]
},
"assignee": {
"employee": {
"id": "116",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич"
},
"group": {
"id": "1",
"name": "Тех. обслуживание"
}
},
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"value": "ул. Ленина 44"
}
],
"created_at": "2016-09-30T09:28:50.499+03:00"
}
Создание договора
Вебхук отправляется на заданный URL в случае создания договора.
{
"event": {
"event_type": "new_agreement",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович"
}
},
"agreement": Описание этого блока информации представлено в разделе Общее
}
Редактирование договора
Вебхук отправляется на заданный URL в случае редактирования договора (редактирование названия, редактирование дополнительных атрибутов, редактирование связи с компанией, редактирование признака активности/архивности, редактирование связи с ответственным и наблюдателями).
{
"event": {
"event_type": "change_agreement",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович"
},
"changes": [
{
"parameters": [
{
"code": "code1",
"name": "Вип обслуживание",
"type": "ftcheckbox",
"old_value": false,
"new_value": true
}
]
},
{
"code": "title",
"old_value": "Okdesk corp",
"new_value": "Okdesk"
},
{
"code": "company_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "default_assignee_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "default_assignee_group_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "observer_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "observer_group_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
]
},
"agreement": Описание этого блока информации представлено в разделе Общее
}
Объекты обслуживания ¶
Общее
Json в вебхуках на события с объектами обслуживания содержит 2 части: информация об объекте обслуживания и информация о событии.
Часть с информацией об объекте обслуживания должна иметь следующую структуру:
{
"id": "1",
"name": "Магазин №14",
"active": true,
"timezone": "American Samoa",
"comment": "test test",
"company": {
"id": "8",
"name": "dev_gps7000"
},
"schedule": {
"id": "8",
"name": "On weekdays, 9 a.m. "
},
"address": {
"string_value": "55.7514569, 37.5758171",
"coordinates": [
55.7514569,
37.5758171
]
},
"agreements": [
{
"id": "8",
"title": "dev_gps7000"
}
],
"observers": {
"employees": [
{
"id": "113",
"first_name": "Петр",
"last_name": "Антонов",
"patronymic": "Захарович"
}
],
"groups": [
{
"id": "1",
"name": "Отдел диагостики"
}
]
},
"assignee": {
"employee": {
"id": "116",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Сергеевич"
},
"group": {
"id": "1",
"name": "Тех. обслуживание"
}
},
"parameters": [
{
"code": "address",
"name": "Адрес вызова",
"type": "ftstring",
"value": "ул. Ленина 44"
}
],
"created_at": "2016-09-30T09:28:50.499+03:00"
}
Создание объекта обслуживания
Вебхук отправляется на заданный URL в случае создания карточки объекта обслуживания.
{
"event": {
"event_type": "new_service_aim",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович"
}
},
"service_aim": Описание этого блока информации представлено в разделе Общее
}
Редактирование объекта обслуживания
Вебхук отправляется на заданный URL в случае редактирования карточки объекта обслуживания (редактирование названия, адреса, часового пояса, комментария, графика обслуживания, редактирование дополнительных атрибутов, редактирование связи с компанией, редактирование связи с договорами, редактирование наблюдателей и ответственных, редактирование признака активности/архивности).
{
"event": {
"event_type": "change_service_aim",
"author": {
"id": "1",
"type": "employee",
"first_name": "Иван",
"last_name": "Иванов",
"patronymic": "Иванович"
},
"changes": [
{
"parameters": [
{
"code": "code1",
"name": "Вип обслуживание",
"type": "ftcheckbox",
"old_value": false,
"new_value": true
}
]
},
{
"code": "name",
"old_value": "Магазин №14",
"new_value": "Магазин №15"
},
{
"code": "company_id",
"old_value": null,
"new_value": "1"
},
{
"code": "timezone",
"old_value": "American Samoa",
"new_value": "Moscow"
},
{
"code": "active",
"old_value": true,
"new_value": false
},
{
"code": "address",
"old_value": {
"string_value": "",
"coordinates": null
},
"new_value": {
"string_value": "Екатеринбург, Свердловская область, 620141, Россия",
"coordinates": [
56.866532,
60.596592
]
}
},
{
"code": "agreement_ids",
"old_value": [
],
"new_value": [
1
]
},
{
"code": "default_assignee_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "default_assignee_group_id",
"old_value": "1",
"new_value": "2"
},
{
"code": "observer_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "observer_group_ids",
"old_value": [
],
"new_value": [
1,
2
]
},
{
"code": "schedule_id",
"old_value": null,
"new_value": "12"
},
{
"code": "comment",
"old_value": "test",
"new_value": "test test"
},
]
},
"service_aim": Описание этого блока информации представлено в разделе Общее
}