Microsoft Teams

La sortie Microsoft Teams d’ArcGIS Velocity vous permet d’envoyer des cartes adaptatives aux discussions ou canaux de Microsoft Teams. Les cartes adaptatives peuvent inclure du texte, des graphiques et des boutons et constituent un mode de communication à la fois interactif et attrayant.  Avec Velocity, les données d’entités peuvent être incluses dans la carte adaptative publiée dans Microsoft Teams. Il s’agit d’un mécanisme permettant de communiquer efficacement des informations aux utilisateurs de systèmes différents.

Pour utiliser ce type de sortie, vous devez d’abord générer l’URL d’un webhook dans Microsoft Teams. L’URL de webhook permet ensuite de configurer la sortie Microsoft Teams dans Velocity.

Exemple

L’exemple suivant illustre un cas d’utilisation de la sortie Microsoft Teams :

Un analyste configure une analyse temps réel pour publier une carte adaptative sur un canal Microsoft Teams en cas d’alerte météorologique grave concernant le secteur desservi par l’organisation.

Remarques sur l’utilisation

Tenez compte des points suivants lorsque vous utilisez la sortie Microsoft Teams :

  • L’URL du webhook Microsoft Teams doit être configurée dans Microsoft Teams.
  • Lorsque vous envoyez le code JSON en tant que corps de requête, il doit être mis en forme en tant que Carte adaptative de Microsoft Teams. Reportez-vous à la section ci-dessous pour voir des exemples de codes JSON.

Exemples de messages Microsoft Teams au format JSON

Lorsque vous mettez en forme le corps de requête JSON, englobez la sortie JSON avec la fonction Text() Arcade pour une mise en forme correcte du code JSON. La chaîne JSON doit être au format Carte adaptative de Microsoft Teams avec les propriétés suivantes :

  • Le champ type doit être défini sur message.
  • Le tableau attachments contient un ensemble d’objets de cartes.
  • Le champ contentType doit être défini sur le type Adaptive Card.
  • L’objet content correspond à la carte au format JSON.

Les exemples ci-après montrent des expressions Arcade configurées pour produire des cartes adaptatives au format JSON. Les cartes adaptatives obtenues sont publiées dans la discussion ou sur le canal associé à l’URL du webhook Microsoft Teams.

L’exemple ci-dessous crée une carte adaptative de base qui affiche des informations sur les embarcations et inclut le nom et l’identifiant de l’embarcation concernée.

Exemple 1 — Carte adaptative de base

 
 
// Output is wrapped in Text() 
Text({ 
    //type is set to "message":  
    "type":"message",  
    //attachments contains an array of card objects: 
    "attachments":[  
    { 
        //contentType is set to "application/vnd.microsoft.card.adaptive": 
        "contentType":"application/vnd.microsoft.card.adaptive",  
        "contentUrl":null, 
        //content is the Adaptive Card formatted in JSON 
        "content":{  
        "type": "AdaptiveCard", 
        "speak": "Vessel Information", 
        "version": "1.5", 
        "$schema": "https://adaptivecards.io/schemas/adaptive-card.json", 
        "body": [  
            { 
               "type": "TextBlock", 
                "text": "Vessel Information", 
                "wrap": true, 
                "style": "heading", 
                "color": "Good" 
            }, 
            { 
                "type": "FactSet", 
                "facts": [ 
                    { 
                        "title": "Vessel Name", 
                        "value": $feature.name 
                    }, 
                    { 
                        "title": "Vessel ID", 
                        "value": $feature.num 
                    } 
                ] 
            }] 
        } 
    }] 
})

L’exemple 1 crée le message suivant qui affiche des informations sur les embarcations et inclut le nom et l’identifiant de l’embarcation concernée.

Informations sur les embarcations

L’exemple suivant crée une carte adaptative avec une image et un bouton.

Exemple 2 — Carte adaptative avec une image et un bouton.

 
 
