Partager via


Références de l’API Outlook Courrier (bêta)

S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com** **

Notes

Cette documentation couvre l’API pour les @-mentions, les messages de désabonnement, les réponses rapides et les choix de langue et de fuseau horaire, qui sont tous actuellement en préversion. Les fonctionnalités de la préversion sont sujettes à des modifications avant leur finalisation. Elles peuvent donc entraîner des erreurs de code. Pour cette raison, nous vous conseillons généralement d’utiliser uniquement une version de production d’une API dans votre code de production. La v2.0 est actuellement privilégiée lorsqu’elle est disponible.

La version béta de l’API ne vous intéresse pas ? Dans la table des matières sur la gauche, accédez à la section Référence API REST pour Office 365 et sélectionnez la version souhaitée.

Toutes les opérations de l’API Mail

Opérations de message

Les messages sont stockés dans des dossiers de boîtes aux réception, de sorte que les points de terminaison de message incluent souvent le dossier qui contient le message. Un dossier est spécifié soit par ID, soit par l’un des noms de dossiers connus suivants : Inbox, Drafts, SentItems ou DeletedItems.

Opérations de dossier

Les dossiers de boîte de réception peuvent contenir des messages et d'autres dossiers. Vous pouvez récupérer, créer, modifier, supprimer et gérer des dossiers. Vous pouvez utiliser les noms de dossiers connus suivants à la place de l’ID pour spécifier le dossier correspondant : Inbox, SentItems, Drafts ou DeletedItems.

Voir aussi

Utiliser l’API REST Courrier

Authentification

Comme les autres API REST Outlook, pour chaque requête envoyée à l’API Courrier, vous devez inclure un jeton d’accès valide. Pour obtenir un jeton d’accès, vous devez avoir inscrit et identifié votre application, et obtenu l’autorisation appropriée.

Vous pouvez en apprendre plus sur certaines options d’inscription et d’autorisation simplifiées pour vous. Gardez cela à l’esprit lorsque vous effectuez des opérations spécifiques dans l’API Courrier.

Version de l’API

L’API REST Courrier est prise en charge dans toutes les versions de l’API REST Outlook. La fonctionnalité peut différer selon la version spécifique.

Utilisateur cible

Toutes les requêtes d’API Courrier sont effectuées au nom de l’utilisateur connecté, sauf indication contraire. Quelques sous-ensembles d’API, tels que l'API Boîte de réception Prioritaire, peuvent être effectués sur l’utilisateur connecté ou sur un utilisateur spécifié par un ID utilisateur, avec les autorisations appropriées.

Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.

Récupérer les messages

Vous pouvez récupérer une collection de messages ou un message individuel depuis un dossier de boîte aux lettres.

Chaque message de la réponse contient plusieurs propriétés, parmi lesquelles la propriété Body. Le corps du message peut être au format texte ou HTML. Si le corps est au format HTML, par défaut, le contenu HTML potentiellement dangereux (par exemple, un code JavaScript) incorporé dans la propriété Body sera supprimé avant que le contenu du corps ne soit renvoyé dans une réponse REST.

Pour récupérer le contenu HTML d’origine dans son intégralité, incluez l’en-tête de requête HTTP suivant :

Prefer: outlook.allow-unsafe-html

Pour spécifier le format souhaité à renvoyer dans les propriétés Body et UniqueBody dans une requête GET, utilisez l’en-tête Prefer: outlook.body-content-type :

  • Spécifiez Prefer: outlook.body-content-type="text" pour récupérer le corps du message au format texte.
  • Spécifiez Prefer: outlook.body-content-type="html", ou ignorez simplement l’en-tête, pour renvoyer le corps du message au format HTML.

Si vous spécifiez l’un ou l’autre en-tête, la réponse inclura l’en-tête Preference-Applied comme confirmation :

  • Pour les requêtes au format texte : Preference-Applied: outlook.body-content-type="text"
  • Pour les requêtes au format HTML : Preference-Applied: outlook.body-content-type="html"

Récupérer une collection de messages

Étendue minimale requise

Un des éléments suivants :

Notes

Le comportement des opérations dans cette section varie selon la version. Découvrez plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.

Récupérer une collection de messages à partir de la toute la boîte aux lettres de l’utilisateur connecté (y compris les dossiers Éléments supprimés et Courrier pêle-mêle).

GET https://outlook.office.com/api/beta/me/messages

Vous pouvez également spécifier un dossier dans la boîte aux lettres de l’utilisateur et récupérer la collection de messages à partir de ce dossier.

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID de dossier ou le nom de dossier connu Inbox, Drafts, SentItems ou DeletedItems, si vous recevez des messages depuis dossier spécifique. Spécifier AllItems retournerait tous les messages de la boîte aux lettres entière

Notes

Par défaut, chaque message dans la réponse inclut toutes ses propriétés. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

L’exemple suivant montre comment utiliser $select pour spécifier de ne renvoyer que les propriétés Expéditeur et Sujet de chaque message dans la réponse. Reportez-vous à l’exemple de réponse dans Récupérer un contact pour une liste complète des propriétés qui seraient retournées pour un message si vous n’utilisez pas $select.

Exemple de demande

GET https://outlook.office.com/api/beta/me/MailFolders/sentitems/messages/?$select=Sender,Subject

Exemple de réponse

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
            "Id": "AAMkAGI2TIzAAAA=",
            "Subject": "Meeting Notes",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
            "Id": "AAMkAGI2TIy-AAA=",
            "Subject": "Contract Signing",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.type": "#Microsoft.OutlookServices.EventMessage",
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
            "@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
            "Id": "AAMkAGI2TIy9AAA=",
            "Subject": "Rob:Alex 1:1",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Type de réponse

La collection de messages demandée.

Obtenir une ressource message

Étendue minimale requise

Un des éléments suivants :

Récupérer un message par ID.

GET https://outlook.office.com/api/beta/me/messages/{message_id}
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.

Exemple de demande

GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=

Exemple de réponse

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
    "Id": "AAMkAGI2THVSAAA=",
    "CreatedDateTime": "2014-10-20T00:41:57Z",
    "LastModifiedDateTime": "2014-10-20T00:41:57Z",
    "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
    "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
    "Categories": [],
    "ReceivedDateTime": "2014-10-20T00:41:57Z",
    "SentDateTime": "2014-10-20T00:41:53Z",
    "HasAttachments": true,
    "Subject": "Re: Meeting Notes",
    "Body": {
        "ContentType": "Text",
        "Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
    },
    "BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
    "Importance": "Normal",
    "ParentFolderId": "AAMkAGI2AAEMAAA=",
    "Sender": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Alex D",
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "ConversationId": "AAQkAGI2yEto=",
    "ConversationIndex": "AQHRh3zqrkAcds2kw==",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": false,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}

Type de réponse

Le message demandé.

Notes

Par défaut, la réponse inclut toutes les propriétés du message spécifié. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

L’exemple suivant montre comment utiliser $select pour spécifier de ne renvoyer que les propriétés Expéditeur et Sujet du message dans la réponse.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject

Synchroniser les messages

Étendue minimale requise

Un des éléments suivants :

Vous pouvez synchroniser votre magasin de données local avec les messages sur le serveur. La synchronisation des messages est une opération par dossier. Par exemple, vous pouvez synchroniser tous les messages de votre boîte de réception. Pour synchroniser les messages dans une hiérarchie de dossiers, vous devez synchroniser chaque dossier individuellement.

L’API prend en charge à la fois la synchronisation complète, qui récupère tous les messages d’un dossier, et la synchronisation incrémentielle, qui récupère tous les messages ayant été modifiés depuis la dernière synchronisation complète.

La synchronisation d’un dossier de courrier nécessite généralement deux requêtes GET ou plus. Effectuer une requête GET ressemble beaucoup à la façon dont vous récupérez des messages, sauf que vous devez inclure certains en-têtes de requête, et un deltaToken ou skipToken le cas échéant.

En-têtes de demande

  • Vous devez spécifier l’en-tête Prefer: odata.track-changes dans toutes les demandes de synchronisation, sauf celles qui incluent un skipToken qui est renvoyé depuis une requête de synchronisation antérieure. Dans la première réponse, cherchez l’en-tête Preference-Applied: odata.track-changes pour confirmer que la ressource prend en charge la synchronisation avant de continuer.

  • Vous pouvez spécifier l’en-tête Prefer: odata.maxpagesize={x} pour définir le nombre maximal de messages renvoyés dans une requête.

Voici une séquence complète de synchronisation de messages :

  1. Faire la requête GET initiale avec l’en-tête Prefer: odata.track-changes obligatoire. La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. (Les requêtes GET suivantes diffèrent de la première requête GET car elles incluent soit un deltaToken soit un skipToken reçu dans une réponse précédente.)

  2. Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation du répertoire.

  3. Effectuer une seconde requête GET. Spécifiez l’en-tête Prefer: odata.track-changes et le deltaToken renvoyé par le premier GET pour déterminer s’il existe des messages supplémentaires. La deuxième requête renverra des messages supplémentaires, et soit un skipToken s’il y a davantage de messages disponibles, soit un deltaToken si le dernier message a été synchronisé, auquel cas la séquence de synchronisation est terminée et vous pouvez vous arrêter.

  4. Poursuivre la synchronisation en envoyant un appel GET et en incluant un skipToken renvoyé par l’appel précédent. Arrêter lorsque vous obtenez une dernière réponse contenant un en-tête @odata.deltaLink avec un deltaToken à nouveau, ce qui indique que la synchronisation est terminée.

Mettez en cache le dernier jeton delta reçu dans la séquence de synchronisation complète. Utilisez-le pour lancer une séquence de synchronisation incrémentielle.

