Вебхуки
Откройте раздел «Настройки → Вебхуки». Раздел доступен пользователям с соответствующими правами доступа.
Вебхуки отправляют данные во внешние системы после определённых действий в solOS. Для каждого триггера указывается отдельный URL-адрес обработчика (Endpoint), на который solOS выполняет POST-запрос.
Вебхуки можно использовать для уведомлений, обмена данными и запуска бизнес-процессов во внешних системах. При необходимости совмещайте их с возможностями API v3.
Триггеры срабатывают при действиях пользователей и при поддерживаемых API-вызовах. Строки с отметкой API показывают Body для API-вызова: его состав может отличаться от Body того же действия в интерфейсе.
application/x-www-form-urlencoded. Массивы передаются стандартными ключами с квадратными скобками, логические значения — строками 1 и 0, а null — пустым значением.User-Agent: solOS/3, но не добавляет подпись или заголовок авторизации — проверку доступа к обработчику необходимо реализовать на стороне интеграции.Чтобы использовать вебхуки, выполните следующие действия:
- Разработайте скрипт, который будет принимать POST-запросы от solOS;
- Опубликуйте скрипт на веб-сервере;
- Укажите прямой URL-адрес скрипта в качестве Endpoint для нужного триггера.
Для проверки можно отправить POST-запрос на Endpoint https://share.solos.pro/webhook.php. Не передавайте на общий тестовый адрес реальные, персональные или секретные данные.
Минимальный безопасный пример PHP-обработчика:
<?php
foreach ($_POST as $key => $value) {
if (is_array($value)) {
$value = json_encode($value, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
}
echo '<div>['
. htmlspecialchars((string)$key, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8')
. '] => '
. htmlspecialchars((string)$value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8')
. '</div>';
}
Доступные вебхуки
| Действие | Body |
|---|---|
|
Проекты. Добавить проект
projects-create
|
Проект: id, name, client_id, contractor_id, start, end, price, currency_id, contract_number, contract_date, city_id, funnel_id, step_id, project_group_id, reference_id, lead_id, comment Лизинг: leasing_amount, leasing_prepayment, leasing_period, leasing_nds, leasing_delivery_date, leasing_agent_amount, leasing_agent_date, leasing_agent_commission_type, leasing_agent_commission_rate, leasing_supplier_amount, leasing_supplier_date, leasing_is_paid_early, leasing_paid_early_date |
|
Проекты. Добавить проектAPI
projects-create
|
Проект: id, name, client_id, contractor_id, start, end, price, currency_id, contract_number, contract_date, city_id, funnel_id, step_id, project_group_id, reference_id, lead_id, comment, _user_id |
|
Проекты. Редактировать проект
projects-edit
|
Проект: id, name, client_id, contractor_id, start, end, price, currency_id, contract_number, contract_date, city_id, project_group_id, reference_id, lead_id, comment, active Лизинг: leasing_amount, leasing_prepayment, leasing_period, leasing_nds, leasing_delivery_date, leasing_agent_amount, leasing_agent_date, leasing_agent_commission_type, leasing_agent_commission_rate, leasing_supplier_amount, leasing_supplier_date, leasing_is_paid_early, leasing_paid_early_date |
|
Проекты. Редактировать проектAPI
projects-edit
|
Проект: id, _user_id |
|
Проекты. Удалить проект
projects-delete
|
id |
|
Проекты. Удалить проектAPI
projects-delete
|
id, _user_id |
|
Проекты. Добавить событие
projects-create-action
|
id, project_id, type_id, message |
|
Проекты. Добавить событиеAPI
projects-create-action
|
id, project_id, type_id, user_id, step_id, todo_id, message, _user_id |
|
Проекты. Редактировать событие
projects-edit-action
|
id, project_id, message |
|
Проекты. Редактировать событиеAPI
projects-edit-action
|
id, project_id, type_id, user_id, step_id, todo_id, _user_id |
|
Проекты. Удалить событие
projects-delete-action
|
id, project_id |
|
Проекты. Удалить событиеAPI
projects-delete-action
|
id, project_id, type_id, user_id, step_id, todo_id, _user_id |
|
Проекты. Добавить задачу
projects-create-todo
|
id, project_id, type_id, name, deadline, priority, active, slave_id |
|
Проекты. Добавить задачуAPI
projects-create-todo
|
id, project_id, type_id, user_id, name, deadline, priority, slave_id, _user_id |
|
Проекты. Редактировать задачу
projects-edit-todo
|
id, project_id, name |
|
Проекты. Редактировать задачуAPI
projects-edit-todo
|
id, project_id, type_id, user_id, priority, slave_id, _user_id |
|
Проекты. Удалить задачу
projects-delete-todo
|
id, project_id |
|
Проекты. Удалить задачуAPI
projects-delete-todo
|
id, project_id, type_id, user_id, slave_id, priority, _user_id |
|
Проекты. Открыть задачу
projects-open-todo
|
id, project_id, type_id, user_id, slave_id, priority, active |
|
Проекты. Открыть задачуAPI
projects-open-todo
|
id, project_id, type_id, user_id, slave_id, priority, _user_id |
|
Проекты. Закрыть задачу
projects-complete-todo
|
id, project_id, type_id, user_id, slave_id, priority, active |
|
Проекты. Закрыть задачуAPI
projects-complete-todo
|
id, project_id, type_id, user_id, slave_id, priority, _user_id |
|
Проекты. Перенести задачу
projects-reschedule-todo
|
id, project_id, deadline |
|
Проекты. Перенести задачуAPI
projects-reschedule-todo
|
id, project_id, type_id, user_id, priority, slave_id, deadline, _user_id |
|
Проекты. Сменить исполнителя задачи
projects-change-todo-slave
|
id, project_id, user_id |
|
Проекты. Сменить исполнителя задачиAPI
projects-change-todo-slave
|
id, project_id, type_id, user_id, old_slave_id, slave_id, priority, _user_id |
|
Проекты. Добавить продукт
projects-create-good
|
id, project_id, good_id, comment, quantity, price, amount |
|
Проекты. Добавить продуктAPI
projects-create-good
|
id, project_id, good_id, comment, quantity, price, amount, _user_id |
|
Проекты. Редактировать продукт
projects-edit-good
|
id, project_id, good_id, comment, quantity, price, amount |
|
Проекты. Редактировать продуктAPI
projects-edit-good
|
id, project_id, good_id, quantity, price, amount, _user_id |
|
Проекты. Удалить продукт
projects-delete-good
|
id, project_id, good_id, quantity, price, amount |
|
Проекты. Удалить продуктAPI
projects-delete-good
|
id, project_id, good_id, quantity, price, amount, _user_id |
|
Проекты. Изменить этап
projects-change-step
|
id, project_id, step_id, comment |
|
Проекты. Изменить этапAPI
projects-change-step
|
id, project_id, step_id, comment, _user_id |
|
Проекты. Редактировать этап
projects-edit-step
|
id, project_id, comment |
|
Проекты. Редактировать этапAPI
projects-edit-step
|
id, project_id, comment, _user_id |
|
Проекты. Добавить платёж
projects-create-payment
|
id, project_id, payment_date, price, currency_id, name, expense |
|
Проекты. Добавить платёжAPI
projects-create-payment
|
id, project_id, payment_date, price, currency_id, name, expense, _user_id |
|
Проекты. Редактировать платёж
projects-edit-payment
|
id, project_id, payment_date, price, currency_id, name, expense |
|
Проекты. Редактировать платёжAPI
projects-edit-payment
|
id, project_id, price, currency_id, expense, _user_id |
|
Проекты. Удалить платёж
projects-delete-payment
|
id, project_id, price, currency_id, expense |
|
Проекты. Удалить платёжAPI
projects-delete-payment
|
id, project_id, price, currency_id, expense, _user_id |
|
Проекты. Добавить счёт
projects-create-invoice
|
id, project_id, invoice_number, invoice_date |
|
Проекты. Добавить счётAPI
projects-create-invoice
|
id, project_id, invoice_number, invoice_date, _user_id |
|
Проекты. Редактировать счёт
projects-edit-invoice
|
id, project_id, invoice_number, invoice_date |
|
Проекты. Редактировать счётAPI
projects-edit-invoice
|
id, project_id, invoice_number, invoice_date, _user_id |
|
Проекты. Удалить счёт
projects-delete-invoice
|
id, project_id |
|
Проекты. Удалить счётAPI
projects-delete-invoice
|
id, project_id, _user_id |
|
Проекты. Добавить SLA
projects-create-sla
|
id, project_id, name, start, end, comment, resolution_time, priority, support_days, support_start, support_end, contact_id |
|
Проекты. Редактировать SLA
projects-edit-sla
|
id, project_id, name, start, end, comment, resolution_time, priority, support_days, support_start, support_end, contact_id |
|
Проекты. Удалить SLA
projects-delete-sla
|
id, project_id, priority, support_days, contact_id |
|
Лизинг. Добавить участника сделки
leasing-create-participant
|
project_id, type_id, client_id, contact_id, comment |
|
Лизинг. Добавить участника сделкиAPI
leasing-create-participant
|
project_id, type_id, client_id, contact_id, comment, _user_id |
|
Лизинг. Редактировать участника сделки
leasing-edit-participant
|
id, project_id, type_id, client_id, contact_id, comment |
|
Лизинг. Редактировать участника сделкиAPI
leasing-edit-participant
|
id, project_id, type_id, client_id, contact_id, comment, _user_id |
|
Лизинг. Удалить участника сделки
leasing-delete-participant
|
id, project_id, type_id, client_id, contact_id |
|
Лизинг. Удалить участника сделкиAPI
leasing-delete-participant
|
id, project_id, type_id, client_id, contact_id, _user_id |
|
Лизинг. Обновить график платежей
leasing-create-schedule
|
project_id |
|
Лизинг. Обновить график платежейAPI
leasing-create-schedule
|
project_id, _user_id |
|
Группы проектов. Добавить группу
project-groups-create
|
id, name, comment |
|
Группы проектов. Добавить группуAPI
project-groups-create
|
id, name, comment, _user_id |
|
Группы проектов. Редактировать группу
project-groups-edit
|
id, name, comment |
|
Группы проектов. Редактировать группуAPI
project-groups-edit
|
id, name, comment, _user_id |
|
Группы проектов. Удалить группу
project-groups-delete
|
id |
|
Группы проектов. Удалить группуAPI
project-groups-delete
|
id, _user_id |
|
Техподдержка. Добавить заявку
helpdesk-create
|
id, action_id, project_id, contact_id, type, status, source, sla_id, sla_name, sla_comment, sla_resolution_time, sla_priority, message, deadline, user_id, owner_id, slave_id |
|
Техподдержка. Добавить заявкуAPI
helpdesk-create
|
id, action_id, project_id, contact_id, type, status, source, sla_id, sla_name, sla_comment, sla_resolution_time, sla_priority, message, deadline, user_id, owner_id, slave_id, _user_id |
|
Техподдержка. Добавить событие
helpdesk-create-action
|
id, helpdesk_id, action_code, actor_type, audience, from_status, to_status, waiting_for, resolution_code, message |
|
Техподдержка. Добавить событиеAPI
helpdesk-create-action
|
id, helpdesk_id, action_code, actor_type, audience, from_status, to_status, waiting_for, resolution_code, message, _user_id |
|
Техподдержка. Редактировать событие
helpdesk-edit-action
|
id, helpdesk_id, message |
|
Техподдержка. Сменить ответственного по заявке
helpdesk-change-owner
|
id, user_id |
|
Техподдержка. Сменить ответственного по заявкеAPI
helpdesk-change-owner
|
id, user_id, _user_id |
|
Техподдержка. Сменить исполнителя по заявке
helpdesk-change-slave
|
id, user_id |
|
Техподдержка. Сменить исполнителя по заявкеAPI
helpdesk-change-slave
|
id, user_id, _user_id |
|
Лиды. Добавить лид
leads-create
|
id, user_id, status_id, name, phone, email, reference_id, comment |
|
Лиды. Добавить лидAPI
leads-create
|
id, user_id, status_id, name, phone, email, reference_id, comment, tags, _user_id |
|
Лиды. Редактировать лид
leads-edit
|
id, name, phone, email, reference_id, comment |
|
Лиды. Редактировать лидAPI
leads-edit
|
id, _user_id, tags |
|
Лиды. Удалить лид
leads-delete
|
id |
|
Лиды. Удалить лидAPI
leads-delete
|
id, _user_id |
|
Лиды. Добавить событие
leads-create-action
|
id, lead_id, status, message |
|
Лиды. Добавить событиеAPI
leads-create-action
|
id, lead_id, status, message, _user_id |
|
Лиды. Редактировать событие
leads-edit-action
|
id, lead_id, message |
|
Лиды. Редактировать событиеAPI
leads-edit-action
|
id, lead_id, _user_id |
|
Лиды. Удалить событие
leads-delete-action
|
id, lead_id |
|
Лиды. Удалить событиеAPI
leads-delete-action
|
id, lead_id, _user_id |
|
Лиды. Добавить задачу
leads-create-todo
|
id, lead_id, name, deadline |
|
Лиды. Добавить задачуAPI
leads-create-todo
|
id, lead_id, name, deadline, _user_id |
|
Лиды. Редактировать задачу
leads-edit-todo
|
id, lead_id, name |
|
Лиды. Редактировать задачуAPI
leads-edit-todo
|
id, lead_id, _user_id |
|
Лиды. Удалить задачу
leads-delete-todo
|
id, lead_id |
|
Лиды. Удалить задачуAPI
leads-delete-todo
|
id, lead_id, _user_id |
|
Лиды. Открыть задачу
leads-open-todo
|
id, lead_id |
|
Лиды. Открыть задачуAPI
leads-open-todo
|
id, lead_id, _user_id |
|
Лиды. Закрыть задачу
leads-complete-todo
|
id, lead_id |
|
Лиды. Закрыть задачуAPI
leads-complete-todo
|
id, lead_id, _user_id |
|
Календарь. Добавить событие
calendar-create
|
id, category_id, name, description, url, start, end, all_day, repeat_type, repeat_until |
|
Календарь. Добавить событиеAPI
calendar-create
|
id, category_id, name, description, url, start, end, all_day, repeat_type, repeat_until, _user_id |
|
Календарь. Редактировать событие
calendar-edit
|
id, category_id, name, description, url, start, end, all_day, repeat_type, repeat_until |
|
Календарь. Удалить событие
calendar-delete
|
id |
|
Контрагенты. Добавить контрагента
clients-create
|
id, name, name_full, ogrn, inn, kpp, legal_address, actual_address, phone, email, url, comment |
|
Контрагенты. Добавить контрагентаAPI
clients-create
|
id, name, name_full, ogrn, inn, kpp, legal_address, actual_address, phone, email, url, comment, _user_id |
|
Контрагенты. Редактировать контрагента
clients-edit
|
id, name, name_full, ogrn, inn, kpp, legal_address, actual_address, phone, email, url, comment |
|
Контрагенты. Редактировать контрагентаAPI
clients-edit
|
id, _user_id |
|
Контрагенты. Удалить контрагента
clients-delete
|
id |
|
Контрагенты. Удалить контрагентаAPI
clients-delete
|
id, _user_id |
|
Контакты. Добавить контакт
contacts-create
|
id, client_id, name, position, phone_1, phone_2, email_1, email_2, telegram, bday, comment |
|
Контакты. Добавить контактAPI
contacts-create
|
id, client_id, name, position, phone_1, phone_2, email_1, email_2, telegram, bday, comment, _user_id |
|
Контакты. Редактировать контакт
contacts-edit
|
id, client_id, name, position, phone_1, phone_2, email_1, email_2, telegram, bday, comment |
|
Контакты. Редактировать контактAPI
contacts-edit
|
id, _user_id |
|
Контакты. Удалить контакт
contacts-delete
|
id |
|
Контакты. Удалить контактAPI
contacts-delete
|
id, _user_id |
|
Отчёты. Добавить отчёт
reports-create
|
id, name, text, created, city_id, client_id, category_id |
|
Отчёты. Добавить отчётAPI
reports-create
|
id, name, text, created, city_id, client_id, category_id, _user_id |
|
Отчёты. Редактировать отчёт
reports-edit
|
id, name, text, created, city_id, client_id, category_id |
|
Отчёты. Редактировать отчётAPI
reports-edit
|
id, _user_id |
|
Отчёты. Удалить отчёт
reports-delete
|
id |
|
Отчёты. Удалить отчётAPI
reports-delete
|
id, _user_id |
|
Каталог. Добавить категорию продуктов
catalog-categories-create
|
id, name, comment |
|
Каталог. Добавить категорию продуктовAPI
catalog-categories-create
|
id, name, comment, _user_id |
|
Каталог. Редактировать категорию продуктов
catalog-categories-edit
|
id, name, comment |
|
Каталог. Редактировать категорию продуктовAPI
catalog-categories-edit
|
id, _user_id |
|
Каталог. Удалить категорию продуктов
catalog-categories-delete
|
id |
|
Каталог. Удалить категорию продуктовAPI
catalog-categories-delete
|
id, _user_id |
|
Каталог. Добавить продукт
catalog-goods-create
|
id, category_id, name, vendor_code, comment, prices |
|
Каталог. Добавить продуктAPI
catalog-goods-create
|
id, category_id, name, vendor_code, comment, prices, _user_id |
|
Каталог. Редактировать продукт
catalog-goods-edit
|
id, category_id, name, vendor_code, comment, prices |
|
Каталог. Редактировать продуктAPI
catalog-goods-edit
|
id, _user_id |
|
Каталог. Удалить продукт
catalog-goods-delete
|
id |
|
Каталог. Удалить продуктAPI
catalog-goods-delete
|
id, _user_id |
|
Облако. Добавить файл
cloud-create
|
id, folder_id, name |
|
Облако. Редактировать файл
cloud-edit
|
id, folder_id, name |
|
Облако. Обновить файл
cloud-update
|
id |
|
Облако. Удалить файл
cloud-delete
|
id |
|
Финансы. Привязать платёж
finances-bind-payment
|
id, project_id, payment_date, price, currency_id, name, type, account, expense |
|
Выгрузка данных. Проекты
export-projects
|
только служебные поля
|
|
Выгрузка данных. Техподдержка
export-helpdesk
|
только служебные поля
|
|
Выгрузка данных. Лиды
export-leads
|
только служебные поля
|
|
Выгрузка данных. Календарь
export-calendar
|
только служебные поля
|
|
Выгрузка данных. Контрагенты
export-clients
|
только служебные поля
|
|
Выгрузка данных. Контакты
export-contacts
|
только служебные поля
|
|
Выгрузка данных. Каталог
export-catalog
|
только служебные поля
|
|
Пользователи. Добавить пользователя
users-create
|
id, user_group_id, login, surname, name, patronymic, initials, phone, internal_number, active |
|
Пользователи. Добавить пользователяAPI
users-create
|
id, user_group_id, login, surname, name, patronymic, initials, phone, internal_number, active, _user_id |
|
Пользователи. Редактировать пользователя
users-edit
|
id, user_group_id, login, surname, name, patronymic, initials, phone, internal_number, active |
|
Пользователи. Изменить пароль
users-change-password
|
user_id |
|
Пользователи. Права доступа
users-access
|
user_id |
|
Пользователи. Передать данные
users-transfer
|
projects, project_todos, project_groups, helpdesk, leads, lead_todos, calendar, clients, contacts, reports, catalog, cloud, users, user_groups, user_id |
|
Пользователи. Доступ к API
users-api
|
user_id |
|
Пользователи. Авторизация
users-login
|
только служебные поля
|
|
Пользователи. Выход из системы
users-logout
|
только служебные поля
|
|
Группы пользователей. Добавить группу
user-groups-create
|
id, name, comment |
|
Группы пользователей. Добавить группуAPI
user-groups-create
|
id, name, comment, _user_id |
|
Группы пользователей. Редактировать группу
user-groups-edit
|
id, name, comment |
|
Группы пользователей. Редактировать группуAPI
user-groups-edit
|
id, name, comment, _user_id |
|
Группы пользователей. Права доступа группы
user-groups-access
|
id |
|
Группы пользователей. Удалить группу
user-groups-delete
|
id |
|
Группы пользователей. Удалить группуAPI
user-groups-delete
|
id, _user_id |
Кроме того, в Body автоматически добавляются служебные поля:
- _event — служебное название события, добавляется во все вебхуки;
- _user_id — ID пользователя, который инициировал вебхук, добавляется для действий в интерфейсе solOS;
- _user_initials — инициалы пользователя, который инициировал вебхук, добавляется для действий в интерфейсе solOS;
- _user_ip — IP-адрес пользователя, который инициировал вебхук, добавляется для действий в интерфейсе solOS;
- _user_location — местоположение пользователя, который инициировал вебхук, добавляется для действий в интерфейсе solOS;
- _user_agent — User-Agent пользователя, который инициировал вебхук, добавляется для действий в интерфейсе solOS.
Для вебхуков, вызванных через API, автоматически добавляется только _event. Если _user_id указан в строке с отметкой API, это поле передаёт сам API-метод.