Compartilhar via


Referência da API REST de Email do Outlook

Aplica-se a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

Observação

Essa documentação abrange a API para @-menções, mensagens de cancelamento de assinatura, respostas rápidas, e opções de idioma e fuso horário, que estão atualmente em versão prévia. Os recursos de versão prévia estão sujeitos a alterações antes da finalização e podem fazer com que seu código deixe de funcionar. Por essa razão, em geral, você deve usar somente uma versão de produção de uma API em seu código de produção. Se estiver disponível, a v2.0 é, no momento, a versão preferida.

Não tem interesse na versão beta da API? No sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione a versão que deseja.

Todas as operações da API de Email

Operações de mensagem

As mensagens são armazenadas nas pastas da caixa de correio, portanto, os pontos de extremidade de mensagem geralmente incluem a pasta que contém a mensagem. Uma pasta é especificada por um ID ou por um dos seguintes nomes de pasta conhecidos: Inbox, Drafts, SentItems ou DeletedItems.

Operações de pasta

As pastas da Caixa de Correio podem conter mensagens e outras pastas. Você pode obter, criar, alterar, excluir e gerenciar pastas. Você pode usar os seguintes nomes de pasta conhecidos em vez do ID para especificar a pasta correspondente: Inbox, SentItems, Draftsou DeletedItems.

Confira também

Usar a API REST de E-mail

Autenticação

Assim como acontece com outras APIs REST do Outlook, para cada solicitação à API de E-mail você deve incluir um token de acesso válido. Para obter um token de acesso você deve ter registrado e identificado o seu aplicativo e obtido a autorização adequada.

Você pode saber mais sobre algumas opções simplificadas de registro e autorização. Tenha isso em mente ao prosseguir com as operações específicas na API de E-mail.

Versão da API

A API REST de E-mail é suportada em todas as versões da API REST do Outlook. A funcionalidade pode variar dependendo da versão específica.

Usuário de destino

Todas as solicitações da API de E-mail são realizadas em nome do usuário conectado, a menos que especificado. Alguns subconjuntos de API, como a API de Caixa de Entrada Prioritária, podem ser executados no usuário conectado ou em um usuário especificado por uma ID de usuário, mediante as permissões apropriadas.

Veja Usar a API REST do Outlook para obter mais informações comuns a todos os subconjuntos da API REST do Outlook.

Obter mensagens

Você pode obter uma coleção de mensagens ou uma única mensagem de uma pasta de caixa de correio.

Cada mensagem na resposta contém várias propriedades, incluindo a propriedade Body. O corpo da mensagem pode ser de texto ou HTML. Se o corpo for HTML, por padrão, qualquer HTML potencialmente inseguro (por exemplo, JavaScript) incorporado na propriedade Body será removido antes que o conteúdo do corpo seja retornado em uma resposta REST.

Para obter todo o conteúdo HTML original, inclua o seguinte cabeçalho de solicitação HTTP:

Prefer: outlook.allow-unsafe-html

Para especificar o formato desejado a ser retornado nas propriedades Body e UniqueBody em uma solicitação GET, use o cabeçalho Prefer: outlook.body-content-type:

  • Especifique Prefer: outlook.body-content-type="text" para obter um corpo de mensagem retornado em formato de texto.
  • Especifique Prefer: outlook.body-content-type="html" ou apenas pule o cabeçalho para retornar o corpo da mensagem no formato HTML.

Se você especificar um dos cabeçalhos, a resposta incluirá o cabeçalho Preference-Applied correspondente como confirmação:

  • Para solicitações de formato de texto: Preference-Applied: outlook.body-content-type="text"
  • Para solicitações no formato HTML: Preference-Applied: outlook.body-content-type="html"

Obter uma coleção de mensagens

Escopo mínimo necessário

Uma das seguintes opções:

Observação

O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.

Obtenha uma coleção de mensagens de toda a caixa de correio do usuário conectado (incluindo as pastas Itens Excluídos e Email secundário).

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

Você também pode especificar uma pasta na caixa de correio do usuário e obter a coleção de mensagens dessa pasta.

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o Inbox, Drafts, SentItemsou DeletedItems nome de pasta conhecido se estiver recebendo mensagens de uma pasta específica. Especificar AllItems retorna todas as mensagens da caixa de correio

Observação

Por padrão, cada mensagem na resposta inclui todas as suas propriedades. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

O exemplo a seguir mostra como usar $select para especificar o retorno somente das propriedades Sender e Subject de cada mensagem na resposta. Consulte o exemplo de resposta em Obter uma mensagem para ver uma lista completa das propriedades retornadas para uma mensagem caso você não use $select.

Exemplo de solicitação

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

Exemplo de resposta

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

Tipo de resposta

A coleção message solicitada.

Obter uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Obter uma mensagem por ID.

GET https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.

Exemplo de solicitação

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

Exemplo de resposta

{
    "@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"
}

Tipo de resposta

A mensagem solicitada.

Observação

Por padrão, a resposta inclui todas as propriedades da mensagem especificada. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

O exemplo a seguir mostra como usar $select para especificar o retorno somente das propriedades Sender e Subject de cada mensagem na resposta.

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

Sincronizar mensagens

Escopo mínimo necessário

Uma das seguintes opções:

Você pode sincronizar seu armazenamento de dados local com as mensagens no servidor. A sincronização de mensagens é uma operação por pasta, por exemplo, você pode sincronizar todas as mensagens na sua Caixa de Entrada. Para sincronizar as mensagens em uma hierarquia de pastas, você precisa sincronizar cada pasta individualmente.

A API suporta a sincronização completa que recupera todas as mensagens em uma pasta, e a sincronização incremental que recupera todas as mensagens que foram alteradas desde a última sincronização completa.

Sincronizar uma pasta de e-mail normalmente requer duas ou mais solicitações GET. Fazer uma solicitação GET é muito parecido com obter mensagens, a diferença é que é necessário incluir determinados cabeçalhos de solicitação e um deltaToken ou skipToken quando apropriado.

Cabeçalhos da solicitação

  • Você deve especificar o cabeçalho Prefer: odata.track-changes em todas as solicitações de sincronização, exceto naquelas que incluem um skipToken que é retornado de uma solicitação de sincronização anterior. Na primeira resposta, procure o cabeçalho Preference-Applied: odata.track-changes para confirmar que o recurso suporta a sincronização antes de continuar.

  • Você pode especificar o cabeçalho Prefer: odata.maxpagesize={x} para definir o número máximo de mensagens retornadas em uma solicitação.

