Trabalho em equipe: sendActivityNotificationToRecipients

Namespace: microsoft.graph

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

Para obter mais informações, consulte Envio de notificações de atividade do Teams.

Essa API está disponível nas seguintes implantações de nuvem nacional.

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

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
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

Observação: A TeamsActivity.Send.User permissão usa o consentimento específico do recurso. As permissões RSC pertencem aos destinatários individuais no conteúdo.

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.

Observação: o token fornecido deve estar a pelo menos 45 minutos da expiração. A chamada à API retornará uma 412 Precondition Failed resposta se o token expirar em 45 minutos.

Corpo da solicitação

No corpo da solicitação, 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 deve ser declarado no manifesto do aplicativo Teams, exceto para o tipo de atividade ReservadosystemDefault, que fornece texto de forma livre na Actor+Reason linha da notificação.
chainId Int64 Opcional. A ID da cadeia da notificação. Usado para substituir uma notificação anterior. Use o mesmo chainId em solicitações subsequentes para substituir a notificação anterior.
iconId String Opcional. A ID de ícone exclusiva que permite que os aplicativos enviem ícones personalizados por tipo de atividade. As IDs de ícone devem estar presentes no esquema de manifesto do aplicativo do Teams. Se a ID do ícone estiver especificada no manifesto, mas ausente no corpo da solicitação da API, o ícone retornará ao ícone padrão do aplicativo.
previewText itemBody O texto de visualização da notificação. O Microsoft Teams mostra apenas os primeiros 150 caracteres.
destinatários coleção teamworkNotificationRecipient Destinatários da notificação. Há suporte apenas para destinatários do tipo aadUserNotificationRecipient . Há um limite máximo de 100 destinatários em uma única solicitação.
teamsAppId String Opcional. A ID do aplicativo Teams do aplicativo Teams associado à notificação. Usado para remover a ambiguidade de aplicativos instalados quando vários aplicativos com a mesma ID do aplicativo do Microsoft Entra ID são instalados para o mesmo usuário destinatário. Evite compartilhar IDs do aplicativo Microsoft Entra ID entre aplicativos do Teams.
templateParameters Coleção keyValuePair Os valores das variáveis de modelo definidas na entrada do feed de atividades correspondente ao activityTypemanifesto do aplicativo Teams.
topic teamworkActivityTopic O tópico da notificação. Especifica o recurso que está sendo falado.

O seguinte recurso é suportado ao definir o sourcevalor da propriedade topic como entityUrl:

Resposta

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

Exemplos

Exemplo 1: Notificar vários usuários sobre solicitações de aprovação financeira pendentes

O exemplo a seguir mostra como enviar uma notificação do feed de atividades para vários usuários em massa. Este exemplo notifica vários stakeholders sobre solicitações 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 usuários sobre um evento usando um tópico personalizado

Se você quiser vincular um aspecto que não é representado pelo Microsoft Graph ou quiser personalizar o nome, poderá definir a origem do topic para text e passar um valor personalizado para ele. webUrl é necessário ao usar topic fonte 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 usuários sobre um evento usando um ícone personalizado

Se você quiser notificar vários usuários com um ícone personalizado em vez do ícone do aplicativo padrão, poderá definir a propriedade iconId opcional no corpo da solicitação.

Observação: O activityType manifesto deve conter a lista de IDs de ícone permitidas para usar esse parâmetro. A validação da solicitação falhará se o manifesto do aplicativo não tiver a lista personalizada de ícones. Para obter mais informações, consulte Manifesto do aplicativo de visualização do desenvolvedor 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