Voici une séquence de synchronisation incrémentielle :

  1. Faire la demande GET initiale avec l’en-tête Prefer: odata.track-changes requis et le deltaToken en cache reçu dans la dernière réponse d’un cycle de synchronisation complet.

  2. Les étapes suivantes suivent le modèle utilisé pour une synchronisation complète.

Pour synchroniser les messages dans un dossier spécifique

Première requête

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages

Deuxième requête, ou première requête d’une séquence suivante

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}

Troisième requête ou requête suivante dans la même séquence

Continuez à envoyer la requête de synchronisation suivante si la réponse précédente inclut un skipToken. Arrêtez lorsque vous obtenez une réponse contenant de nouveau un en-tête @odata.deltaLink avec un deltaToken.

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Paramètres Type Description
Paramètres d’en-tête
Préférence odata.track-changes Indique que la requête est une requête de synchronisation. Obligatoire pour les deux premières requêtes GET d’une séquence.
Préférence odata.maxpagesize Définit le nombre de messages à renvoyer dans chaque réponse. Facultatif.
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems à synchroniser. Obligatoire.
deltaToken Chaîne Jeton qui identifie la dernière requête de synchronisation pour ce dossier. Il est renvoyé comme partie de la valeur de @odata.deltaLink dans cette réponse de synchronisation précédente. Obligatoire pour la deuxième requête GET.
skipToken Chaîne Jeton qui indique qu’il n’y a plus de messages à télécharger. Obligatoire s’il est renvoyé comme partie de la valeur de @odata.nextLink dans la réponse de synchronisation précédente.

Par défaut, la synchronisation renvoie toutes les propriétés et tous les messages d’un dossier. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour obtenir les meilleurs niveaux de performance. La propriété Id est toujours renvoyée.

La synchronisation prend en charge les expressions de requête $select, $top et $expand. Il existe un support limité pour $filter et $orderby, et pas de support pour $search.

  • Les seules expressions $filter supportées sont "$filter=ReceivedDateTime+ge+{value}" ou "$filter=ReceivedDateTime+gt+{value}".
  • La seule expression $orderby supportée est "$orderby=ReceivedDateTime+desc". Si vous n’incluez pas d’expression $orderby, l’ordre de tri n’est pas garanti.

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Type de réponse

Une collection contenant les messages demandés et un deltaToken ou un skipToken à utiliser pour demander des pages supplémentaires de données de message du serveur pour une synchronisation incrémentielle.

Exemple

L’exemple suivant montre une série de requêtes permettant de synchroniser un dossier spécifique contenant 7 messages. La première requête de synchronisation spécifie le renvoi de deux messages à la fois (odata.maxpagesize est à 2), et seulement les propriétés Sender et Subject pour chaque message.

  • La réponse initiale renvoie 2 messages, un deltaLink et un deltaToken.
  • La seconde requête utilise ce deltaToken. La seconde réponse renvoie 2 messages, un nextLink et un skipToken.
  • Pour achever la synchronisation, utilisez le skipToken renvoyé par la demande de synchronisation précédente jusqu’à ce que la réponse de synchronisation renvoie un deltaLink et un deltaToken, auquel cas cette séquence de synchronisation est terminée. Enregistrez le deltaToken pour la prochaine séquence de synchronisation.

Exemple de première requête

GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Exemple de données d'une première réponse

La première réponse comprend un en-tête Preference-Applied: odata.track-changes, indiquant que ce dossier prend en charge la synchronisation. La réponse comprend également deux messages et un deltaToken.

Preference-Applied: odata.track-changes

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
      "Id":"AAMkAGI5MAAAwXADPAAA=",
      "Subject":"Updates from All Company",
      "Sender":{
        "EmailAddress":{
          "Name":"Contoso Demo on Yammer",
          "Address":"noreply@yammer.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
      "Id":"AAMkAGI5MAAAwXADVAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Alex Darrow",
          "Address":"AlexD@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}

Exemple de deuxième requête

La deuxième requête spécifie le deltaToken renvoyé de la réponse précédente.

GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Exemple de données d’une deuxième réponse

La deuxième réponse comprend deux autres messages et un skipToken, indiquant qu’il n’y a plus de messages à synchroniser dans le dossier.

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
      "Id":"AAMkAGI5MAAAwXADQAAA=",
      "Subject":"International Launch Planning for XT2000",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
      "Id":"AAMkAGI5MAAAwXADUAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Anne Wallace",
          "Address":"AnneW@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}

Exemple de troisième requête

La troisième requête comprend le skipToken renvoyé par la réponse précédente.

GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

Exemple de données d’une troisième réponse

La troisième réponse renvoie deux autres messages et un autre skipToken, indiquant qu’il y a toujours des messages dans le dossier à synchroniser.

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
      "Id":"AAMkAGI5MAAAwXADTAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Pavel Bansky",
          "Address":"PavelB@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
      "Id":"AAMkAGI5MAAAwXADSAAA=",
      "Subject":"Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}

Exemple de quatrième requête

La quatrième requête comprend le skipToken de la réponse précédente.

GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

Exemple de données d’une quatrième et dernière réponse

La quatrième réponse renvoie le dernier message restant dans le dossier, et un deltaToken qui indique que la synchronisation est terminée pour ce dossier. Enregistrez le deltaToken pour la prochaine séquence de synchronisation de ce dossier.

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
      "Id":"AAMkAGI5MAAAwXADRAAA=",
      "Subject":"Data sheets for the XT2000 ",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

Exemple de demande de synchronisation incrémentielle

La première requête comprend le deltaToken de la dernière réponse de synchronisation complète.

GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

La réponse à la requête de synchronisation incrémentielle inclut toutes les modifications apportées à l’ensemble des messages du dossier.

Exemple de réponse de synchronisation incrémentielle

La réponse montre qu’une modification a été apportée à l’ensemble de messages. Un message est supprimé.


{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value": [
        {
            "id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
            "reason": "deleted"
        }
    ]
,
  "@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

Créer et envoyer des messages

Vous pouvez envoyer un nouveau message à la volée ou créer un brouillon, puis l’envoyer. Vous pouvez créer des brouillons dans n’importe quel dossier.

Envoyer un nouveau message à la volée

Étendue minimale requise

Un des éléments suivants :

Envoyez le message fourni dans le corps de la requête en utilisant la méthode SendMail. Vous pouvez inclure une ou plusieurs pièces jointes dans le même appel d’action en les spécifiant dans la propriété de collection Pièces jointes. Vous pouvez également enregistrer le message dans le dossier Éléments envoyés.

POST https://outlook.office.com/api/beta/me/sendmail
Paramètre requis Type Description
Paramètres de corps
Message Message Le message à envoyer.
SavetoSentItems booléen Indique s’il faut enregistrer le message dans Éléments envoyés. La valeur par défaut est true.

Spécifiez le paramètre Message avec la propriété ToRecipients requise et toute propriété message accessible en écriture dans le corps de la requête. Le paramètre SaveToSentItems est seulement nécessaire s’il est à false.

Exemple de demande

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

{
  "Message": {
    "Subject": "Meet for lunch?",
    "Body": {
      "ContentType": "Text",
      "Content": "The new cafeteria is open."
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
        "Name": "menu.txt",
        "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
      }
    ]
  },
  "SaveToSentItems": "false"
}

Exemple de réponse

Status code: 202

Créer un brouillon de message

Étendue minimale requise

Un des éléments suivants :

Crée le brouillon d’un nouveau message. Les brouillons peuvent être créés dans n’importe quel dossier et éventuellement mis à jour avant envoi. Pour enregistrer dans le dossier Brouillons, utilisez le raccourci /me/messages.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts.

Spécifiez toutes les propriétés message inscriptibles dans le corps de la requête.

Exemple de demande

POST https://outlook.office.com/api/beta/me/MailFolders/inbox/messages
Content-Type: application/json

{
  "Subject": "Did you see last night's game?",
  "Importance": "Low",
  "Body": {
    "ContentType": "HTML",
    "Content": "They were <b>awesome</b>!"
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
      }
    }
  ]
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
  "Id": "AAMkAGE0Mz7k0AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
  "Categories": [],
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "CreatedDateTime": "2014-10-18T20:06:51Z",
  "LastModifiedDateTime": "2014-10-18T20:06:51Z",
  "Subject": "Did you see last night's game?",
  "BodyPreview": "They were awesome!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Low",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mpv2hisc=",
  "ConversationIndex": "AQHRf4zqrkAcds2kw==",
  "ReceivedDateTime": "2014-10-18T20:06:51Z",
  "SentDateTime": "2014-10-18T20:06:51Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Type de réponse

Le brouillon de message.

Envoyer un brouillon de message

Étendue minimale requise

Un des éléments suivants :

Envoyez un nouveau brouillon de message, un brouillon de réponse, un brouillon de réponse à tousou un brouillon de transfert en utilisant la méthode Send. Le message est alors enregistré dans le dossier Éléments envoyés.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du brouillon de message à envoyer.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz7k0AAA=/send

Exemple de réponse

Status code: 202

Répondre ou répondre à tous les messages

Notes

Le comportement des opérations dans cette section varie selon la version. Découvrez plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.

Vous pouvez répondre à un message, ajouter un commentaire ou mettre à jour les propriétés du message en un seul appel. Vous pouvez également créer d’abord un brouillon de réponse et mettre à jour les propriétés du message en un seul appel, puis envoyer le brouillon.

Vous pouvez répondre uniquement à l’expéditeur du message ou répondre à tous les destinataires à la fois.

Répondre à l’expéditeur à la volée

Étendue minimale requise

Un des éléments suivants :

Répondre à l’expéditeur d’un message, ajouter un commentaire ou modifier toute propriété pouvant être mise à jour en un seul appel Reply. Le message est alors enregistré dans le dossier Éléments envoyés.