Esta é uma rodada completa de sincronização de mensagens:

  1. Faça a solicitação GET inicial com o cabeçalho Prefer: odata.track-changes obrigatório. A resposta inicial a uma solicitação de sincronização sempre retorna um deltaToken. (A segunda solicitação GET e as solicitações seguintes diferem da primeira solicitação GET, incluindo um deltaToken ou um skipToken recebido em uma resposta anterior.)

  2. Se a primeira resposta retornar o cabeçalho Preference-Applied: odata.track-changes, você poderá prosseguir com a sincronização.

  3. Faça uma segunda solicitação GET. Especifique o cabeçalho Prefer: odata.track-changes e o deltaToken retornado do primeiro GET para determinar se há algum evento adicional. A segunda solicitação retornará mensagens adicionais e um skipToken se houver mais mensagens disponíveis, ou um deltaToken se a última mensagem foi sincronizada, nesse caso a rodada de sincronização está completa e você pode parar.

  4. Continue a sincronização enviando uma chamada GET e incluindo um skipToken retornado da chamada anterior. Pare quando você obtiver uma resposta final que contenha o cabeçalho @odata.deltaLink com um deltaToken que, novamente, indica que a sincronização está completa.

Armazene em cache o último token delta recebido na rodada de sincronização completa. Use-o para iniciar uma rodada de sincronização incremental.

Esta é uma rodada de sincronização incremental:

  1. Faça a solicitação GET inicial com o cabeçalho obrigatório Prefer: odata.track-changes e o deltaToken armazenado em cache recebido na última resposta de uma rodada completa de sincronização.

  2. A segunda e as próximas etapas seguem o mesmo padrão usado na sincronização completa.

Para sincronizar mensagens em uma pasta específica

Solicitação inicial

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

Segunda solicitação ou primeira solicitação de uma rodada seguinte

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

Terceira solicitação ou seguinte na mesma rodada

Continue enviando solicitações de sincronização caso a resposta anterior inclua um skipToken. Pare quando receber uma resposta que contenha um cabeçalho @odata.deltaLink com um deltaToken novamente.

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parâmetros Tipo Descrição
Parâmetros do cabeçalho
Prefer odata.track-changes Indica que a solicitação é uma solicitação de sincronização. Necessário para as duas primeiras solicitações GET em uma rodada.
Prefer odata.maxpagesize Define o número de mensagens a serem retornadas em cada resposta. Opcional.
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou os nomes de pasta conhecidos Inbox, Drafts, SentItems ou DeletedItems para sincronizar. Obrigatório.
deltaToken Sequência de caracteres O token que identifica a última solicitação de sincronização para essa pasta. É retornado como parte do valor de @odata.deltaLink na resposta anterior de sincronização. Necessário para a segunda solicitação GET.
skipToken Sequência de caracteres O token que indica que há mais mensagens para download. Obrigatório se for retornado como parte do valor de @odata.nextLink na resposta anterior de sincronização.

Por padrão, a sincronização retorna todas as propriedades e todas as mensagens em uma pasta. Use uma expressão de consulta $select para especificar apenas as propriedades que você precisa para um melhor desempenho. A propriedade Id é sempre retornada.

A sincronização suporta as expressões de consulta $select, $top, $expand. Há suporte limitado para $filter e $orderby e não há suporte para $search.

  • As únicas expressões suportadas do $filter são “$filter=ReceivedDateTime+ge+{value}” ou “$filter=ReceivedDateTime+gt+{value}".
  • A única expressão suportada $orderby expression é “$orderby=ReceivedDateTime+desc”. Se você não incluir uma expressão $orderby, a ordem de retorno não será garantida.

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Tipo de resposta

Uma coleção contendo as mensagens solicitadas e um deltaToken ou skipToken que você usa para solicitar páginas adicionais de dados de mensagens do servidor para uma sincronização incremental.

Exemplo

O exemplo a seguir mostra uma série de solicitações para sincronizar uma pasta específica contendo 7 mensagens. A primeira solicitação de sincronização especifica o retorno de 2 mensagens por vez (odata.maxpagesize é 2) e apenas as propriedades Remetente e Assunto de cada mensagem.

  • A resposta inicial retorna 2 mensagens, deltaLink e deltaToken.
  • A segunda solicitação usa deltaToken. A segunda resposta retorna 2 mensagens, nextLink e skipToken.
  • Para concluir a sincronização, a terceira e quarta solicitações usam o skipToken retornado da solicitação de sincronização anterior até que a resposta da quarta solicitação de sincronização retorne um deltaLink e deltaToken. Nesse caso, esta rodada de sincronização está concluída. Salve o deltaToken para a próxima rodada de sincronização.

Solicitação inicial de exemplo

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

Exemplo de dados da resposta inicial

A resposta inicial inclui um cabeçalho Preference-Applied: odata.track-changes, indicando que esta pasta suporta a sincronização. A resposta também inclui duas mensagens e um 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"
}

Segundo exemplo de solicitação

A segunda solicitação especifica o deltaToken retornado da resposta anterior.

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

Exemplo de dados da segunda resposta

A segunda resposta inclui mais duas mensagens e um skipToken, indicando que há mais mensagens para sincronizar na pasta.

{
  "@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"
}

Terceira solicitação de exemplo

A terceira solicitação inclui o skipToken retornado da resposta anterior.

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

Exemplo de dados da terceira resposta

A terceira resposta retorna mais duas mensagens e outro skipToken, indicando que ainda há mensagens na pasta para sincronizar.

{
  "@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"
}

Exemplo de quarta solicitação

A quarta solicitação inclui o skipToken da resposta anterior.

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

Exemplo de dados da quarta e última resposta

A quarta resposta retorna a única mensagem restante na pasta e um deltaToken que indica que a sincronização desta pasta está concluída. Salve o deltaToken para a próxima rodada de sincronização desta pasta.

{
  "@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"
}

Exemplo de solicitação de sincronização incremental

A primeira solicitação inclui o deltaToken da última resposta da sincronização completa.

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

A resposta à solicitação de sincronização incremental inclui quaisquer alterações no conjunto de mensagens da pasta.

Exemplo de resposta da sincronização incremental

A resposta mostra que uma alteração foi feita no conjunto de mensagens. A mensagem foi excluída.


{
  "@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"
}

Criar e enviar mensagens

Você pode enviar uma nova mensagem em tempo real ou criar um rascunho de mensagem e enviá-lo. Você pode criar rascunhos em qualquer pasta.

Enviar uma nova mensagem em tempo real

Escopo mínimo necessário

Uma das seguintes opções:

