trabajo en equipo: sendActivityNotificationToRecipients

Espacio de nombres: microsoft.graph

Enviar notificaciones de fuente de actividad a varios usuarios de forma masiva.

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. Los permisos de RSC pertenecen a los destinatarios individuales de la carga.

Solicitud HTTP

POST /teamwork/sendActivityNotificationToRecipients

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.

Nota: El token proporcionado debe estar al menos 45 minutos después de la expiración. La llamada API devolverá una 412 Precondition Failed respuesta si el token expira en 45 minutos.

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
topic teamworkActivityTopic Tema de la notificación. Especifica el recurso del que se habla.
activityType Cadena Tipo de actividad. Los tipos de actividad deben declararse en el manifiesto de aplicación de Teams.
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.
previewText itemBody Texto de vista previa de la notificación. Microsoft Teams solo muestra los primeros 150 caracteres.
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.
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.
destinatarios teamworkNotificationRecipient (colección) Destinatarios de la notificación. Solo se admiten los destinatarios del tipo aadUserNotificationRecipient . Hay un límite superior de 100 destinatarios en una sola solicitud.

El siguiente recurso se admite 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 202 Accepted.

Ejemplos

Ejemplo 1: Notificar a varios usuarios sobre solicitudes de aprobación financiera pendientes

En el ejemplo siguiente se muestra cómo enviar una notificación de fuente de actividad a varios usuarios de forma masiva. En este ejemplo se notifica a varias partes interesadas sobre las solicitudes de aprobación financiera pendientes.

Solicitud

POST https://graph.microsoft.com/v1.0/teamwork/sendActivityNotificationToRecipients
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/{teamsAppId}"
    },
    "activityType": "pendingFinanceApprovalRequests",
    "previewText": {
        "content": "Internal spending team has a pending finance approval requests"
    },
    "recipients": [
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "ab88234e-0874-477c-9638-d144296ed04f"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "01c64f53-69aa-42c7-9b7f-9f75195d6bfc"
    	}
    ],
    "templateParameters": [
        {
            "name": "pendingRequestCount",
            "value": "5"
        }
    ] 
}

Respuesta

HTTP/1.1 202 Accepted

Ejemplo 2: Notificar a varios usuarios sobre un evento mediante un tema personalizado

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

Solicitud

POST https://graph.microsoft.com/v1.0/teamwork/sendActivityNotificationToRecipients
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"
        }
    ],
    "recipients": [
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "ab88234e-0874-477c-9638-d144296ed04f"
    	},
    	{
        	"@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        	"userId": "01c64f53-69aa-42c7-9b7f-9f75195d6bfc"
    	}
    ]
}

Respuesta

HTTP/1.1 202 Accepted