conversation : sendActivityNotification

Espace de noms: microsoft.graph

Envoyer une notification de flux d’activité dans l’étendue d’une conversation. Pour plus d’informations sur l’envoi de notifications et les conditions requises, consultez Envoi de notifications d’activité Teams.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) TeamsActivity.Send Non disponible.
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application TeamsActivity.Send.Chat TeamsActivity.Send

Note: L’autorisation TeamsActivity.Send.Chat utilise le consentement spécifique à la ressource.

Requête HTTP

POST /chats/{chatId}/sendActivityNotification

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON des paramètres.

Le tableau suivant indique les paramètres utilisables avec cette action.

Paramètre Type Description
topic teamworkActivityTopic Rubrique de la notification. Spécifie la ressource dont il est question.
activityType String Type d’activité. Les types d’activité doivent être déclarés dans le manifeste de l’application Teams.
chainId Int64 Optional. ID de chaîne de la notification. Utilisé pour remplacer une notification précédente. Utilisez la même chainId chose dans les requêtes suivantes pour remplacer la notification précédente.
previewText itemBody Texte d’aperçu de la notification. Microsoft Teams affiche les 150 premiers caractères.
templateParameters Collection keyValuePair Valeurs des variables de modèle définies dans l’entrée de flux d’activité correspondant à activityType dans le manifeste de l’application Teams.
destinataire teamworkNotificationRecipient Destinataire de la notification. Pour plus d’informations, consultez aadUserNotificationRecipient et chatMembersNotificationRecipient.
teamsAppId String Facultatif. ID d’application Teams de l’application Teams associée à la notification. Permet de lever l’ambiguïté des applications installées lorsque plusieurs applications avec le même ID d’application Microsoft Entra ID sont installées pour le même utilisateur destinataire. Évitez de partager Microsoft Entra ID ID d’application entre les applications Teams.

Les ressources suivantes sont prises en charge lors de la définition de la source valeur de la propriété de rubrique sur entityURL:

Note: L’URL de l’entité doit être identique ou une ressource enfant de la conversation dans l’URL. En outre, l’application Teams doit être installée dans la conversation.

Réponse

Si elle réussit, cette action renvoie un code de réponse 204 No Content.

Exemples

Exemple 1 : Informer un utilisateur d’une tâche créée dans une conversation

L’exemple suivant montre comment envoyer une notification de flux d’activité pour une nouvelle tâche créée dans une conversation. Pour plus d’informations, consultez Envoi de notifications d’activité Teams.

Demande

L’exemple suivant illustre la demande.

POST https://graph.microsoft.com/v1.0/chats/{chatId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}"
    },
    "activityType": "taskCreated",
    "previewText": {
        "content": "New Task Created"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "taskId",
            "value": "Task 12322"
        }
    ] 
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 2 : Informer un utilisateur d’une approbation nécessaire dans un message de conversation

Comme dans l’exemple précédent, cet exemple utilise entityUrl pour .topic Toutefois, dans ce cas, il est lié à un message dans la conversation. Le message peut contenir un carte avec le bouton d’approbation.

Demande

L’exemple suivant illustre la demande.

POST https://graph.microsoft.com/v1.0/chats/{chatId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages/{messageId}"
    },
    "activityType": "approvalRequired",
    "previewText": {
        "content": "Deployment requires your approval"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "approvalTaskId",
            "value": "2020AAGGTAPP"
        }
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 3 : Informer un utilisateur d’une approbation nécessaire dans un message de conversation à l’aide du nom d’utilisateur principal

Comme dans l’exemple précédent, cet exemple utilise entityUrl pour .topic Toutefois, dans ce cas, il est lié à un message dans la conversation. Le message peut contenir un carte avec le bouton d’approbation.

Demande

L’exemple suivant illustre la demande.

POST https://graph.microsoft.com/v1.0/chats/{chatId}/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/{chatId}/messages/{messageId}"
    },
    "activityType": "approvalRequired",
    "previewText": {
        "content": "Deployment requires your approval"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "jacob@contoso.com"
    },
    "templateParameters": [
        {
            "name": "approvalTaskId",
            "value": "2020AAGGTAPP"
        }
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 4 : Informer un utilisateur d’un événement lié à une conversation

Comme indiqué dans les exemples précédents, vous pouvez créer un lien vers différents aspects de la conversation. Toutefois, si vous souhaitez créer un lien vers un aspect qui ne fait pas partie de la conversation ou qui n’est pas représenté par Microsoft Graph, vous pouvez définir la source du topic sur text et lui transmettre une valeur personnalisée. webUrl Est également requis lors de la définition de topic source sur text.

Demande

L’exemple suivant illustre la demande.

POST https://graph.microsoft.com/v1.0/chats/{chatId}/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"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.aadUserNotificationRecipient",
        "userId": "569363e2-4e49-4661-87f2-16f245c5d66a"
    },
    "templateParameters": [
        {
            "name": "deploymentId",
            "value": "6788662"
        }
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 5 : Informer les membres de la conversation d’une tâche créée dans une conversation

L’exemple suivant montre comment envoyer une notification de flux d’activité à tous les membres de la conversation. Cet exemple est similaire aux exemples précédents. Toutefois, dans ce cas, le destinataire est un chatMembersNotificationRecipient. Le chatId spécifié dans le destinataire doit correspondre à celui spécifié dans l’URL de la requête.

Demande

L’exemple suivant illustre la demande.

POST https://graph.microsoft.com/v1.0/chats/19:1c3af46e9e0f4a5293343c8813c47619@thread.v2/sendActivityNotification
Content-Type: application/json

{
    "topic": {
        "source": "entityUrl",
        "value": "https://graph.microsoft.com/v1.0/chats/19:1c3af46e9e0f4a5293343c8813c47619@thread.v2"
    },
    "activityType": "taskCreated",
    "previewText": {
        "content": "New Task Created"
    },
    "recipient": {
        "@odata.type": "microsoft.graph.chatMembersNotificationRecipient",
        "chatId": "19:1c3af46e9e0f4a5293343c8813c47619@thread.v2"
    },
    "templateParameters": [
        {
            "name": "taskId",
            "value": "Task 12322"
        }
    ] 
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content