Envie a mensagem fornecida no corpo da solicitação usando o método SendMail. Você pode incluir um ou mais anexos no mesmo chamado de ação, especificando-os na propriedade Anexos da coleção. Você também pode salvar a mensagem na pasta Itens Enviados.

POST https://outlook.office.com/api/beta/me/sendmail
Parâmetro obrigatório Tipo Descrição
Parâmetros do corpo
Message Message A mensagem a ser enviada.
SavetoSentItems booleano Indica se você deseja salvar a mensagem em Itens Enviados. O padrão é true.

Especifique o parâmetro Mensagem com a propriedade obrigatória ToRecipients e quaisquer propriedades graváveis de mensagem no corpo da solicitação. O parâmetro SaveToSentItems é necessário apenas se for false.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 202

Criar um rascunho de mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Criar um rascunho de uma nova mensagem. Rascunhos podem ser criados em qualquer pasta e, opcionalmente, atualizados antes do envio. Para salvar na pasta Rascunhos, use o atalho /me/messages.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts.

Especifique quaisquer propriedades editáveis de message no corpo da solicitação.

Exemplo de solicitação

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

Exemplo de resposta

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
}

Tipo de resposta

O rascunho da mensagem.

Envie um rascunho de mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Envie um rascunho de nova mensagem, um rascunho de Resposta, um rascunho de Resposta a todos, ou um rascunho de Encaminhamento usando o método Send. A mensagem é então salva na pasta Itens Enviados.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem de rascunho a ser enviada.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 202

Responder ou responder a todos

Observação

O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.

Você pode responder a uma mensagem, adicionar um comentário ou atualizar as propriedades de uma mensagem com uma só chamada, ou você pode primeiro criar um rascunho de resposta e atualizar quaisquer propriedades da mensagem em uma só chamada para depois enviar o rascunho.

Você pode responder apenas ao remetente da mensagem ou responder a todos os destinatários de uma só vez.

Responder ao remetente em tempo real

Escopo mínimo necessário

Uma das seguintes opções:

Responda ao remetente de uma mensagem, adicione um comentário ou modifique qualquer propriedade atualizável tudo em uma única chamada Resposta. A mensagem é então salva na pasta Itens Enviados.

Outra opção é primeiro criar um rascunho de mensagem de resposta para incluir um comentário ou atualizar quaisquer propriedades da mensagem e, em seguida, enviar a resposta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres A ID da mensagem a ser respondida.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e não ao destinatário em From.

Exemplo de solicitação

O exemplo a seguir inclui um comentário e adiciona um destinatário à mensagem de resposta.

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

Exemplo de resposta

Status code: 202

Responder a todos em tempo real

Escopo mínimo necessário

Uma das seguintes opções:

Responda a todos os destinatários de uma mensagem especificando um comentário e modificando quaisquer propriedades atualizáveis da resposta, tudo isso usando o método ReplyAll. A mensagem é então salva na pasta Itens Enviados.

Outra opção é primeiro criar um rascunho de mensagem de resposta a todos para incluir um comentário e atualizar quaisquer propriedades da mensagem e, em seguida, enviar a resposta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres A ID da mensagem a ser respondida.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta a todos.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e ToRecipients, e não aos destinatários em From e ToRecipients.

Exemplo de solicitação

O exemplo a seguir inclui um comentário e adiciona um anexo à mensagem de resposta a todos.

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

Exemplo de resposta

Status code: 202

Criar um rascunho de mensagem de resposta

Escopo mínimo necessário

Uma das seguintes opções:

Crie um rascunho de mensagem de resposta para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateReply. Você pode então enviar o rascunho da mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres A ID da mensagem a ser respondida.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e não ao destinatário em From.

Exemplo de solicitação

O exemplo a seguir cria um rascunho de resposta, adiciona um comentário e um destinatário no corpo da solicitação.

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

Exemplo de resposta

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

Tipo de resposta

O rascunho de mensagem de resposta com as propriedades ToRecipient, IsDraft e outras propriedades apropriadas pré-preenchidas.

Criar um rascunho de mensagem de resposta a todos

Escopo mínimo necessário

Uma das seguintes opções:

Crie um rascunho de mensagem de resposta a todos para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateReplyAll. Você pode então enviar o rascunho da mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres A ID da mensagem a ser respondida a todos.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta a todos.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários nas propriedades ReplyTo e ToRecipients, e não aos destinatários nas propriedades From e ToRecipients.

Exemplo de solicitação

O exemplo a seguir cria um rascunho de resposta a todos e adiciona um anexo e comentário, tudo em uma única chamada 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." 
}

Exemplo de resposta

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

Tipo de resposta

O rascunho de mensagem de resposta a todos com as propriedades ToRecipient, IsDraft e outras propriedades apropriadas pré-preenchidas.

Encaminhar mensagens novas ou rascunhos

Observação

O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.

Você pode encaminhar uma mensagem, adicionar um comentário ou atualizar propriedades da mensagem com uma só chamada, ou você pode primeiro criar um rascunho e atualizar as propriedades da mensagem em uma chamada, e depois enviar o rascunho.

Encaminhar uma mensagem diretamente

Escopo mínimo necessário

Uma das seguintes opções:

Encaminhe uma mensagem, adicione um comentário ou modifique quaisquer propriedades atualizáveis, tudo em uma única chamada Forward. A mensagem é então salva na pasta Itens Enviados.

Outra opção é primeiro criar um rascunho de mensagem de encaminhamento para incluir um comentário ou atualizar quaisquer propriedades da mensagem e, em seguida, enviar o rascunho da mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem a ser encaminhada.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
ToRecipients Coleção (Destinatário) A lista de destinatários.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Você deve especificar o ToRecipients parâmetro ou a propriedade ToRecipients do parâmetro Message. Especificar ambos ou nenhum retornará um erro HTTP 400 - Solicitação incorreta.

Exemplo de solicitação

O exemplo a seguir define a propriedade IsDeliveryReceiptRequested como true, adiciona um comentário e encaminha uma mensagem.

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

Exemplo de resposta

Status code: 202

Criar um rascunho de mensagem de encaminhamento

Escopo mínimo necessário

Uma das seguintes opções:

Crie um rascunho de mensagem de encaminhamento para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateForward. Você pode então enviar o rascunho da mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem a ser encaminhada.
Parâmetros do corpo
Comment sequência de caracteres Um comentário a incluir. Não pode ficar vazio.
ToRecipients Coleção (Destinatário) A lista de destinatários.
Message Message Quaisquer propriedades editáveis ​​a serem atualizadas na mensagem de resposta.

