Partager via


userTeamwork : sendActivityNotification

Espace de noms: microsoft.graph

Envoyer une notification de flux d’activité à un utilisateur. Pour plus d’informations, 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.User TeamsActivity.Send

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

Requête HTTP

POST /users/{userId | user-principal-name}/teamwork/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
activityType String Le type d’activité doit être déclaré dans le manifeste de l’application Teams, à l’exception du systemDefaulttype d’activité Réservée, qui fournit du texte de forme libre dans la Actor+Reason ligne de la notification.
chainId Int64 Facultatif. 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.
iconId String Facultatif. ID d’icône unique qui permet aux applications d’envoyer des icônes personnalisées par type d’activité. Les ID d’icône doivent être présents dans le schéma du manifeste de l’application Teams. Si l’ID d’icône est spécifié dans le manifeste, mais qu’il manque dans le corps de la demande d’API, l’icône revient à l’icône par défaut de l’application.
previewText itemBody Texte d’aperçu de la notification. Microsoft Teams affiche les 150 premiers caractères.
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.
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.
topic teamworkActivityTopic Rubrique de la notification. Spécifie la ressource dont il est question.

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

Réponse

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

Exemples

Exemple 1 : Envoyer une notification à un utilisateur pour une tâche créée

Demande

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

Réponse

HTTP/1.1 204 No Content

Exemple 2 : Avertir un utilisateur d’un événement à l’aide d’une rubrique personnalisée

Si vous souhaitez lier un aspect que Microsoft Graph ne représente pas, ou si vous souhaitez personnaliser le nom, vous pouvez définir la source du topic sur text et lui transmettre une valeur personnalisée. webUrl est obligatoire lors de l’utilisation de topic source en tant que text.

Demande

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

Réponse

HTTP/1.1 204 No Content

Exemple 3 : Avertir un utilisateur d’un événement à l’aide d’une icône personnalisée

Si vous souhaitez avertir un utilisateur avec une icône personnalisée au lieu de l’icône d’application par défaut, vous pouvez définir la propriété facultative iconId dans le corps de la demande.

Note: Le activityType dans le manifeste doit contenir la liste des ID d’icône autorisés pour pouvoir utiliser ce paramètre. La validation de la demande échoue si le manifeste de l’application ne contient pas la liste personnalisée des icônes. Pour plus d’informations, consultez Manifeste d’application développeur public en préversion.

Demande

L’exemple suivant illustre une demande.

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

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content