solOS

Вебхуки

Откройте раздел «Настройки → Вебхуки». Раздел доступен пользователям с соответствующими правами доступа.

Вебхуки отправляют данные во внешние системы после определённых действий в solOS. Для каждого триггера указывается отдельный URL-адрес обработчика (Endpoint), на который solOS выполняет POST-запрос.

Вебхуки можно использовать для уведомлений, обмена данными и запуска бизнес-процессов во внешних системах. При необходимости совмещайте их с возможностями API v3.

Триггеры срабатывают при действиях пользователей и при поддерживаемых API-вызовах. Строки с отметкой API показывают Body для API-вызова: его состав может отличаться от Body того же действия в интерфейсе.

Чтобы использовать вебхуки, выполните следующие действия:

  1. Разработайте скрипт, который будет принимать POST-запросы от solOS;
  2. Опубликуйте скрипт на веб-сервере;
  3. Укажите прямой 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-метод.

Написать нам