Observação

  • Você pode especificar um comentário ou a propriedade Body do parâmetro Message. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta.
  • Você deve especificar o ToRecipients parâmetro ou a propriedade ToRecipients do parâmetro Message. Especificar ambos ou nenhum retornará um erro HTTP 400 - Solicitação incorreta.

Exemplo de solicitação

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

Exemplo de resposta

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

Tipo de resposta

O rascunho da mensagem de encaminhamento com a propriedade IsDraft e outras propriedades apropriadas pré-preenchidas.

Atualizar mensagens

Alterar as propriedades editáveis de uma mensagem e salvar as alterações.

Atualizar uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Alterar propriedades graváveis ​​em um rascunho ou uma mensagem existente. Apenas as propriedades especificadas são alteradas.

PATCH https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem a ser atualizada.

Especifique uma ou mais propriedades editáveis da mensagem no corpo da solicitação.

Exemplo de solicitação

O exemplo de solicitação a seguir define duas categorias em uma mensagem de email e sinaliza a mensagem com uma data de início e de conclusão.

Observação

Se FlagStatus estiver definido como Flagged, a propriedade Flag.CompletedDate não deve ser definida.

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

Exemplo de resposta

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

Exemplo de solicitação

Os exemplos de solicitações a seguir marcam uma mensagem de email sinalizada anteriormente como completa

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

Exemplo de resposta

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

Tipo de resposta

A mensagem atualizada.

Excluir mensagens

Observação

Tenha cuidado ao excluir mensagens. O conteúdo excluído pode não ser recuperável. Para saber mais, veja Excluir itens.

Excluir uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

DELETE https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres A ID da mensagem a ser excluída.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204

Mover ou copiar mensagens

Você pode mover ou copiar uma mensagem para uma pasta.

Mover uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Mover uma mensagem para uma pasta. Isso cria uma nova cópia da mensagem na pasta de destino.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/move
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem a ser movida.
Parâmetros do corpo
DestinationId sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Exemplo de resposta

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
}

Tipo de resposta

A mensagem movida.

Copiar uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Copiar uma mensagem para uma pasta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/copy
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem a ser copiada.
Parâmetros do corpo
DestinationId sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "inbox"
}

Exemplo de resposta

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
}

Tipo de resposta

A nova cópia da mensagem.

Gerenciar a Caixa de Entrada Prioritária

A caixa de entrada prioritária permite que você veja mensagens importantes na guia Focused da Caixa de Entrada e o restante das mensagens na guia Other. O sistema de classificação organiza inicialmente as mensagens da Caixa de Entrada de maneira padrão. Você pode corrigir e treinar o sistema ao longo do tempo por meio da interface do usuário ou programaticamente. Quanto mais você usar esse recurso, melhor o sistema poderá deduzir quais mensagens de entrada são importantes.

No nível programático, a API REST da Caixa de Entrada Prioritária funciona nas mensagens do usuário especificado e suporta a propriedade InferenceClassification para cada mensagem. Os valores possíveis são Focused e Other, que indicam se o usuário considera essa mensagem como, respectivamente, mais importante e menos importante. Para corrigir e treinar o sistema de classificação de mensagens, use a Operação PATCH na propriedade InferenceClassification no nível da mensagem.

A API REST da Caixa de Entrada Prioritária também permite criar substituições. Cada substituição, representada por uma instância InferenceClassificationOverride, é uma instrução para o sistema de classificação sempre designar mensagens de um remetente específico de forma consistente (ou seja, sempre como "Prioritária" ou sempre como "Outros"), independentemente de qualquer abordagem aprendida anteriormente. Você pode criar, obter, atualizar e excluir substituições para o usuário especificado. As substituições do usuário, caso haja alguma, são acessíveis em uma propriedade de navegação InferenceClassification, que é uma coleção de instâncias InferenceClassificationOverride. As substituições permitem que um usuário tenha mais controle sobre a classificação de mensagens recebidas e crie uma maior confiança no sistema de classificação.

Observe que o sistema de classificação aprende e aplica as classificações somente nas mensagens recebidas na Caixa de Entrada. Mensagens em outras pastas são, por padrão, consideradas "Destaques". Configurar uma substituição afeta as mensagens futuras que chegarão na Caixa de Entrada; a substituição não modifica a propriedade InferenceClassification em mensagens existentes em nenhuma pasta, incluindo a Caixa de Entrada.

Treinando o sistema de classificação de mensagens

Usar substituições para classificar consistentemente por remetente

Atualizar classificação de mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Altere a propriedade InferenceClassification da mensagem especificada. Se a mensagem estiver na Caixa de Entrada, o usuário a visualizará na guia Focused ou Other correspondente. Esse tipo de correção também treina o sistema de classificação de mensagens para personalizar a classificações futuras para o usuário especificado.

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

PATCH https://outlook.office.com/api/beta/Users('{user_id}')/messages('{message_id}')
Parâmetro Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem de rascunho a ser enviada.
user_id sequência de caracteres O endereço de email do usuário.

Tipo de resposta

A mensagem atualizada.

Exemplo de solicitação

Este exemplo altera a propriedade InferenceClassification para Other na mensagem especificada do usuário conectado.

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

{
    "InferenceClassification": "Other"
}

Exemplo de resposta

O objeto de resposta visto aqui mostra a propriedade InferenceClassification atualizada e está truncado para fins de concisão. Uma solicitação PATCH retorna todas as propriedades da mensagem.

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

Criar uma substituição para um remetente

Escopo mínimo necessário

Uma das seguintes opções:

Crie uma substituição para um remetente identificado por um endereço SMTP. Mensagens futuras desse endereço SMTP serão consistentemente classificadas conforme especificado na substituição.

Observação

  • Se já existir uma substituição com o mesmo endereço SMTP, os campos classifyAs e Name dessa substituição serão atualizados com os valores fornecidos.
  • O número máximo de substituições com suporte para uma caixa de correio é de 1000, com base em endereços SMTP exclusivos de remetente.
  • A operação POST suporta a criação de apenas uma substituição de cada vez. Para criar várias substituições, você pode enviar várias solicitações POST ou um lote delas.
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

POST https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro Tipo Descrição
Parâmetros da URL
user_id sequência de caracteres O endereço de email do usuário.

Tipo de resposta

A instância InferenceClassificationOverride recém-criada ou a instância InferenceClassificationOverride atualizada se já existir alguma com o mesmo endereço SMTP.

Exemplo de solicitação

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

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

Exemplo de resposta

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

Obter todas as substituições do usuário

Escopo mínimo necessário

Uma das seguintes opções:

