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
          }
        }
        

См. также