Compartir a través de


userTeamwork: sendActivityNotification

Espacio de nombres: microsoft.graph

Enviar una notificación de fuente de actividad a un usuario. Para obtener más información, consulte envío de notificaciones de actividad de Teams.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) TeamsActivity.Send No disponible.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación TeamsActivity.Send.User TeamsActivity.Send

Nota: El TeamsActivity.Send.User permiso usa el consentimiento específico del recurso.

Solicitud HTTP

POST /users/{userId | user-principal-name}/teamwork/sendActivityNotification

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON de los parámetros.

La siguiente tabla muestra los parámetros que se pueden usar con esta acción.

Parámetro Tipo Descripción
activityType Cadena El tipo de actividad debe declararse en el manifiesto de aplicación de Teams, excepto para el systemDefaulttipo de actividad Reservada, que proporciona texto de forma libre en la Actor+Reason línea de la notificación.
chainId Int64 Opcional. Identificador de cadena de la notificación. Se usa para invalidar una notificación anterior. Use lo mismo chainId en solicitudes posteriores para invalidar la notificación anterior.
iconId Cadena Opcional. Identificador de icono único que permite a las aplicaciones enviar iconos personalizados por tipo de actividad. Los identificadores de icono deben estar presentes en el esquema de manifiesto de aplicación de Teams. Si el identificador de icono se especifica en el manifiesto pero falta en el cuerpo de la solicitud de API, el icono vuelve al icono predeterminado de la aplicación.
previewText itemBody Texto de vista previa de la notificación. Microsoft Teams muestra los primeros 150 caracteres.
teamsAppId Cadena Opcional. El identificador de aplicación de Teams de la aplicación de Teams asociada a la notificación. Se usa para eliminar la ambigüedad de las aplicaciones instaladas cuando se instalan varias aplicaciones con el mismo identificador de aplicación Microsoft Entra ID para el mismo usuario destinatario. Evite compartir Microsoft Entra ID identificadores de aplicación entre aplicaciones de Teams.
templateParameters Colección keyValuePair Valores de las variables de plantilla definidas en la entrada de fuente de actividad correspondiente a activityType en el manifiesto de aplicación de Teams.
topic teamworkActivityTopic Tema de la notificación. Especifica el recurso del que se habla.

Se admiten los siguientes recursos al establecer el source valor de la propiedad topic en entityUrl:

Respuesta

Si se ejecuta correctamente, esta acción devuelve un código de respuesta 204 No Content.

Ejemplos

Ejemplo 1: Envío de una notificación a un usuario para una tarea creada

Solicitud

POST https://graph.microsoft.com/v1.0/users/{userId}/teamwork/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/users/{userId}/teamwork/installedApps/{installationId}"
    },
    "activityType": "taskCreated",
    "previewText": {
        "content": "New Task Created"
    },
    "templateParameters": [
        {
            "name": "taskId",
            "value": "Task 12322"
        }
    ]
}

Respuesta

HTTP/1.1 204 No Content

Ejemplo 2: Notificar a un usuario sobre un evento mediante un tema personalizado

Si desea vincular un aspecto que Microsoft Graph no representa o desea personalizar el nombre, puede establecer el origen de topictext en y pasarle un valor personalizado. webUrl es necesario cuando se usa topic el origen como text.

Solicitud

POST https://graph.microsoft.com/v1.0/users/{userId}/teamwork/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "text",
        "value": "Deployment Approvals Channel",
        "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000"
    },
    "activityType": "deploymentApprovalRequired",
    "previewText": {
        "content": "New deployment requires your approval"
    },
    "templateParameters": [
        {
            "name": "deploymentId",
            "value": "6788662"
        }
    ]
}

Respuesta

HTTP/1.1 204 No Content

Ejemplo 3: Notificar a un usuario sobre un evento mediante un icono personalizado

Si desea notificar a un usuario con un icono personalizado en lugar del icono de aplicación predeterminado, puede establecer la propiedad iconId opcional en el cuerpo de la solicitud.

Nota: En activityType el manifiesto debe contener la lista de identificadores de icono permitidos para poder usar este parámetro. Se produce un error en la validación de la solicitud si falta la lista personalizada de iconos en el manifiesto de la aplicación. Para obtener más información, consulte Manifiesto de aplicación de versión preliminar para desarrolladores públicos.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/v1.0/users/2f39ffba-51ca-4d2d-a66f-a020a83ce208/teamwork/sendActivityNotification
Content-Type: application/json

{
  "topic": {
    "source": "text",
    "value": "Deployment Approvals Channel",
    "webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000"
  },
  "activityType": "announcementPosted",
  "previewText": {
    "content": "new announcemnet posted"
  },
  "iconId": "announcementCreated",
  "templateParameters": [
    {
      "name": "deploymentId",
      "value": "6788662"
    }
  ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 204 No Content