Obter as substituições que um usuário configurou para sempre classificar as mensagens de determinados remetentes de maneiras específicas.

Cada substituição corresponde a um endereço SMTP de um remetente. Inicialmente, um usuário não tem quaisquer substituições.

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

GET https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro Tipo Descrição
Parâmetros da URL
user_id sequência de caracteres O endereço de email do usuário.

Tipo de resposta

Uma coleção de instâncias InferenceClassificationOverride. Uma coleção vazia é retornada se o usuário não tiver nenhuma substituição configurada.

Exemplo de solicitação

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

Exemplo de resposta

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

Atualizar uma substituição para um remetente

Escopo mínimo necessário

Uma das seguintes opções:

Altere o campo classifyAs de uma substituição conforme especificado.

Você não pode usar o PATCH para alterar outros campos em uma instância InferenceClassificationOverride.

Se houver uma substituição para um remetente e o remetente alterar o nome para exibição, você pode usar POST para forçar a atualização do campo Name na substituição existente.

Se houver uma substituição de um remetente e o remetente alterar seu endereço SMTP, excluir a substituição existente e criar uma nova com o novo endereço SMTP será a única maneira de "atualizar" a substituição deste remetente.

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}')
Parâmetro Tipo Descrição
Parâmetros da URL
override_id sequência de caracteres A ID da substituição a ser atualizada.
user_id sequência de caracteres O endereço de email do usuário.

Tipo de resposta

A instância InferenceClassificationOverride atualizada.

Exemplo de solicitação

O exemplo a seguir altera uma substituição para o usuário conectado. A substituição é para o remetente com o endereço SMTP randiw@adatum.onmicrosoft.com, alterado de Other para Focused.

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

{
    "ClassifyAs": "Focused"
}

Exemplo de resposta

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

Excluir uma substituição de remetente

Escopo mínimo necessário

Uma das seguintes opções:

Excluir uma substituição especificada pelo 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}')
Parâmetro Tipo Descrição
Parâmetros da URL
override_id sequência de caracteres O ID da mensagem de rascunho a ser enviada.
user_id sequência de caracteres O endereço de email do usuário.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204 No Content

Gerenciar menções @ (versão prévia)

Chamar um destinatário para chamar a atenção dele em uma mensagem é um gesto social comum. O recurso Menção fornece um mecanismo leve para notificar outro destinatário ou obter uma notificação de um remetente de uma mensagem.

Por meio da interface do usuário, um aplicativo pode permitir que um usuário insira uma menção em uma mensagem precedendo a menção com @ (comumente usado em cenários semelhantes em outros aplicativos, daí o termo menção @). Programaticamente, o aplicativo pode criar a menção, adicionando-a a propriedade Menções na mesma chamada POST para criar a mensagem.

O aplicativo pode permitir que os usuários pesquisem se foram notificados em qualquer mensagem da sua caixa de entrada. Os usuários podem encontrar detalhes de cada menção em uma mensagem. Eles também podem excluir uma menção em uma mensagem.

Criar menções em uma nova mensagem

Obter informações sobre menções em uma mensagem

Excluir uma menção em uma mensagem

Criar e enviar menções como parte de uma nova mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Criar e enviar uma mensagem fornecida no corpo da solicitação que inclui uma coleção de uma ou mais instâncias de Menção.

Isso usa a mesma ação SendMail disponível no recurso Mensagem; além disso, você inclui a propriedade Menções como parte do parâmetro Mensagem do corpo.

POST https://outlook.office.com/api/beta/me/sendmail
Parâmetro obrigatório Tipo Descrição
Parâmetros do corpo
Message Message A mensagem a ser enviada.
SavetoSentItems booleano Indica se você deseja salvar a mensagem em Itens Enviados. O padrão é true. Obrigatório somente se falso.

Especifique o parâmetro Mensagem com a propriedade obrigatória ToRecipients, a propriedade Menções e quaisquer propriedades graváveis de mensagem no corpo da solicitação.

E, para cada menção na propriedade Mentions, você deve especificar as propriedades Mentioned e CreatedBy.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 202 Accepted

Criar menções como parte de um rascunho de mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Crie um rascunho de uma nova mensagem que inclua uma coleção de uma ou mais instâncias Menção. Você pode criar o rascunho em qualquer pasta e, opcionalmente, atualizá-lo antes do envio.

É utilizado o mesmo método POST disponível no recurso Message; adicionalmente, inclua a propriedade Mentions no corpo da solicitação.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts.

Especifique a propriedade Menções em quaisquer propriedades graváveis de mensagem no corpo da solicitação.

E, para cada menção na propriedade Mentions, você deve especificar as propriedades Mentioned e CreatedBy.

Tipo de resposta

O rascunho da mensagem.

Exemplo de solicitação

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

Exemplo de resposta

O seguinte mostra o rascunho de mensagem criado.

Observação

O objeto response mostrado aqui está truncado por motivos de concisão. Todas as propriedades serão retornadas de uma chamada real.

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

Obter todas as mensagens que mencionam o usuário conectado

Escopo mínimo necessário

Uma das seguintes opções:

Obter todas as mensagens na caixa de correio do usuário conectado, ou na pasta especificada, que contêm uma Menção deste usuário.

Isso usa o mesmo método GET disponível no recurso Mensagem; além disso, você inclui um $filter parâmetro de consulta na propriedade MentionsPreview.

Por padrão, uma chamada GET /me/messages não retorna a propriedade Menções. Use o parâmetro de consulta $expand para encontrar detalhes de cada menção em uma mensagem.

Observação

Certifique-se de que sua chamada codifique adequadamente os caracteres de espaço na sequência de caracteres do parâmetro de consulta.

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
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts.

Tipo de resposta

A coleção message solicitada.

Exemplo de solicitação

O exemplo abaixo filtra todas as mensagens na caixa de correio do usuário conectado para encontras as que mencionam o usuário. Ele usa $select para retornar um subconjunto das propriedades de cada mensagem na resposta. Ele também incorpora a codificação de URL para os caracteres de espaço na sequência de caracteres do parâmetro de consulta.

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

Exemplo de resposta

A resposta contém duas mensagens que mencionam o usuário conectado.

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

Obter detalhes de cada menção em uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha uma mensagem com os detalhes de cada Menção na mensagem expandida.

O mesmo método GET disponível no recurso Mensage é usado; além disso, você inclui um parâmetro de consulta $expand na propriedade de navegação Mentions.

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem solicitada.

Tipo de resposta

A mensagem solicitada.

Exemplo de solicitação