Vous pouvez également commencer par créer un brouillon de message de réponse pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Paramètre requis Type Description
Paramètres d'URL
message_id string L'identifiant du message auquel répondre.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et non au destinataire dans From.

Exemple de demande

L’exemple suivant inclut un commentaire et ajoute un destinataire au message de réponse.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      },
      {
        "EmailAddress":{
          "Address":"randiw@contoso.onmicrosoft.com",
          "Name":"Randi Welch"
        }
      }
     ]
  },
  "Comment": "Fanny, Randi, would you name the group please?" 
}

Exemple de réponse

Status code: 202

Répondre à tous à la volée

Étendue minimale requise

Un des éléments suivants :

Répondez à tous les destinataires d’un message en spécifiant un commentaire et en modifiant toute propriété modifiable pour la réponse, le tout en utilisant la méthode ReplyAll. Le message est alors enregistré dans le dossier Éléments envoyés.

Vous pouvez également commencer par créer un brouillon de message de réponse à tous pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Paramètre requis Type Description
Paramètres d'URL
message_id string L'identifiant du message auquel répondre.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et ToRecipients, et non aux destinataires dans From et ToRecipients.

Exemple de demande

L’exemple suivant inclut un commentaire et ajoute une pièce jointe au message répondre-à-tous.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/ReplyAll
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "Please take a look at the attached guidelines before you decide on the name." 
}

Exemple de réponse

Status code: 202

Créer un brouillon de message de réponse

Étendue minimale requise

Un des éléments suivants :

Créer un brouillon du message de réponse pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateReply. Vous pouvez ensuite envoyer le brouillon du message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Paramètre requis Type Description
Paramètres d'URL
message_id string L'identifiant du message auquel répondre.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et non aux destinataires dans From.

Exemple de demande

L'exemple suivant crée un brouillon de réponse et ajoute un commentaire et un destinataire dans le corps de la demande.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      }
     ]
  },
  "Comment": "Fanny, would you name the group if the project is approved, please?" 
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
  "Id": "AAMkADA1MTAAAH5JKoAAA=",
  "CreatedDateTime": "2016-03-15T08:33:43Z",
  "LastModifiedDateTime": "2016-03-15T08:33:43Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:33:43Z",
  "SentDateTime": "2016-03-15T08:33:43Z",
  "HasAttachments": false,
  "InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
  },
  "BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBHStBQ=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Type de réponse

Le brouillon du message de réponse avec les propriétés ToRecipient, IsDraftet autres déjà pré-remplies.

Créer un brouillon de message de réponse à tous

Étendue minimale requise

Un des éléments suivants :

Créez un brouillon du message de réponse à tous pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateReplyAll. Vous pouvez ensuite envoyer le brouillon du message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Paramètre requis Type Description
Paramètres d'URL
message_id string L’identifiant du message auquel répondre à tous.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans les propriétés ReplyTo et ToRecipients, et non aux destinataires dans les propriétés From et ToRecipients.

Exemple de demande

L’exemple suivant crée un brouillon de réponse à tous, et ajoute une pièce jointe et un commentaire en un seul appel CreateReplyAll.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/createreplyall
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "if the project gets approved, please take a look at the attached guidelines before you decide on the name." 
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKpAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP\"",
  "Id": "AAMkADA1MTAAAH5JKpAAA=",
  "CreatedDateTime": "2016-03-15T08:37:34Z",
  "LastModifiedDateTime": "2016-03-15T08:37:34Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:37:34Z",
  "SentDateTime": "2016-03-15T08:37:34Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB005732BE05BD669AC7CE056EF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body dir=\"ltr\">\r\nif the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:36:32 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group\r\n<div>Fanny, Randi, would you name the group please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n</body>\r\n</html>"
  },
  "BodyPreview": "if the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:36:32 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubj",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAACHRQA==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKpAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Type de réponse

Le brouillon du message de réponse à tous avec les propriétés ToRecipient, IsDraftet autres déjà pré-remplies.

Transférer des nouveaux messages ou des brouillons

Notes

Le comportement des opérations dans cette section varie selon la version. Découvrez plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.

Vous pouvez transférer un message, ajouter un commentaire ou mettre à jour les propriétés du message en un seul appel. Vous pouvez également d’abord créer un brouillon et mettre à jour les propriétés du message en un seul appel, puis envoyer le brouillon.

Transférer un message directement

Étendue minimale requise

Un des éléments suivants :

Transférez un message, ajoutez un commentaire ou modifiez les propriétés pouvant être mises à jour en un seul appel Forward. Le message est alors enregistré dans le dossier Éléments envoyés.

Vous pouvez également commencer par créer un brouillon de message transféré pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à transférer.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
ToRecipients Collection(Recipient) La liste des destinataires.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Vous devez spécifier soit le paramètre ToRecipients soit la propriété ToRecipients du paramètre Message. Spécifier les deux ou n’en spécifier aucun renverra une erreur HTTP 400 Bad Request.

Exemple de demande

L'exemple suivant donne à la propriété IsDeliveryReceiptRequested la valeur true, ajoute un commentaire et transmet le message.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/forward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this." 
}

Exemple de réponse

Status code: 202

Créer un brouillon de message de transfert

Étendue minimale requise

Un des éléments suivants :

Créer un brouillon de message de transfert pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateForward. Vous pouvez ensuite envoyer le brouillon du message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à transférer.
Paramètres de corps
Commentaire string Commentaire à inclure. Peut être une chaîne vide.
ToRecipients Collection(Recipient) La liste des destinataires.
Message Message Toutes les propriétés modifiables à mettre à jour dans le message de réponse.

Notes

  • Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre Message. Spécifier les deux renverra une erreur HTTP 400 Bad Request.
  • Vous devez spécifier soit le paramètre ToRecipients soit la propriété ToRecipients du paramètre Message. Spécifier les deux ou n’en spécifier aucun renverra une erreur HTTP 400 Bad Request.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/createforward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this; you'll need this if the project gets approved." 
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKqAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ\"",
  "Id": "AAMkADA1MTAAAH5JKqAAA=",
  "CreatedDateTime": "2016-03-15T08:42:10Z",
  "LastModifiedDateTime": "2016-03-15T08:42:10Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:42:10Z",
  "SentDateTime": "2016-03-15T08:42:10Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB0057E0EBC90EF37FC9233941F7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "FW: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>\r\nDana, just want to make sure you get this; you'll need this if the project gets approved.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:47:54 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Dana, just want to make sure you get this; you'll need this if the project gets approved.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAAAMtlIAAH+3c",
  "IsDeliveryReceiptRequested": true,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKqAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Type de réponse

Le brouillon du message transfert avec la propriété IsDraft et les autres propriétés appropriées pré-remplies.

Mettre à jour les messages

Modifiez les propriétés modifiables d’un message et enregistrez les modifications.

Mettre à jour un message

Étendue minimale requise

Un des éléments suivants :

Modifiez les propriétés modifiables d’un brouillon ou d’un message existant. Seules les propriétés que vous spécifiez sont modifiées.

PATCH https://outlook.office.com/api/beta/me/messages/{message_id}
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à mettre à jour.

Spécifiez une ou plusieurs propriétés message modifiables dans le corps de la requête.

Exemple de demande

L’exemple de requête suivant définit deux catégories sur un message électronique et marque le message avec un début et une date d’échéance.

Notes

Si le FlagStatus est défini sur Flagged, la propriété Flag.CompletedDate ne doit pas être définie.

PATCH https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json

{
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "IsRead": true,
  "Flag": {
    "FlagStatus": "Flagged",
      DueDateTime": {
      "DateTime": "2017-12-22T08:00:00.0000000",
      "TimeZone": "UTC"
    },
    "StartDateTime": {
      "DateTime": "2017-12-18T08:00:00.0000000",
      "TimeZone": "UTC"
    }
  }
}

Exemple de réponse

Status code: 200


{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
  "Id": "AAMkAGE0Mz8S-AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "CreatedDateTime": "2014-10-17T17:12:15Z",
  "LastModifiedDateTime": "2014-10-19T03:24:35Z",
  "Subject": "Meeting notes from today",
  "BodyPreview": "See attached",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": true,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mip-qvhs=",
  "ConversationIndex": "AQHRh5tqrkAcds2kw==",
  "ReceivedDateTime": "2014-10-17T17:12:15Z",
  "SentDateTime": "2014-10-17T17:12:12Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true,
  "Flag": {
    "FlagStatus": "Flagged",
    "DueDateTime": {
      "DateTime": "2017-12-22T08:00:00.0000000",
      "TimeZone": "UTC"
    },
    "StartDateTime": {
      "DateTime": "2017-12-18T08:00:00.0000000",
      "TimeZone": "UTC"
    }
  }
}

Exemple de demande

Les exemples de requêtes suivants marquent un message électronique précédemment marqué comme complet

PATCH https://outlook.office.com/api/beta/me/messages/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA= 
Content-Type: application/json; charset=utf-8
Content-Length: 164


{
  "Flag": {
    "CompletedDateTime":{
      "DateTime": "2018-02-05T18:00:00",
      "TimeZone": "Pacific Standard Time"
    },
    "FlagStatus": "Complete"
  }
}

Exemple de réponse

HTTP/1.1 200 OK