// Output is wrapped in Text() 
Text({ 
    //type is set to "message":  
    "type":"message",  
    //attachments contains an array of card objects: 
    "attachments":[  
    { 
        //contentType is set to "application/vnd.microsoft.card.adaptive": 
        "contentType":"application/vnd.microsoft.card.adaptive",  
        "contentUrl":null, 
        //content is the Adaptive Card formatted in JSON 
        "content":{ 
            "type": "AdaptiveCard", 
            "speak": "New vessel detected", 
            "version": "1.5", 
            "body": [ 
                { 
                    "type": "TextBlock", 
                    "text": "New vessel detected at " + $feature.ts, 
                    "wrap": true, 
                    "size": "Large", 
                    "weight": "Bolder", 
                    "color": "Attention" 
                }, 
                { 
                    "type": "ColumnSet", 
                    "columns": [ 
                        { 
                            "type": "Column", 
                            "width": "auto", 
	                           "items": [ 
                                { 
                                    "type": "Image", 
                                    "url": "https://www.esri.com/content/dam/esrisites/en-us/common/icons/product-logos/Analytics_for_IoT_220.png",
                                    "width": "24px", 
                                    "height": "24px", 
                                    "style": "Person", 
                                    "altText": "ArcGIS Velocity" 
                                } 
                           ], 
                            "verticalContentAlignment": "Center" 
                        }, 
                        { 
                            "type": "Column", 
                            "width": "stretch", 
                            "items": [ 
                                { 
                                    "type": "TextBlock", 
                                    "text": "ArcGIS Velocity ", 
	                                   "wrap": true 
                                } 
                            ], 
                            "spacing": "Small", 
                            "verticalContentAlignment": "Center" 
                        } 
                    ] 
                }, 
                { 
                    "type": "TextBlock", 
                    "targetWidth": "AtLeast:Narrow", 
                    "text": "Vessel Name " + $feature.name + ", traveling at " + $feature.speed + " miles per hour, was detected entering the service territory.\n \nClick the link below to see additional information.", 
                    "wrap": true 
                }, 
                { 
                    "type": "ActionSet", 
                    "actions": [ 
                        { 
                            "type": "Action.OpenUrl", 
                            "title": "Open", 
                            "url": "https://www.esri.com/en-us/arcgis/products/arcgis-velocity/overview" 
                        } 
                    ] 
                } 
            ], 
            "$schema": "https://adaptivecards.io/schemas/adaptive-card.json" 
        } 
    }] 
})

L’exemple 2 crée le message suivant sur une embarcation récemment détectée. Ce dernier inclut le nom de l’embarcation, la date et l’heure et un bouton permettant d’obtenir des informations supplémentaires.

Message lié à une nouvelle embarcation, généré dans Teams

Paramètres

Lest paramètres suivants sont des paramètres de la sortie Microsoft Teams :

ParamètreDescriptionType de données

URL du webhook Microsoft Teams

(Requis)

URL du webhook entrant créée dans Microsoft Teams.

Chaîne

Corps POST

(Requis)

Expression Arcade JSON. La chaîne JSON doit être au format Carte adaptative Microsoft Teams et doit être intégrée dans l’expression Text() Arcade.

Expression Arcade

Journalisation supplémentaire

(Facultatif)

Si besoin, activez la journalisation des requêtes et réponses HTTP au format brut générées par Velocity.

Remarque :

Ce paramètre ne doit être activé qu’à des fins de dépannage et doit être désactivé une fois le dépannage terminé. Une fois activé, lancez l’analyse. Les journaux de niveau débogage sont disponibles sur la page Journaux d’analyse. Pour obtenir de l’aide dans le cadre du dépannage, contactez le Support technique Esri.

Booléen

Considérations et limitations

Voici les considérations et limitations lors de l’utilisation de cette sortie :

  • Il est important de comprendre la vitesse des données. Chaque enregistrement envoyé à la sortie génère une requête séparée et si plus de quatre requêtes sont émises en une seconde, un risque de congestion de la connexion client est possible. Il est recommandé d’utiliser cette sortie pour les incidents qui ne devraient pas se produire très souvent.
  • Il est important de comprendre le message qui est envoyé. La taille des messages est actuellement limitée à 28 Ko. Si la limite d’un message dépasse cette taille, une erreur s’affiche.

Pour plus d’informations, reportez-vous à la création des webhooks entrants.