No exemplo a seguir, o usuário conectado é Dana Swope. O exemplo mostra a obtenção de detalhes de todas as menções na mensagem especificada na caixa de correio da Dana.

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

Exemplo de resposta

O exemplo seguinte mostra a mensagem solicitada incluindo detalhes de cada menção na propriedade Mentions. Esta mensagem inclui duas menções, uma para o usuário conectado, Dana, e outra para Randi Welch.

Observação

O objeto de resposta mostrado aqui está truncado para manter o foco nas propriedades relacionadas a 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
    }
  ]
}

Excluir uma menção

Escopo mínimo necessário

Uma das seguintes opções:

Exclui a menção especificada na mensagem especificada na caixa de correio do usuário conectado.

DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
mention_id sequência de caracteres O ID da menção a ser excluída.
message_id sequência de caracteres O ID da mensagem que contém a menção.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204 No Content

Gerenciar regras (versão prévia)

No Outlook, é possível configurar regras para mensagens recebidas na Caixa de Entrada, para realizar ações específicas caso determinadas condições sejam atendidas.

Programaticamente, você pode acessar regras por meio da propriedade de navegação MessageRules da pasta Caixa de Entrada. Cada regra é representada pelo recurso MessageRule, as ações de regra disponíveis são representadas pelo tipo complexo MessageRuleActions e as condições e exceções de regra disponíveis são representadas pelo tipo complexo MessageRulePredicates.

Criar regras (versão prévia)

Escopo mínimo necessário

Crie uma regra especificando um conjunto de condições e ações. O Outlook realizará essas ações se uma mensagem recebida na Caixa de Entrada do usuário atender às condições especificadas.

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

Os seguintes são parâmetros de corpo que são normalmente usados ​​ao criar regras; você pode especificar qualquer outra propriedadeMessageRule gravável, conforme apropriado no corpo da solicitação.

Parâmetros do corpo Tipo Descrição
Ações MessageRuleActions Ações a serem realizadas em uma mensagem quando as condições correspondentes, se existirem, forem atendidas. Obrigatório.
Conditions MessageRulePredicates Condições que, quando atendidas, acionarão as ações correspondentes para essa regra. Opcional.
DisplayName Sequência de caracteres O nome de exibição da regra. Obrigatório.
Exceptions MessageRulePredicates Representa as condições de exceção para a regra. Opcional.
IsEnabled Booleano Indica se a regra está habilitada para ser aplicada a mensagens. Opcional.
Sequence Int32 Indica a ordem em que a regra é executada, entre outras regras. Obrigatório.

Exemplo de solicitação

A regra a seguir encaminha uma mensagem de entrada para Alex Wilbur se o nome do remetente incluir o termo "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
     }    
}

Exemplo de resposta

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

Obter regras (versão prévia)

Escopo mínimo necessário

Você pode obter todas as regras definidas para a Caixa de Entrada do usuário ou obter uma regra específica especificando seu ID.

Obter todas as regras para uma Caixa de Entrada

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

Exemplo de solicitação

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

Exemplo de resposta

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

Obter uma regra específica

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL Tipo Descrição
rule_id Sequência de caracteres O ID da regra a ser obtida.

Exemplo de solicitação

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

Exemplo de resposta

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

Atualizar regras (versão prévia)

Escopo mínimo necessário

Alterar as propriedades editáveis ​​em uma mensagem e salvar as alterações.

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL Tipo Descrição
rule_id Sequência de caracteres O ID da regra a ser atualizada.

Exemplo de solicitação

O exemplo a seguir muda o nome da regra e as ações a serem executadas para aquela regra no último exemplo, de encaminhamento para um endereço para marcar sua importância como alta.

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

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

Exemplo de resposta

Status code: 200 OK

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

Excluir regras (versão prévia)

Escopo mínimo necessário

Excluir a regra especificada.

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL Tipo Descrição
rule_id Sequência de caracteres O ID da regra a ser excluída.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204 No Content

Cancelar assinatura (versão prévia)

Escopo mínimo necessário

Uma das seguintes opções:

Envia uma solicitação de e-mail em nome do usuário conectado para cancelar a assinatura de uma lista de distribuição de e-mail. Usa as informações do cabeçalho List-Unsubscribe.

POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem de rascunho a ser enviada.

Os remetentes das mensagens podem usar listas de endereçamento de maneira amigável, incluindo uma opção de não participar. Eles podem fazer isso especificando o cabeçalho List-Unsubscribe em cada mensagem após RFC-2369.

Observação

Especificamente para a ação Unsubscribe funcionar, o remetente deve especificar mailto: e não informações de cancelamento de assinatura baseadas em URL.

Definir esse cabeçalho também define a propriedade UnsubscribeEnabled da instância Message para true e a propriedade UnsubscribeData para os dados do cabeçalho.

Se a propriedade UnsubscribeEnabled de uma mensagem é true, você pode usar a ação Cancelar assinatura para cancelar a assinatura do usuário de mensagens futuras semelhantes, conforme gerenciado pelo remetente da mensagem.

Um ação bem-sucedida de Cancelar assinatura move a mensagem para a pasta Itens Excluídos. A exclusão do usuário da distribuição de futuros emails é gerenciada pelo remetente.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 202 Accepted

Obter opções de idioma (versão prévia)

Escopo mínimo necessário

Uma das seguintes opções:

Obter a lista de localidades e idiomas com suporte para o usuário, conforme configurado no servidor da caixa de correio do usuário.

O idioma preferido do usuário é selecionado nessa lista suportada. É possível obter o idioma preferido acessando as configurações da caixa de correio do usuário.

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

Tipo de resposta

Coleção de LocaleInfo.

Exemplo de solicitação

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

Exemplo de resposta

O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.

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

Obter opções de fuso horário (versão prévia)

Escopo mínimo necessário

Uma das seguintes opções:

Obter a lista de fusos horários com suporte para o usuário, conforme configurado no servidor da caixa de correio do usuário.

É possível especificar opcionalmente que os fusos horário sejam retornados no formato do Windows ou da Autoridade para Atribuição de Números na Internet (IANA) (também conhecido como fuso horário de Olson). Se você não especificar um formato, os fusos horários serão retornados no formato de fuso horário do Windows.

O fuso horário preferido do usuário é selecionado nessa lista suportada. É possível obter o fuso horário preferido acessando as configurações da caixa de correio do usuário.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Parâmetro opcional Tipo Descrição
Parâmetros da URL
timezone_format TimeZoneStandard Um formato de fuso horário. Os valores suportados são: Windows e Iana.

Tipo de resposta

Coleção de TimeZoneInformation.

Exemplo de solicitação

