Compartilhar via


trabalho em equipa: sendActivityNotificationToRecipients

Namespace: microsoft.graph

Enviar notificações do feed de atividades para vários utilizadores, em massa.

Para obter mais informações, veja Enviar notificações de atividade do Teams.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) TeamsActivity.Send Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application TeamsActivity.Send.User TeamsActivity.Send

Nota: A TeamsActivity.Send.User permissão utiliza o consentimento específico do recurso. As permissões RSC dizem respeito aos destinatários individuais no payload.

Solicitação HTTP

POST /teamwork/sendActivityNotificationToRecipients

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Nota: o token fornecido tem de estar, pelo menos, a 45 minutos da expiração. A chamada à API devolverá uma 412 Precondition Failed resposta se o token expirar dentro de 45 minutos.

Corpo da solicitação

No corpo do pedido, forneça uma representação JSON dos parâmetros.

A tabela a seguir mostra os parâmetros que podem ser usados com esta ação.

Parâmetro Tipo Descrição
activityType Cadeia de caracteres O tipo de atividade tem de ser declarado no manifesto da aplicação Teams, exceto no systemDefaulttipo de atividade Reservada, que fornece texto de forma livre na Actor+Reason linha da notificação.
chainId Int64 Opcional. O ID da cadeia da notificação. Utilizado para substituir uma notificação anterior. Utilize o mesmo chainId nos pedidos subsequentes para substituir a notificação anterior.
iconId String Opcional. O ID de ícone exclusivo que permite que as aplicações enviem ícones personalizados por tipo de atividade. Os IDs de ícone têm de estar presentes no esquema de manifesto da aplicação Teams. Se o ID do ícone for especificado no manifesto, mas em falta no corpo do pedido da API, o ícone reverterá para o ícone predefinido da aplicação.
previewText itemBody O texto de pré-visualização da notificação. O Microsoft Teams só mostra os primeiros 150 carateres.
destinatários teamworkNotificationRecipient collection Destinatários da notificação. Apenas os destinatários do tipo aadUserNotificationRecipient são suportados. Existe um limite superior de 100 destinatários num único pedido.
teamsAppId String Opcional. O ID da aplicação Teams da aplicação Teams associada à notificação. Utilizado para desambiguar aplicações instaladas quando são instaladas várias aplicações com o mesmo ID de aplicação Microsoft Entra ID para o mesmo utilizador destinatário. Evite partilhar Microsoft Entra ID IDs de aplicações entre aplicações do Teams.
templateParameters Coleção keyValuePair Os valores das variáveis de modelo definidas na entrada do feed de atividades correspondente ao activityType no manifesto da aplicação Teams.
topic teamworkActivityTopic O tópico da notificação. Especifica o recurso que está a ser falado.

O recurso seguinte é suportado ao definir o source valor da propriedade do tópico como entityUrl:

Resposta

Se tiver êxito, esta ação retornará um código de resposta 202 Accepted.

Exemplos

Exemplo 1: Notificar vários utilizadores sobre pedidos de aprovação financeira pendentes

O exemplo seguinte mostra como enviar uma notificação do feed de atividades a vários utilizadores em massa. Este exemplo notifica vários intervenientes sobre pedidos de aprovação financeira pendentes.

Solicitação

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

Resposta

HTTP/1.1 202 Accepted

Exemplo 2: Notificar vários utilizadores sobre um evento através de um tópico personalizado

Se quiser associar um aspeto que não seja representado pelo Microsoft Graph ou personalizar o nome, pode definir a origem do topic para text e transmitir um valor personalizado para o mesmo. o webUrl é necessário ao utilizar topic a origem como text.

Solicitação

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

Resposta

HTTP/1.1 202 Accepted

Exemplo 3: Notificar vários utilizadores sobre um evento através de um ícone personalizado

Se quiser notificar vários utilizadores com um ícone personalizado em vez do ícone de aplicação predefinido, pode definir a propriedade iconId opcional no corpo do pedido.

Nota: O activityType no manifesto tem de conter a lista de IDs de ícone permitidos para poder utilizar este parâmetro. A validação do pedido falha se o manifesto da aplicação não tiver a lista personalizada de ícones. Para obter mais informações, veja Manifesto da aplicação de pré-visualização do programador público.

Solicitação

O exemplo a seguir mostra uma solicitação.

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": "announcementPosted",
  "previewText": {
    "content": "new announcemnet posted"
  },
  "iconId": "announcementCreated",
  "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"
    }
  ]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 202 Accepted