{
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=",
    "CreatedDateTime": "2017-12-15T22:11:41Z",
    "LastModifiedDateTime": "2017-12-16T00:49:44Z",
    "ChangeKey": "CQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/ThM",
    "Categories": [],
    "ReceivedDateTime": "2017-12-15T22:11:41Z",
    "SentDateTime": "2017-12-15T22:11:36Z",
    "HasAttachments": false,
    "InternetMessageId": "<e711230d-d066-469e-a128-c429c5789d97@SINGMEHUB02.gme.gbl>",
    "Subject": "An agent sent you a message in Microsoft Teams",
    "BodyPreview": "Hi John,\r\nYou're missing all the action in Microsoft Teams\r\n\r\n\r\nAn agent\r\nSent a new message to your chat\r\n\r\n         Open Microsoft Teams\r\n\r\nRather not receive these emails? Click your profile picture, select Options and then Notificatio",
    "Importance": "Normal",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAuAAAAAAB79HWXBjsTRocnYZpOfEpCAQCHGmLqkYhISaO_lSymODLQABa6L5YsAAA=",
    "ConversationId": "AAQkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAQAPQcMVQTnE5Aql13YD1jbQw=",
    "ConversationIndex": "AQHTdfGv9BwxVBOcTkCqXXdgPWNtDA==",
    "IsDeliveryReceiptRequested": null,
    "IsReadReceiptRequested": false,
    "IsRead": true,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADTvAAEwgCZNAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "InferenceClassification": "Other",
    "UnsubscribeData": [],
    "UnsubscribeEnabled": false,
    "Body": {
        "ContentType": "HTML",
        "Content": "<html style=\"font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:18px\"></html>\r\n"
    },
    "Sender": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "John",
                "Address": "john@contoso.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "MentionsPreview": null,
    "Flag": {
        "FlagStatus": "Complete",
        "CompletedDateTime": {
            "DateTime": "2018-02-06T00:00:00.0000000",
            "TimeZone": "UTC"
        }
    }
}

Type de réponse

Le message mis à jour.

Suppression de messages

Notes

Soyez prudent lorsque vous supprimez des messages. La récupération des contenus supprimés peut être impossible. Pour en savoir plus, voir Suppression d’éléments.

Supprimer un message

Étendue minimale requise

Un des éléments suivants :

DELETE https://outlook.office.com/api/beta/me/messages/{message_id}
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à supprimer.

Exemple de demande

DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8TBAAA=

Exemple de réponse

Status code: 204

Déplacer ou copier des messages

Vous pouvez déplacer ou copier un message dans un dossier.

Déplacer un message

Étendue minimale requise

Un des éléments suivants :

Déplacer un message vers un dossier. Crée une nouvelle copie du message dans le dossier de destination.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/move
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à déplacer.
Paramètres de corps
DestinationId string ID de dossier de destination, ou nom de dossier connu Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
  "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
  "Id": "AAMkAGI2shBhAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGI2AAEJAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGWgitxag=",
  "ConversationIndex": "AQHRh6etrkAcds2kw==",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Type de réponse

Le message qui a été déplacé.

Copier un message

Étendue minimale requise

Un des éléments suivants :

Copier un message vers un dossier.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/copy
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message à copier.
Paramètres de corps
DestinationId string ID de dossier de destination, ou nom de dossier connu Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
  "Id": "AAMkAGI2T8DtAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
  "ConversationIndex": "AQHRh6sdrkAcds2kw==",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Type de réponse

La nouvelle copie du message.

Gérer la boîte de réception triée

La boîte de réception triée vous permet d’afficher les messages importants dans l’onglet Focused de la boîte de réception, et le reste des messages de la boîte de réception dans l’onglet Other. Le système de classement trie par défaut les messages de la boîte de réception. Vous pouvez corriger et former le système au fil du temps via l’interface utilisateur ou un programme. Plus vous l’utilisez, plus le système peut déduire quel message entrant est important.

Au niveau programmatique, l'API REST de la boîte de réception prioritaire fonctionne sur les messages de l’utilisateur spécifié et prend en charge une propriété InferenceClassification pour chaque message. Les valeurs possibles sont Focused et Other, qui indiquent si l’utilisateur considère ce message comme, respectivement, plus important ou moins important. Pour corriger et entraîner le système de classification des messages, utilisez l’opération PATCH sur la propriété InferenceClassification au niveau du message.

L'API REST Boîte de réception prioritaire vous permet également de créer des remplacements. Chaque remplacement, représenté par une instance InferenceClassificationOverride est une instruction pour le système de classification de toujours désigner les messages d’un expéditeur spécifique d’une manière cohérente (c’est-à-dire toujours comme "Prioritaire" ou toujours comme "Autre"), indépendamment de toute approche précédemment apprise. Vous pouvez créer, obtenir, mettre à jour et effacer des remplacements pour l’utilisateur spécifié. Les remplacements de cet utilisateur, le cas échéant, sont accessibles dans une propriété de navigation InferenceClassification, qui est une collection d’instances InferenceClassificationOverride instances. Les remplacements permettent à l’utilisateur de mieux contrôler la classification des messages entrants et renforcent la confiance dans le système de classification.

Notez que le système de classification apprend et applique la classification uniquement aux messages entrants dans la boîte de réception. Les messages dans d’autres dossiers sont par défaut "Prioritaires". La mise en place d’un remplacement affecte les futurs messages arrivant dans la boîte de réception ; le remplacement ne modifie pas la propriété InferenceClassification dans les messages existants dans tout dossier, y compris dans la boîte de réception.

Formation du système de classement des messages

Utiliser des remplacements pour classer les messages par expéditeur de façon cohérente

Mettre à jour la classification des messages

Étendue minimale requise

Un des éléments suivants :

Changez la propriété InferenceClassification du message spécifié. Si le message est dans la boîte de réception, l’utilisateur verra ce message sous l’onglet Focused ou Other correspondant. Ce type de correction entraîne également le système de classification des messages pour personnaliser la future classification pour l’utilisateur spécifié.

PATCH https://outlook.office.com/api/beta/me/messages('{message_id}')

PATCH https://outlook.office.com/api/beta/Users('{user_id}')/messages('{message_id}')
Paramètre Type Description
Paramètres d'URL
message_id string L’ID du brouillon de message à envoyer.
user_id string Adresse de messagerie de l’utilisateur.

Type de réponse

Le message mis à jour.

Exemple de demande

Cet exemple change la propriété InferenceClassification en Other pour le message spécifié de l’utilisateur connecté.

PATCH https://outlook.office.com/api/beta/me/messages('AAMkADA1MTQBAAA=')

{
    "InferenceClassification": "Other"
}

Exemple de réponse

L’objet de réponse montré ici montre la propriété InferenceClassification mise à jour et est tronqué à des fins de concision. Une requête PATCH réelle renvoie toutes les propriétés du message.

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
    "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
    "Id": "AAMkADA1MTQBAAA=",
    "Importance": "Normal",
    "Sender": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Admin",
                "Address": "admin@adatum.onmicrosoft.com"
            }
        }
    ],
    "InferenceClassification": "Other"
}

Créer un remplacement pour un expéditeur

Étendue minimale requise

Un des éléments suivants :

Créez un remplacement pour un expéditeur identifié par une adresse SMTP. Les futurs messages provenant de cette adresse SMTP seront classés de façon cohérente comme indiqué dans le remplacement.

Notes

  • Si un remplacement existe déjà avec la même adresse SMTP, les champs ClassifyAs et Name de ce remplacement sont mis à jour avec les valeurs fournies.
  • Le nombre maximal de remplacements pris en charge pour une boîte aux lettres est 1 000, en fonction des adresses SMTP d’expéditeur unique.
  • L’opération POST prend en charge la création d’un seul remplacement à la fois. Pour créer plusieurs remplacements, vous pouvez envoyer plusieurs demandes POST ou les envoyer par lots.
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

POST https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Paramètre Type Description
Paramètres d'URL
user_id string Adresse de messagerie de l’utilisateur.

Type de réponse

Le InferenceClassificationOverride nouvellement créé, ou l’instance de InferenceClassificationOverride mise à jour si une adresse SMTP existe déjà.

Exemple de demande

POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

{
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

Exemple de réponse

Status code: 201 Created

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

Obtenir tous les remplacements utilisateurs

Étendue minimale requise

Un des éléments suivants :

Obtenir les remplacements qu’un utilisateur a configurés pour toujours classer les messages provenant de certains expéditeurs de façon spécifique.

Chaque remplacement correspond à l’adresse SMTP d’un expéditeur. Au départ, un utilisateur n’a aucun remplacement.

GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

GET https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Paramètre Type Description
Paramètres d'URL
user_id string Adresse de messagerie de l’utilisateur.

Type de réponse

Une collection d’instances de InferenceClassificationOverride. Une collection vide est renvoyée si l’utilisateur n’a mis en place aucun remplacement.

Exemple de demande

GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

Exemple de réponse

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
            "ClassifyAs": "Focused",
            "SenderEmailAddress": {
                "Name": "Fanny Downs",
                "Address": "fannyd@adatum.onmicrosoft.com"
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
            "ClassifyAs": "Other",
            "SenderEmailAddress": {
                "Name": "Randi Welch",
                "Address": "randiw@adatum.onmicrosoft.com"
            }
        }
    ]
}

Mise à jour d’un remplacement pour un expéditeur

Étendue minimale requise

Un des éléments suivants :

Modifiez le champ classifyAs d’un remplacement comme spécifié.

Vous ne pouvez pas utiliser PATCH pour modifier d’autres champs dans une instance inferenceClassificationOverride.

Si un remplacement existe pour un expéditeur et que ce dernier change son nom d’affichage, vous pouvez utiliser POST pour forcer une mise à jour du champ Name dans le remplacement existant .

Si un remplacement existe pour un expéditeur et qu’il change son adresse SMTP, le seul moyen de « mettre à jour » le remplacement pour cet expéditeur est de supprimer le remplacement existant et d’en créer un avec la nouvelle adresse SMTP.

PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')