O exemplo a seguir obtém a lista de fusos horários suportados para o usuário conectado no formato do Windows.

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

Exemplo de resposta

O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.

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

Exemplo de solicitação

O exemplo a seguir obtém a lista de fusos horários suportados no formato IANA.

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

Exemplo de resposta

O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.

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

Obter configurações da caixa de correio

Escopo mínimo necessário

Obter as configurações da caixa de correio principal do usuário. Exemplos de configurações incluem o idioma preferido e o fuso horário padrão do usuário, além de quaisquer configurações de resposta automática.

O idioma e fuso horário preferidos do usuário estão entre as opções com as quais o servidor de caixa de correio foi configurado. Você pode obter as listas dos idiomas suportados e fusos horários suportados para o usuário.

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

Tipo de resposta

MailboxSettings.

Para obter apenas a configuração de idioma preferido dentre todas as configurações da caixa de correio:

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

Tipo de resposta

LocaleInfo.

Para obter apenas a configuração de fuso horário preferido dentre todas as configurações da caixa de correio:

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

Tipo de resposta

Uma sequência de caracteres que representa o fuso horário preferido no formato do Windows.

Você também pode obter especificamente as configurações de resposta automática.

Exemplo de solicitação

O exemplo a seguir obtém todas as configurações de caixa de correio para o usuário conectado.

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

Exemplo de resposta

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

Obter configurações de resposta automática

Escopo mínimo necessário

Obter as configurações de resposta automática da caixa de correio do usuário conectado.

As respostas automáticas permitem que você envie notificações automáticas ao receber um e-mail. Por exemplo, você pode enviar notificações quando não estiver disponível e não puder responder os e-mails.

Como as respostas automáticas fazem parte das configurações de caixa de correio do usuário (representadas por MailboxSettings), você pode ver as configurações de respostas automáticas obtendo todas as configurações da caixa de correio, nas quais elas estão incluídas, ou obtendo especificamente as configurações de respostas automáticas.

Você pode usar o cabeçalho HTTP Prefer: outlook.timezone para especificar o fuso horário preferido para exibir os valores de ScheduledStartDateTime e ScheduledEndDateTime.

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

Tipo de resposta

AutomaticRepliesSetting.

Exemplo de solicitação

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

Exemplo de resposta

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

Atualizar configurações de resposta automática

Escopo mínimo necessário

As respostas automáticas fazem parte das configurações da caixa de correio do usuário (representadas por MailboxSettings). Você pode ativar, configurar ou desativar respostas automáticas atualizando as configurações correspondentes da caixa de correio.

Observação

Você não pode criar nem excluir configurações da caixa de correio.

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

Tipo de resposta

MailboxSettings.

Exemplo de solicitação

Seguindo o exemplo anterior de como obter configurações de respostas automáticas, o próximo exemplo altera o Status de AlwaysEnabled para Scheduled e as datas de início e término para um período diferente.

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

Exemplo de resposta

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


Obter Dicas de E-mail (versão prévia)

Escopo mínimo necessário

Uma das seguintes opções:

Obter as Dicas de Email de um ou mais destinatários como disponíveis para o usuário conectado. Observe que isso é executado como uma operação POST para a ação GetMailTips.

POST https://outlook.office.com/api/beta/me/GetMailTips
Parâmetro obrigatório Tipo Descrição
Parâmetros do corpo
EmailAddresses Coleção (Sequência de caracteres) Uma coleção de endereços SMTP de destinatários para receber as Dicas de Email.
MailTipsOptions MailTipsType Os tipos de Dicas de E-mail a serem obtidas para os destinatários especificados.

Tipo de resposta

Coleção de MailTips.

Exemplo de solicitação

O exemplo a seguir obtém Dicas de Email para os destinatários especificados, para qualquer configuração de resposta automática e status de caixa de correio cheia.

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

Exemplo de resposta

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

Obter anexos

Você pode obter uma coleção de anexos ou um único anexo.

Obter uma coleção de anexos

Escopo mínimo necessário

Uma das seguintes opções:

Obter os anexos de uma mensagem específica.

GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.

Observação

Por padrão, cada anexo na resposta inclui todas as propriedades correspondentes desse tipo de anexo. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Tipo de resposta

Uma coleção de anexos que pode ser do tipo FileAttachment, ItemAttachment ou ReferenceAttachment.

Exemplos de solicitações e respostas

O exemplo a seguir mostra como usar $select para especificar o retorno somente da propriedade Name de cada arquivo anexado na resposta. Veja a resposta de amostra em Receber um anexo para obter uma lista completa das propriedades que serão retornadas para um anexo se você não usar $select.

Exemplo de solicitação

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

Exemplo de resposta

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

O exemplo a seguir mostra como obter o único anexo que é um item de e-mail do Outlook. A resposta inclui um ID de anexo, que também é o ID da mensagem anexada.

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

Obter um anexo

Escopo mínimo necessário

Uma das seguintes opções:

Obter um anexo de uma mensagem específica.

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

Observação

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.
attachment_id sequência de caracteres O ID do anexo.

Observação

Por padrão, a resposta inclui todas as propriedades do anexo. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. Confira Obter uma coleção de anexos para ver um exemplo. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Tipo de resposta

O anexo de arquivo, anexo de item ou anexo de referência solicitado.

Exemplo de solicitação (anexo de arquivo)

O exemplo a seguir obtém o arquivo anexado a um mensagem específica.

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

Exemplo de resposta

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

Exemplo de solicitação (anexo de referência)

O exemplo a seguir obtém o anexo de referência de uma mensagem.

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

Exemplo de resposta

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
}

Exemplo de solicitação ($expand em anexos)

O exemplo a seguir obtém e expande todos os 3 anexos de referência em linha com as propriedades da mensagem.

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

Exemplo de resposta

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

Exemplo de solicitação ($expand em itens de anexo aninhados)

O exemplo a seguir obtém um item de anexo aninhado.

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

Exemplo de resposta

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

Criar anexos

Você pode criar um anexo de arquivo ou de item para uma mensagem.

Criar um anexo de arquivo

Escopo mínimo necessário

Uma das seguintes opções:

Adicionar um anexo de arquivo a uma mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.
Parâmetros do corpo
@odata.type sequência de caracteres #Microsoft.OutlookServices.FileAttachment
Name sequência de caracteres O nome do anexo.
ContentBytes binário O arquivo a ser anexado.

Especifique os parâmetros Name e ContentBytes e qualquer propriedade editável do anexo de arquivo no corpo da solicitação.

Tipo de resposta

O novo anexo de arquivo.

Criar um anexo de item

Escopo mínimo necessário

Uma das seguintes opções:

Adicionar um anexo de item a uma mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.
Parâmetros do corpo
@odata.type sequência de caracteres #Microsoft.OutlookServices.ItemAttachment
Name sequência de caracteres O nome do anexo.
Item Uma entidade de Mensagem ou Evento. O item a ser anexado.

Especifique os parâmetros Name e Item e qualquer propriedade editável do anexo de item no corpo da solicitação.

Tipo de resposta

O novo anexo de item.

Criar um anexo de referência

Escopo mínimo necessário

Uma das seguintes opções:

Adiciona um anexo de referência a uma mensagem.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id Sequência de caracteres O ID da mensagem.
Parâmetros do corpo
@odata.type Sequência de caracteres #Microsoft.OutlookServices.ReferenceAttachment
Name Sequência de caracteres O nome de exibição do anexo. Obrigatório.
SourceUrl Sequência de caracteres URL para obter o conteúdo do anexo. Se este for um URL para uma pasta, para que a pasta seja exibida corretamente no Outlook ou Outlook na Web, defina IsFolder como verdadeiro. Obrigatório.

Especifique os parâmetros Name e SourceUrl e qualquer propriedade editável do anexo de referência no corpo da solicitação.

Tipo de resposta

O anexo de referência.

Exemplo de solicitação

O exemplo a seguir adiciona um anexo de referência a uma mensagem existente. O anexo é um link para um arquivo do OneDrive for Business.

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

Exemplo de resposta

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
}

Exemplo de solicitação

O exemplo a seguir adiciona um anexo de referência na mesma chamada da criação de um rascunho de mensagem. O anexo é um link para um arquivo do OneDrive for Business.

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

Exemplo de resposta

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

Excluir anexos

Escopo mínimo necessário

Uma das seguintes opções:

Excluir o anexo especificado de uma mensagem. O anexo pode ser um anexo de arquivo, anexo de item ou anexo de referência.

DELETE https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
message_id sequência de caracteres O ID da mensagem.
attachment_id sequência de caracteres O ID do anexo.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204

Obter pastas

Você pode obter uma coleção de pastas ou uma pasta na caixa de correio do usuário.

Obter uma coleção de pastas

Escopo mínimo necessário

Uma das seguintes opções:

Obter todas as pastas de e-mail na caixa de correio do usuário conectado (.../me/MailFolders) ou a coleção de pastas na pasta especificada.

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

Observação

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido Inbox, Drafts, SentItemsou DeletedItems se estiver obtendo pastas de uma pasta específica.

Exemplo de solicitação

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

Exemplo de resposta

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

Tipo de resposta

A coleção folder solicitada.

Obter uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha uma pasta por ID.

Obter a pasta do usuário conectado:

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

Obter uma pasta de caixa de correio compartilhada por um usuário:

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

Observação

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

Obter a caixa de entrada do usuário conectado

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

Exemplo de resposta

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

Exemplo de solicitação

Obter uma pasta compartilhada por outro usuário

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

Exemplo de resposta

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
}

Tipo de resposta

A pasta solicitada.

Sincronizar hierarquia de pastas

Você pode obter uma tabela simples de todas as pastas em uma caixa de correio. Quando você sincronizar uma hierarquia de pastas de correio, solicite essa categoria.

Ponto de extremidade Categoria da pasta
Eu/MailFolders Pastas de email

Você só pode sincronizar o nível superior de cada categoria de pasta. Por exemplo, você pode solicitar Eu/MailFolders mas não Eu/MailFolders('inbox').

A sincronização suporta a sincronização completa, que recupera todas as pastas em uma hierarquia, e a sincronização incremental, que recupera todas as pastas que foram alteradas desde a última sincronização completa.

Escopo mínimo necessário

Uma das seguintes opções:

GET https://outlook.office.com/api/beta/me/MailFolders
Parâmetro obrigatório Tipo Descrição
Parâmetro de cabeçalho
Prefer odata.trackchanges Indica que a solicitação é uma solicitação de sincronização.
Parâmetros do corpo
odata.deltaLink sequência de caracteres O token que indica a última vez que a hierarquia de pastas foi sincronizada.

Se algum dos seguintes parâmetros de consulta - $filter, $orderby, $search, $top - estiver incluído na solicitação, será ignorado.

Tipo de resposta

Uma lista simples das pastas na categoria solicitada.

Criar pastas

Adicionar uma nova pasta a uma coleção de pastas.

Criar uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Crie uma pasta filho com o nome especificado em DisplayName. DisplayName é a única propriedade editável de uma pasta.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DisplayName sequência de caracteres O nome para exibição da pasta.

Exemplo de solicitação

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

{
  "DisplayName": "Company"
}

Exemplo de resposta

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

Tipo de resposta

A nova pasta.

Comentários

Você não pode criar uma pasta de nível superior. Você só pode adicionar uma pasta a um ponto de extremidade childfolders.

Atualizar pastas

Alterar o nome de uma pasta.

Atualizar uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Alterar o nome da pasta para o especificado em DisplayName. O nome é a única propriedade editável de uma pasta.

PATCH https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DisplayName sequência de caracteres O novo nome para exibição da pasta.

Exemplo de solicitação

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

Exemplo de resposta

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

Tipo de resposta

A pasta atualizada.

Excluir pastas

Exclua uma pasta e todo o seu conteúdo.

Observação

Tenha cuidado ao excluir pastas. O conteúdo excluído pode não ser recuperável. Para saber mais, veja Excluir itens.

Excluir uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Exclua a pasta especificada em folder_id.

DELETE https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204

Mover ou copiar pastas

Você pode mover ou copiar uma pasta para outra pasta.

Mover uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Mover uma pasta e seu conteúdo para outra pasta usando o método Move.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/move
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DestinationId sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "AAMkAGE0MyxQ9AAA="
}

Exemplo de resposta

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

Tipo de resposta

A pasta que foi movida.

Copiar uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Copiar uma pasta e seu conteúdo para outra pasta usando o método Copy.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Parâmetro obrigatório Tipo Descrição
Parâmetros da URL
folder_id sequência de caracteres O ID da pasta ou o nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DestinationId sequência de caracteres O ID da pasta de destino ou um nome de pasta conhecido, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "inbox"
}

Exemplo de resposta

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

Tipo de resposta

A nova cópia da pasta.

Próximas etapas

Se você estiver pronto para começar a criar um aplicativo ou apenas quiser aprender mais, temos tudo o que você precisa.

Se preferir, aprenda mais sobre como usar a plataforma do Office 365: