goalsmanagement.goalcard.sendNotify
Scope:
goalsmanagementКто может вызывать: Только администратор модуля или администратор портала. Руководитель карточки вызвать не может. Подробнее: Права доступа
Рассылка уведомлений сотрудникам черновых карточек того же руководителя, что и у переданной карточки.
По cardId берётся USER_GOAL_HEAD. Если руководителя нет — подставляется текущий пользователь REST. Дальше вызывается GoalCard::sendNotifySubordinates: выбираются все активные карточки с этим руководителем и статусом status_draft («Составление»). Уведомление уходит сотруднику каждой такой карточки (USER_GOAL_EMPLOYEE).
Владелец переданного cardId получит уведомление только если его карточка тоже в status_draft. Для неё тип HEAD_CARD_APPROVE_CASCADE («сотруднику об утверждении карточки руководителя и каскадировании целей»), для остальных черновиков того же руководителя — HEAD_CARD_APPROVE.
Фактическая отправка зависит от настроек модуля (Настройки → Модули → Управление целями, блок уведомлений при утверждении карточки руководителя):
- почта:
notifyHeadCardApproveStatus/notifyHeadCardApproveCascadeStatus; - мессенджер:
notifyHeadCardApproveStatusIM/notifyHeadCardApproveCascadeStatusIM.
Если для типа выключены и почта, и мессенджер, Notification::sendNotification сразу выходит — писем и IM не будет. Для почты у сотрудника должен быть email; для IM нужен модуль im.
sent: true означает только то, что REST вызвал рассылку. Это не список получателей и не подтверждение, что уведомления ушли.
HTTP: POST
Побочные эффекты: уведомления Битрикс24
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
cardId |
int |
да | ID карточки (алиас id) |
Возвращаемые данные
Ответ в конверте модуля: result.result — { cardId, sent }; result.error. Ключи total/next для не-list методов могут отсутствовать в сериализации, если не переданы.
Обработка ошибок
Справочник кодов: error-codes.md.
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
ACCESS_DENIED |
Нет прав на операцию (не админ модуля/портала) |
CARD_NOT_FOUND |
Карточка целей не найдена |
INTERNAL_ERROR |
Внутренняя ошибка сервера |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/goalsmanagement.goalcard.sendNotify.json" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data '{
"cardId": 501
}'
Пример ответа
{
"result": {
"result": {
"cardId": 501,
"sent": true
},
"error": null
}
}