PATCH https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre Type Description
Paramètres d'URL
override_id string L’ID du remplacement à mettre à jour.
user_id string Adresse de messagerie de l’utilisateur.

Type de réponse

L’instance InferenceClassificationOverride mise à jour.

Exemple de demande

L’exemple suivant modifie un remplacement pour l’utilisateur connecté. Le remplacement est pour l’expéditeur avec l'adresse SMTP randiw@adatum.onmicrosoft.com, modifié de Other en Focused.

PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

{
    "ClassifyAs": "Focused"
}

Exemple de réponse

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@adatum.onmicrosoft.com"
    }
}

Supprimer un remplacement d’expéditeur

Étendue minimale requise

Un des éléments suivants :

Supprimer un remplacement spécifié par son ID.

DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')

DELETE https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre Type Description
Paramètres d'URL
override_id string L’ID du brouillon de message à envoyer.
user_id string Adresse de messagerie de l’utilisateur.

Exemple de demande

DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

Exemple de réponse

Status code: 204 No Content

Gérer les @-Mentions (préversion)

Interpeller un destinataire pour attirer son attention dans un message est un geste social commun. La ressource Mention fournit un mécanisme léger pour notifier un autre destinataire, ou pour obtenir une notification d’un expéditeur dans un message.

Via son interface utilisateur, une application peut permettre à un utilisateur d’insérer une mention dans un message en faisant précéder la mention par @ (couramment utilisé pour des scénarios similaires dans d’autres applications, d’où le terme @-mention). Par programmation, l’application peut créer la mention en l’ajoutant à la propriété Mentions dans le même appel POST pour créer le message.

L’application peut laisser les utilisateurs chercher s’ils ont été notifiés dans les messages de leur boîte de réception. Les utilisateurs peuvent trouver les détails de chaque mention dans un message. Ils peuvent aussi effacer une mention dans un message.

Créer des mentions dans un nouveau message

Obtenir des informations sur les mentions dans le message

Supprimer une mention dans un message

Créer et envoyer des mentions dans le cadre d’un nouveau message

Étendue minimale requise

Un des éléments suivants :

Créez et envoyez un message fourni dans le corps de la requête qui comprend une collection d'une ou plusieurs instances Mention.

Cela utilise la même action SendMail disponible dans la ressource Message ; en outre, vous incluez la propriété Mentions propriété comme partie du paramètre de corps du Message.

POST https://outlook.office.com/api/beta/me/sendmail
Paramètre requis Type Description
Paramètres de corps
Message Message Le message à envoyer.
SavetoSentItems booléen Indique s’il faut enregistrer le message dans Éléments envoyés. La valeur par défaut est true. Nécessaire seulement si faux.

Spécifiez le paramètre Message avec la propriété ToRecipients requise, la propriété Mentions et toute propriété message modifiable dans le corps de la requête.

Et, pour chaque mention dans la propriété Mentions, vous devez spécifier les propriétés Mentioned et CreatedBy.

Exemple de demande

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

{
  "Message": {
    "Subject": "Project kickoff",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
  }
}

Exemple de réponse

Status code: 202 Accepted

Créer des mentions dans le cadre d’un brouillon de message

Étendue minimale requise

Un des éléments suivants :

Créez le brouillon d’un nouveau message qui comprend une collection d’une ou plusieurs instances de Mention. Vous pouvez créer le brouillon dans n’importe quel dossier et éventuellement lemettre à jour avant l’envoi.

Cela utilise la même méthode POST disponible dans la ressourceMessage ; de plus, vous incluez sa propriété Mentions dans le corps de la requête.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts.

Spécifie la propriété Mentions et toute propriété message modifiable dans le corps de la requête.

Et, pour chaque mention dans la propriété Mentions, vous devez spécifier les propriétés Mentioned et CreatedBy.

Type de réponse

Le brouillon de message.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json

{
    "Subject": "Party planning",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {    
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
}

Exemple de réponse

Ce qui suit montre le brouillon de message créé.

Notes

L’objet de réponse indiqué ici est tronqué à des fins de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.

Status code: 201 Created

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAbYj7\"",
  "Id":"AQMkADJmMTUAAAW1fsAAAAA==",
  "Body":{
    "ContentType":"Text",
    "Content":""
  },
  "BodyPreview":"",
  "Sender":null,
  "From":null,
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "MentionsPreview":{
    "IsMentioned":false
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAW1fsAAAAA%3D%3D')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')/Mentions('4577bba4-b063-4cea-9073-6f7ca815fcec')",
      "Id":"4577bba4-b063-4cea-9073-6f7ca815fcec",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-22T02:22:44Z",
      "ServerCreatedDateTime":"2016-07-22T02:22:44.201Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

Récupérer tous les messages mentionnant l’utilisateur connecté

Étendue minimale requise

Un des éléments suivants :

Récupère tous les messages dans la boîte aux lettres de l’utilisateur connecté ou dans le dossier spécifié, qui contient une Mention de cet utilisateur.

Cela utilise la même méthode GET disponible sur la ressource Message ; de plus, vous incluez un paramètre de requête $filter sur la propriété MentionsPreview.

Par défaut, un appel GET /me/messages ne renvoie pas la propriété Mentions. Utilisez le paramètre de requête $expand pour trouver le détail de chaque mention dans un message.

Notes

Assurez-vous que votre appel réel code les caractères d’espace dans la chaîne de paramètre de requête de manière appropriée.

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned eq true

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages?$filter=MentionsPreview/IsMentioned eq true
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts.

Type de réponse

La collection de messages demandée.

Exemple de demande

L’exemple ci-dessous filtre tous les messages dans la boîte aux lettres de l’utilisateur connecté pour trouver ceux qui mentionnent l’utilisateur. Il utilise $select pour renvoyer un sous-ensemble des propriétés de chaque message dans la réponse. Il incorpore également le codage d’URL pour les caractères d’espace dans la chaîne de paramètre de requête.

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview

Exemple de réponse

La réponse contient 2 messages qui mentionnent l’utilisateur connecté.

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages(Subject,Sender,ReceivedDateTime,MentionsPreview)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
      "Id":"AQMkADJmMTUAAAgVZAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:21Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAjwVAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAEGj\"",
      "Id":"AQMkADJmMTUAAAjwVAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:20Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    }
  ]
}

Obtenez les détails de chaque mention dans un message

Étendue minimale requise

Un des éléments suivants :

Obtenez un message avec les détails de chaque Mention dans le message étendu.

Cela utilise la même méthode GET disponible sur la ressource Message ; de plus, vous incluez un paramètre de requête $expand sur la propriété de navigation Mentions.

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Paramètre requis Type Description
Paramètres d'URL
message_id string L’identifiant du message demandé.

Type de réponse

Le message demandé.

Exemple de demande

Dans l’exemple suivant, l’utilisatrice connectée est Dana Swope. L’exemple montre comment obtenir les détails de toutes les mentions dans le message spécifié dans la boîte aux lettres de Dana.

GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions 

Exemple de réponse

Ce qui suit montre le message demandé, incluant les détails de chaque mention dans la propriété Mentions. Ce message comprend 2 mentions, une pour l’utilisatrice Dana et l’autre pour Randi Welch.

Notes

L'objet de réponse présenté ici est tronqué à des fins concision pour se concentrer sur les propriétés liées à la prise en charge de la Mention.

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
  "Id":"AQMkADJmMTUAAAgVZAAAA",
  "Subject":"Start planning soon",
  "Body":{
    "ContentType":"HTML",
    "Content":"<html><head></head><body"><p><a href=\"mailto:danas@contoso.onmicrosoft.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.onmicrosoft.com\">@Randi Welch</a>, forgot to mention, I will be away&nbsp;this weekend. I can start on Monday though.</p></body></html>"
  },
  "BodyPreview":"@Dana Swope<mailto:danas@contoso.onmicrosoft.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
  "Sender":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "From":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients":[
  ],
  "BccRecipients":[
  ],
  "MentionsPreview":{
    "IsMentioned":true
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('138f4c0a-1130-4776-b780-bf79d73abb3f')",
      "Id":"138f4c0a-1130-4776-b780-bf79d73abb3f",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.152Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.152Z",
      "DeepLink":null,
      "Application":null
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('7b94df1a-0086-482a-b0da-e62fae12f983')",
      "Id":"7b94df1a-0086-482a-b0da-e62fae12f983",
      "Mentioned":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.158Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.158Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

Supprimer une mention

Étendue minimale requise

Un des éléments suivants :

Supprime la mention spécifiée dans le message spécifié dans la boîte aux lettres de l’utilisateur connecté.

DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Paramètre requis Type Description
Paramètres d'URL
mention_id string L’ID de la mention à supprimer.
message_id string L’identifiant du message qui contient la mention.

Exemple de demande

DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')

Exemple de réponse

Status code: 204 No Content

Gérer les règles (préversion)

Dans Outlook, vous pouvez configurer des règles pour les messages entrants dans la boîte de réception afin d’exécuter des actions spécifiques si certaines conditions sont réunies.

Par programmation, vous pouvez accéder aux règles via la propriété de navigation MessageRules du dossier de boîte de réception. Chaque règle est représentée par la ressource MessageRule, les actions de règle disponibles sont représentées par le type complexe MessageRuleActions, et les conditions de règle disponibles ainsi que les exceptions sont représentées par le type complexe MessageRulePredicates.

Créer des règles (préversion)

Étendue minimale requise

Créez une règle en spécifiant un ensemble de conditions et d’actions. Outlook effectue ces actions si un message entrant dans la boîte de réception de l’utilisateur remplit les conditions spécifiées.

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Voici les paramètres de corps généralement utilisés lors de la création de règles. Vous pouvez spécifier toute autre propriété modifiable MessageRule appropriée dans le corps de la requête.

Paramètres de corps Type Description
Actions MessageRuleActions Actions à effectuer sur un message lorsque les conditions correspondantes, le cas échéant, sont remplies. Obligatoire.
Conditions MessageRulePredicates Conditions qui, lorsqu’elles sont remplies, déclenchent les actions correspondantes pour cette règle. Facultatif.
Afficher un nom Chaîne Nom d’affichage de la règle. Obligatoire.
Exceptions MessageRulePredicates Représente les conditions d’exception de la règle. Facultatif.
IsEnabled Booléen Indique si la règle peut être appliquée aux messages. Facultatif.
Sequence Int32 Indique l’ordre dans lequel la règle est exécutée, parmi d’autres règles. Obligatoire.

Exemple de demande

La règle suivante transfère un message entrant à Alex Wilbur si le nom de l’expéditeur inclut le terme "adele".

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Content-Type: application/json

{      
    "DisplayName": "From partner",      
    "Sequence": 2,      
    "IsEnabled": true,          
    "Conditions": {
        "SenderContains": [
          "adele"       
        ]
     },
     "Actions": {
        "ForwardTo": [
          {
             "EmailAddress": {
                "Name": "Alex Wilbur",
                "Address": "AlexW@MOD154847.onmicrosoft.com"
              }
           }
        ],
        "StopProcessingRules": true
     }    
}

Exemple de réponse

Status code: 201 Created

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

Obtenir des règles (préversion)

Étendue minimale requise

Vous pouvez obtenir toutes les règles définies pour la boîte de réception de l’utilisateur ou obtenir une règle spécifique en spécifiant son ID.

Obtenez toutes les règles pour une boîte de réception

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Exemple de demande

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Exemple de réponse

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZp8=')",
      "Id":"AQAAAJ5dZp8=",
      "DisplayName":"Remove spam",
      "Sequence":1,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SubjectContains":[
          "enter to win"
        ]
      },
      "Actions":{
        "Delete":true,
        "StopProcessingRules":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
      "Id":"AQAAAJ5dZqA=",
      "DisplayName":"From partner",
      "Sequence":2,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SenderContains":[
          "ADELE"
        ]
      },
      "Actions":{
        "StopProcessingRules":true,
        "ForwardTo":[
          {
            "EmailAddress":{
              "Name":"Alex Wilbur",
              "Address":"AlexW@MOD154847.onmicrosoft.com"
            }
          }
        ]
      }
    }
  ]
}

