Compartilhar via


userTeamwork: sendActivityNotification

Namespace: microsoft.graph

Enviar uma notificação do feed de atividades a um utilizador. 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.

Solicitação HTTP

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

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.

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 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 mostra os primeiros 150 carateres.
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.

Os seguintes recursos são suportados 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 204 No Content.

Exemplos

Exemplo 1: enviar uma notificação a um utilizador para uma tarefa criada

Solicitação

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

Resposta

HTTP/1.1 204 No Content

Exemplo 2: Notificar um utilizador sobre um evento através de um tópico personalizado

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

Solicitação

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

Resposta

HTTP/1.1 204 No Content

Exemplo 3: Notificar um utilizador sobre um evento através de um ícone personalizado

Se quiser notificar um utilizador 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/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"
    }
  ]
}

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 204 No Content