Partager via


travail en équipe : sendActivityNotificationToRecipients

Espace de noms: microsoft.graph

Envoyer des notifications de flux d’activité à plusieurs utilisateurs, en bloc.

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. Les autorisations RSC concernent les destinataires individuels dans la charge utile.

Requête HTTP

POST /teamwork/sendActivityNotificationToRecipients

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.

Remarque : le jeton fourni doit être au moins 45 minutes à compter de l’expiration. L’appel d’API retourne une 412 Precondition Failed réponse si le jeton expire dans les 45 minutes.

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 uniquement les 150 premiers caractères.
destinataires collection teamworkNotificationRecipient Destinataires de la notification. Seuls les destinataires de type aadUserNotificationRecipient sont pris en charge. Il existe une limite supérieure de 100 destinataires dans une seule requête.
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.

La ressource suivante est prise 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 202 Accepted.

Exemples

Exemple 1 : Informer plusieurs utilisateurs des demandes d’approbation financière en attente

L’exemple suivant montre comment envoyer une notification de flux d’activité à plusieurs utilisateurs en bloc. Cet exemple informe plusieurs parties prenantes des demandes d’approbation financière en attente.

Demande

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

Réponse

HTTP/1.1 202 Accepted

Exemple 2 : Informer plusieurs utilisateurs d’un événement à l’aide d’une rubrique personnalisée

Si vous souhaitez lier un aspect qui n’est pas représenté par Microsoft Graph, 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 requis lors de l’utilisation de topic source en tant que text.

Demande

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

Réponse

HTTP/1.1 202 Accepted

Exemple 3 : Informer plusieurs utilisateurs d’un événement à l’aide d’une icône personnalisée

Si vous souhaitez informer plusieurs utilisateurs 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/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"
    }
  ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 202 Accepted