Obtenir une règle spécifique

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL Type Description
rule_id Chaîne L’identifiant de la règle à obtenir.

Exemple de demande

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')

Exemple de réponse

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

Mettre à jour des règles (préversion)

Étendue minimale requise

Modifiez les propriétés modifiables d’un message et enregistrez les modifications.

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL Type Description
rule_id Chaîne L’ID de la règle à mettre à jour.

Exemple de demande

L’exemple suivant modifie le nom de la règle, et les actions à effectuer pour cette règle dans le dernier exemple, du transfert vers une adresse au marquage de son importance comme élevée.

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Content-Type: application/json

{
    "DisplayName": "Important from partner",
    "Actions": {
        "MarkImportance": "High"
     }
}   

Exemple de réponse

Status code: 200 OK

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"Important from partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "MarkImportance": "High"
  }
}

Supprimer des règles (préversion)

Étendue minimale requise

Supprimez la règle spécifiée.

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL Type Description
rule_id Chaîne L’ID de la règle à supprimer.

Exemple de demande

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')

Exemple de réponse

Status code: 204 No Content

Se désabonner (préversion)

Étendue minimale requise

Un des éléments suivants :

Envoie une demande d’e-mail au nom de l’utilisateur connecté pour se désabonner d’une liste de distribution d’e-mail. Utilise l’information dans l’en-tête List-Unsubscribe.

POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du brouillon de message à envoyer.

Les expéditeurs de messages peuvent utiliser les listes de diffusion de manière conviviale en incluant l’option permettant aux destinataires de se désabonner. Ils peuvent le faire en spécifiant un en-tête List-Unsubscribe dans chaque message selon le RFC-2369.

Notes

En particulier, pour que l’action Se désinscrire fonctionne, l’expéditeur doit spécifier mailto: et non des informations de désabonnement basées sur des URL.

La définition de cet en-tête donnerait également à la propriété UnsubscribeEnabled de l’instance Message la valeur true, et la propriété UnsubscribeData aux données de l’en-tête.

Si la propriété UnsubscribeEnabled d’un message est true, vous pouvez utiliser l’action Unsubscribe pour désabonner l’utilisateur de futurs messages similaires gérés par l’expéditeur du message.

Une action Unsubscribe réussie déplace le message dans le dossier Éléments supprimés. L’exclusion réelle de l’utilisateur de la future distribution de courrier est gérée par l’expéditeur.

Exemple de demande

POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe

Exemple de réponse

Status code: 202 Accepted

Obtenez des choix de langue (préversion)

Étendue minimale requise

Un des éléments suivants :

Obtenez la liste des langues et des paramètres régionaux pris en charge pour l’utilisateur, comme configuré sur le serveur de boîte aux lettres de l’utilisateur.

La langue préférée de l’utilisateur est sélectionnée dans cette liste prise en charge. Par la suite, vous pouvez obtenir la langue par défaut en obtenant les paramètres de boîte de réception de l’utilisateur.

GET https://outlook.office.com/api/beta/me/SupportedLanguages

Type de réponse

Collection de LocaleInfo.

Exemple de demande

GET https://outlook.office.com/api/beta/me/SupportedLanguages

Exemple de réponse

L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.LocaleInfo)",
  "value":[
    {
      "Locale":"af-ZA",
      "DisplayName":"Afrikaans (Suid-Afrika)"
    },
    {
      "Locale":"en-US",
      "DisplayName":"English (United States)"
    },
    {
       "Locale":"en-CA",
       "DisplayName":"English (Canada)"
    }
  ]
}

Obtenez les choix de fuseau horaire (préversion)

Étendue minimale requise

Un des éléments suivants :

Obtenez la liste des fuseaux horaires pris en charge pour l’utilisateur, comme configuré sur le serveur de boîte aux lettres de l’utilisateur.

Vous pouvez spécifier que les fuseaux horaires doivent être renvoyés au format de fuseau horaire Windows ou au format IANA (Internet Assigned Numbers Authority), également appelé fuseau horaire Olson. Si vous ne spécifiez pas de format, les fuseaux horaires sont renvoyés dans le format de fuseau horaire Windows.

Le fuseau horaire préféré de l’utilisateur est sélectionnée dans cette liste prise en charge. Vous pouvez obtenir le fuseau horaire préféré en obtenant les paramètres de boîte de réception de l’utilisateur.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Paramètre facultatif Type Description
Paramètres d'URL
timezone_format TimeZoneStandard Format de fuseau horaire. Les valeurs prises en charge sont : Windows et Iana.

Type de réponse

Collection de TimeZoneInformation.

Exemple de demande

L’exemple suivant obtient la liste des fuseaux horaires pris en charge pour l’utilisateur connecté au format Windows.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')

Exemple de réponse

L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Dateline Standard Time",
      "DisplayName":"(UTC-12:00) International Date Line West"
    },
    {
      "Alias":"Samoa Standard Time",
      "DisplayName":"(UTC+13:00) Samoa"
    },
    {
       "Alias":"UTC-11",
       "DisplayName":"(UTC-11:00) Coordinated Universal Time-11"
    },
    {
      "Alias":"Aleutian Standard Time",
      "DisplayName":"(UTC-10:00) Aleutian Islands"
    }
  ]
}

Exemple de demande

L’exemple suivant obtient la liste des fuseaux horaires pris en charge au format IANA.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')

Exemple de réponse

L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Etc/GMT+12",
      "DisplayName":"Etc/GMT+12"
    },
    {
      "Alias":"US/Samoa",
      "DisplayName":"US/Samoa"
    },
    {
      "Alias":"Etc/GMT+11",
      "DisplayName":"Etc/GMT+11"
    },
    {
      "Alias":"US/Aleutian",
      "DisplayName":"US/Aleutian"
    }
  ]
}

Obtenir des paramètres de boîte aux lettres

Étendue minimale requise

Obtenez les paramètres de la boîte aux lettres principale de l’utilisateur. Des exemples de paramètres incluent la langue préférée de l’utilisateur et le fuseau horaire par défaut, ainsi que tous les paramètres de réponse automatique.

La langue et le fuseau horaire préférés de l’utilisateur font partie des choix avec lesquels le serveur de boîte aux lettres a été configuré. Vous pouvez obtenir les listes des langues prises en charge et des fuseaux horaires pris en charge pour l’utilisateur.

GET https://outlook.office.com/api/beta/me/MailboxSettings

Type de réponse

MailboxSettings.

Pour obtenir uniquement le paramètre de langue préféré parmi tous les paramètres de boîte aux lettres :

GET https://outlook.office.com/api/beta/me/MailboxSettings/Language

Type de réponse

LocaleInfo.

Pour obtenir uniquement le paramètre de fuseau horaire préféré parmi tous les paramètres de boîte aux lettres :

GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone

Type de réponse

Chaîne représentant le fuseau horaire préféré au format de fuseau horaire Windows.

Vous pouvez aussi obtenir spécifiquement les paramètres de réponse automatique.

Exemple de demande

L’exemple suivant obtient tous les paramètres de boîte aux lettres pour l’utilisateur connecté.

GET https://outlook.office.com/api/beta/me/MailboxSettings

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "All",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-14T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
        "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}

Obtenir les paramètres de réponse automatique

Étendue minimale requise

Obtenez les paramètres de réponse automatique de la boîte aux lettres de l’utilisateur connecté.

Les réponses automatiques vous permettent d’informer automatiquement les personnes avec un message lorsqu’elles vous envoient un e-mail. Par exemple, vous pouvez les avertir lorsque vous n’êtes pas disponible et que vous ne pouvez pas y répondre.

Les réponses automatiques font partie des paramètres de boîte aux lettres de l’utilisateur (représentés par MailboxSettings). Vous pouvez afficher les paramètres des réponses automatiques en obtenant tous les paramètres de boîte aux lettres, qui incluent les paramètres de réponses automatiques, ou en obtenant spécifiquement les paramètres de réponses automatiques.

Vous pouvez utiliser l’en-tête HTTP Prefer: outlook.timezone pour spécifier le fuseau horaire préféré pour afficher les valeurs ScheduledStartDateTime et ScheduledEndDateTime.

GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting

Type de réponse

AutomaticRepliesSetting.

Exemple de demande

GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
    "Status": "AlwaysEnabled",
    "ExternalAudience": "None",
    "ScheduledStartDateTime": {
        "DateTime": "2016-03-19T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "ScheduledEndDateTime": {
        "DateTime": "2016-03-20T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}

Mettre à jour les paramètres de réponse automatique

Étendue minimale requise

Les réponses automatiques font partie des paramètres de boîte aux lettres de l’utilisateur (représentés par MailboxSettings). Vous pouvez activer, configurer ou désactiver les réponses automatiques en mettant à jour les paramètres de boîte aux lettres correspondants.

Notes

Vous ne pouvez pas créer ou supprimer des paramètres de boîte de réception.

PATCH https://outlook.office.com/api/beta/me/MailboxSettings

Type de réponse

MailboxSettings.

Exemple de demande

Suivant l’exemple précédent montrant comment obtenir les paramètres de réponses automatiques, l’exemple suivant change le Status de AlwaysEnabled en Scheduledet les dates de début et de fin à une plage de dates différente.

PATCH https://outlook.office.com/api/beta/me/MailboxSettings
Content-Type: application/json

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ScheduledStartDateTime": {
          "DateTime": "2016-03-20T18:00:00.0000000",
          "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
          "DateTime": "2016-03-28T18:00:00.0000000",
          "TimeZone": "UTC"
        }
    }
}

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "None",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-20T02:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T02:00:00.0000000",
            "TimeZone": "UTC"
        },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}


Obtenir des Infos-courriers (préversion)

Étendue minimale requise

Un des éléments suivants :

Obtenez les infos-courrier d’un ou de plusieurs destinataires disponibles pour l’utilisateur connecté. Notez que ceci est effectué comme une opération POST pour une action GetMailTips.

POST https://outlook.office.com/api/beta/me/GetMailTips
Paramètre requis Type Description
Paramètres de corps
EmailAddresses Collection(Chaîne) Une collection d’adresses SMTP de destinataires pour lesquels obtenir des infos-courriers.
MailTipsOptions MailTipsType Les types d'infos-courriers à obtenir pour les destinataires spécifiés.

Type de réponse

Collection de MailTips.

Exemple de demande

L’exemple suivant obtient des infos-courrier pour les destinataires spécifiés, pour tous les paramètres de réponse automatique et l’état complet de la boîte aux lettres.

POST https://outlook.office.com/api/beta/me/GetMailTips
Content-Type: application/json

{
    "EmailAddresses": [
        "danas@contoso.onmicrosoft.com", 
        "fannyd@contoso.onmicrosoft.com"
    ],
    "MailTipsOptions": "AutomaticReplies, MailboxFullStatus"
}

Exemple de réponse

Status code: 200 OK

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.MailTips)",
    "value":[
        {
            "EmailAddress":{
                "Name":"",
                "Address":"danas@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":"<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n<div dir=\"ltr\">\r\n<div id=\"x_divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Hi, I am on vacation right now. I'll get back to you after I return.<br>\r\n</p>\r\n</div>\r\n</div>",
                "MessageLanguage":{
                    "Locale":"en-US",
                    "DisplayName":"English (United States)"
                }
            },
            "MailboxFull":false
        },
        {
            "EmailAddress":{
                "Name":"",
                "Address":"fannyd@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":""
            },
            "MailboxFull":false
        }
    ]
}

Obtention des pièces jointes

Vous pouvez obtenir une collection de pièces jointes ou une pièce jointe.

Obtenir une collection de pièces jointes

Étendue minimale requise

Un des éléments suivants :

Obtenez les pièces jointes d’un message particulier.

GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.

Notes

Par défaut, chaque pièce jointe de la réponse inclut toutes ses propriétés correspondant à ce type de pièce jointe. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Type de réponse

Une collection de pièces jointes pouvant être du type FileAttachment, ItemAttachment, ou ReferenceAttachment.

Exemples de requêtes et de réponses

L’exemple suivant montre comment utiliser $select pour spécifier ne renvoyer que la propriété Name de chaque pièce jointe dans la réponse. Reportez-vous à l’exemple de réponse dans Obtenir une pièce jointe pour avoir une liste complète des propriétés qui seraient renvoyées pour une pièce jointe si vous n’utilisez pas $select.

Exemple de demande

GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
            "Id": "AAMkAGI2j4kShdM=",
            "Name": "minutes.docx"
        }
    ]
}

L’exemple suivant montre l’obtention de la seule pièce jointe qui est un élément de courrier Outlook. La réponse inclut un ID de pièce jointe qui est également l’ID du message joint.

GET https://outlook.office.com/api/beta/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
      "Id": "AAMkADFiNTAUhhYuYi0=",
      "Name": "How to retrieve item attachment using Outlook REST API",
      "ContentType": message/rfc822,
      "Size": 71094,
      "IsInline": false,
      "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
  ]
}

Obtenir une pièce jointe

Étendue minimale requise

Un des éléments suivants :

Obtenir une pièce jointe d’un message particulier.

GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.
attachment_id string ID de la pièce jointe.

Notes

Par défaut, la réponse inclut toutes les propriétés de la pièce jointe. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. Consultez Obtenir une collection de pièces jointes pour voir un exemple. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Type de réponse

Le fichier joint, l’élément joint, ou la référence jointe demandés.

Exemple de requête (fichier joint)

L’exemple suivant obtient le fichier joint à un message spécifique.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
    "Id": "AAMkAGI2j4kShdM=",
    "LastModifiedDateTime": "2014-10-20T00:41:52Z",
    "Name": "minutes.docx",
    "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "Size": 11585,
    "IsInline": false,
    "ContentId": null,
    "ContentLocation": null,
    "ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}

Exemple de requête (référence jointe)

L’exemple suivant obtient la référence jointe d’un message.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=

Exemple de réponse

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "OneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "Edit",
  "IsFolder": false
}

Exemple de requête ($expand sur les pièces jointes)

L’exemple suivant obtient et développe les 3 références jointes inline avec les propriétés du message.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

Exemple de réponse

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
  "CreatedDateTime": "2016-03-08T01:01:57Z",
  "LastModifiedDateTime": "2016-03-12T06:18:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-08T01:01:57Z",
  "SentDateTime": "2016-03-08T01:01:51Z",
  "HasAttachments": true,
  "InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
  "Subject": "RE: New year activity",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
  },
  "BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
  "Importance": "Normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "From": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Name": "Culinary Expert Group",
        "Address": "Chefs@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
  "ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": false,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
      "LastModifiedDateTime": "2016-03-12T05:54:31Z",
      "Name": "Personal pictures",
      "ContentType": null,
      "Size": 362,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": true
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
      "LastModifiedDateTime": "2016-03-12T06:04:38Z",
      "Name": "Koala picture",
      "ContentType": null,
      "Size": 382,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
      "LastModifiedDateTime": "2016-03-12T06:18:54Z",
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 412,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

Exemple de requête ($expand sur des éléments joints imbriqués)

L’exemple suivant obtient un élément de pièce jointe imbriqué.

GET https://outlook-sdf.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item

Exemple de réponse

Status code: 200

{
    "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
    "LastModifiedDateTime": "2017-04-25T20:05:55Z",
    "Name": "RE: Changes to GetConditionMetadata handler",
    "ContentType": null,
    "Size": 78927,
    "IsInline": false,
    "Item": {
        "Id": "", 
        "Name": "How to retrieve item attachment using Outlook REST API",
        "ContentType": message/rfc822,
        "Size": 71094,
        "IsInline": false,
        "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
}

Créer des pièces jointes

Vous pouvez créer un fichier joint ou créer une pièce jointe pour un message.

Créer un fichier joint

Étendue minimale requise

Un des éléments suivants :

Ajouter un fichier joint à un message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.
Paramètres de corps
@odata.type string #Microsoft.OutlookServices.FileAttachment
Nom string Nom de la pièce jointe.
ContentBytes binaire Le fichier à joindre.

Spécifie les paramètres Nameet ContentBytes et toute propriété modifiable de fichier joint dans le corps de la requête.

Type de réponse

Le nouveau fichier joint.

Créer un élément joint

Étendue minimale requise

Un des éléments suivants :

Ajouter un élément joint à un message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.
Paramètres de corps
@odata.type string #Microsoft.OutlookServices.ItemAttachment
Nom string Nom de la pièce jointe.
Élément Une entité Message ou Event. L’élément à joindre.

Spécifie les paramètres Nameet Item et toute propriété modifiable d’élément joint dans le corps de la requête.

Type de réponse

Le nouvel élément joint.

Créer une référence jointe

Étendue minimale requise

Un des éléments suivants :

Ajouter une référence jointe à un message.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Paramètre requis Type Description
Paramètres d'URL
message_id Chaîne L’ID du message.
Paramètres de corps
@odata.type Chaîne #Microsoft.OutlookServices.ReferenceAttachment
Nom Chaîne Nom d’affichage de la pièce jointe. Obligatoire.
SourceUrl Chaîne URL permettant d’obtenir le contenu de la pièce jointe. S'il s'agit d'une URL vers un dossier, pour que le dossier s'affiche correctement dans Outlook ou Outlook sur le Web, définissez la valeur IsFolder à vrai. Obligatoire.

Spécifie les paramètres Name, SourceUrl et toute propriété référence jointe inscriptible dans le corps de la requête.

Type de réponse

La référence jointe.

Exemple de demande

L’exemple suivant ajoute une référence jointe à un message existant. La pièce jointe est un lien vers un fichier de OneDrive Entreprise.

POST https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json

{ 
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Koala picture", 
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
} 

Exemple de réponse

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "oneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "edit",
  "IsFolder": false
}

Exemple de demande

L’exemple suivant ajoute une référence jointe dans le même appel que la création d’un brouillon de message. La pièce jointe est un lien vers un fichier de OneDrive Entreprise.

POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json

{
    "Subject": "Plan for dinner",
    "Body": {
      "ContentType": "HTML",
      "Content": "Office anniversary is coming soon!"
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "randiw@contoso.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
        "Name": "Hydrangea picture", 
        "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg", 
        "ProviderType": "oneDriveBusiness", 
        "Permission": "Edit", 
        "IsFolder": "False" 
      }
    ]
}

Exemple de réponse

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
  "Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
  "CreatedDateTime": "2016-03-12T09:04:54Z",
  "LastModifiedDateTime": "2016-03-12T09:04:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-12T09:04:54Z",
  "SentDateTime": "2016-03-12T09:04:54Z",
  "HasAttachments": true,
  "InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
  "Subject": "Plan for dinner",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Office anniversary is coming soon!",
  "Importance": "normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
  "Sender": null,
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
      "Name": "Randi Welch",
      "address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
  "ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "flagStatus": "notFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
      "LastModifiedDateTime": null,
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 0,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "oneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

Supprimer les pièces jointes

Étendue minimale requise

Un des éléments suivants :

Supprimer la pièce jointe spécifiée d’un message. La pièce jointe peut être un fichier joint, un élément joint, ou une référence jointe.

DELETE https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Paramètre requis Type Description
Paramètres d'URL
message_id string L’ID du message.
attachment_id string ID de la pièce jointe.

Exemple de demande

DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=

Exemple de réponse

Status code: 204

Obtenir des dossiers

Vous pouvez obtenir une collection de dossiers ou un dossier dans la boîte aux lettres de l’utilisateur.

Obtenir une collection de dossiers

Étendue minimale requise

Un des éléments suivants :

Récupérez tous les dossiers de courrier dans la boîte aux lettres de l’utilisateur connecté (.../me/MailFolders) ou récupérez la collection de dossiers dans le dossier spécifié.

GET https://outlook.office.com/api/beta/me/MailFolders
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID de dossier ou les noms de dossier connus Inbox, Drafts, SentItems ou DeletedItems, si vous recevez des messages depuis dossier spécifique.

Exemple de demande

GET https://outlook.office.com/api/beta/me/MailFolders

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
            "Id": "AAMkAGI2AAEKAAA=",
            "DisplayName": "Deleted Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 1,
            "WellKnownName": "deleteditems"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
            "Id": "AAMkAGI2AAEPAAA=",
            "DisplayName": "Drafts",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0,
            "WellKnownName": "drafts"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
            "Id": "AAMkAGI2AAEMAAA=",
            "DisplayName": "Inbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 6,
            "TotalItemCount": 6,
            "WellKnownName": "inbox"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
            "Id": "AAMkAGI2AAEeAAA=",
            "DisplayName": "Junk Email",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0,
            "WellKnownName": "junkemail"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
            "Id": "AAMkAGI2AAELAAA=",
            "DisplayName": "Outbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0,
            "WellKnownName": "outbox"
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
            "Id": "AAMkAGI2AAEJAAA=",
            "DisplayName": "Sent Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 3,
            "WellKnownName": "sentitems"
        }
    ]
}

Type de réponse

La collection de dossiers demandée.

Obtenir un dossier

Étendue minimale requise

Un des éléments suivants :

Obtenez un dossier par ID.

Obtenez le dossier de l’utilisateur connecté :

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}

Obtenez un dossier de boîte aux lettres partagé par un utilisateur :

GET https://outlook.office.com/api/beta/users/{user_id}/mailFolders/{folder_id}

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

Obtenir la boîte de réception de l’utilisateur connecté

GET https://outlook.office.com/api/beta/me/MailFolders/inbox

Exemple de réponse

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
    "Id": "AAMkAGI2AAEMAAA=",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkAGI2AAEIAAA=",
    "ChildFolderCount": 0,
    "UnreadItemCount": 6,
    "TotalItemCount": 6,
    "WellKnownName": "inbox"
}

Exemple de demande

Obtenir un dossier partagé par un autre utilisateur

GET https://outlook.office.com/api/beta/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM

Exemple de réponse

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
    "ChildFolderCount": 4,
    "UnreadItemCount": 27962,
    "TotalItemCount": 64420
}

Type de réponse

Le dossier demandé.

Synchroniser la hiérarchie des dossiers

Vous pouvez obtenir une table à plat de tous les dossiers dans une boîte aux lettres. Lorsque vous synchronisez une hiérarchie de dossiers de courrier, demandez cette catégorie.

Point de terminaison Catégorie de dossier
Moi/MailFolders Dossiers des courriers électroniques

Vous pouvez uniquement synchroniser le niveau supérieur de chaque catégorie de dossier. Par exemple, vous pouvez demander Me/MailFolders mais non Me/MailFolders('inbox').

La synchronisation prend en charge à la fois la synchronisation complète qui récupère tous les dossiers d’une hiérarchie et la synchronisation incrémentielle qui récupère tous les dossiers qui ont été modifiés depuis la dernière synchronisation complète.

Étendue minimale requise

Un des éléments suivants :

GET https://outlook.office.com/api/beta/me/MailFolders
Paramètre requis Type Description
Paramètre d’en-tête
Préférence odata.trackchanges Indique que la requête est une requête de synchronisation.
Paramètres de corps
odata.deltaLink string Le jeton qui indique la dernière fois que la hiérarchie de dossiers a été synchronisée.

Si l’un des paramètres de requête suivants - $filter, $orderby, $search, $top - sont inclus dans la requête, ils sont ignorés.

Type de réponse

Une liste à plat des dossiers dans la catégorie demandée.

Créer des dossiers

Ajouter un nouveau dossier à une collection de dossiers.

Créer un dossier

Étendue minimale requise

Un des éléments suivants :

Créez un dossier enfant avec le nom spécifié dans DisplayName. DisplayName est la seule propriété modifiable pour un dossier.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.
Paramètres de corps
Afficher un nom string Nom d’affichage du dossier.

Exemple de demande

POST https://outlook.office.com/api/beta/me/MailFolders/inbox/childfolders
Content-Type: application/json

{
  "DisplayName": "Company"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Company",
  "ChildFolderCount": 0,
  "UnreadItemCount": 2,
  "TotalItemCount": 27,
  "WellKnownName": ""
}

Type de réponse

Le nouveau dossier.

Remarques

Vous ne pouvez pas créer un dossier de niveau supérieur. Vous ne pouvez ajouter un dossier qu’à un point de terminaison childfolders.

Mettre à jour des dossiers

Changez un nom de dossier.

Mettre à jour un dossier

Étendue minimale requise

Un des éléments suivants :

Changez le nom du dossier en celui spécifié dans DisplayName. Le nom est la seule propriété modifiable pour un dossier.

PATCH https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.
Paramètres de corps
Afficher un nom string Le nouveau nom d’affichage du dossier.

Exemple de demande

PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
  "DisplayName": "Business"
}

Exemple de réponse

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38,
  "WellKnownName": ""
}

Type de réponse

Ledossier mis à jour.

Supprimer des dossiers

Supprimer un dossier et tout son contenu.

Notes

Soyez prudent lorsque vous supprimez des dossiers. La récupération des contenus supprimés peut être impossible. Pour en savoir plus, voir Suppression d’éléments.

Supprimer un dossier

Étendue minimale requise

Un des éléments suivants :

Supprimer le dossier spécifié dans folder_id.

DELETE https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

DELETE https://outlook.office.com/api/BETA/me/MailFolders/AAMkAGE0Mz-l_AAA=

Exemple de réponse

Status code: 204

Déplacer ou copier des dossiers

Vous pouvez déplacer ou copier un dossier dans un autre dossier.

Déplacer un dossier

Étendue minimale requise

Un des éléments suivants :

Déplacez un dossier et son contenu vers un autre dossier en utilisant la méthode Move.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/move
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.
Paramètres de corps
DestinationId string ID de dossier de destination, ou nom de dossier connu Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGE0MyxQ9AAA="
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MyxQ9AAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38,
  "WellKnownName": ""
}

Type de réponse

le dossier qui a été déplacé.

Copier un dossier

Étendue minimale requise

Un des éléments suivants :

Copiez un dossier et son contenu vers un autre dossier en utilisant la méthode Move.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Paramètre requis Type Description
Paramètres d'URL
folder_id string L’ID du dossier, ou les noms de dossier bien connus Inbox, Drafts, SentItems ou DeletedItems.
Paramètres de corps
DestinationId string ID de dossier de destination, ou nom de dossier connu Inbox, Drafts, SentItems ou DeletedItems.

Exemple de demande

POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Exemple de réponse

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
  "Id": "AAMkAGE0Mz-mAAAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38,
  "WellKnownName": ""
}

Type de réponse

La nouvelle copie du dossier.

Étapes suivantes

Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.

Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :