Referência da API REST de Email do Outlook (versão 2.0)

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

A API do E-mail do Outlook permite ler, criar e enviar mensagens e anexos, visualizar e responder a mensagens de eventos e gerenciar pastas protegidas pelo Active Directory do Azure no Office 365. Também fornece a mesma funcionalidade em contas da Microsoft, especificamente nestes domínios: Hotmail.com, Live.com, MSN.com, Outlook.com e Passport.com.

Observação

Para simplificar a referência, o restante deste artigo usa o "Outlook.com" para incluir esses domínios de conta da Microsoft.

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

Todas as operações da API de E-mail

Operações de mensagem

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

Operações de pasta

As pastas 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 da ID para especificar a pasta correspondente: Inbox, SentItems, Drafts ou DeletedItems.

Consulte 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 Corpo seria removido antes que o conteúdo do corpo fosse 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 de 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 de API REST do Office 365 na tabela de conteúdo à esquerda.

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

GET https://outlook.office.com/api/v2.0/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/v2.0/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia 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 de apenas as 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/v2.0/me/MailFolders/sentitems/messages/?$select=Sender,Subject

Exemplo de resposta

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/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 de mensagens 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/v2.0/me/messages/{message_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem.

Exemplo de solicitação

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

Exemplo de resposta

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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",
    "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=",
    "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 de apenas as propriedades Sender e Subject de cada mensagem na resposta.

GET https://outlook.office.com/api/v2.0/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 de 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.

Aqui está uma típica rodada de mensagens de sincronização:

  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/v2.0/me/MailFolders('{folder_id}')/messages

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

GET https://outlook.office365.com/api/v2.0/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/v2.0/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 de URL
folder_id cadeia de caracteres O ID da pasta ou Inbox, Drafts, SentItems ou nome de pasta DeletedItems conhecida para sincronizar. Obrigatório.
deltaToken Cadeia 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 Cadeia 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.

Exemplo de solicitação inicial

GET https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}

Exemplo de segunda solicitação

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

GET https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}

Exemplo de terceira solicitação

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

GET https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/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/v2.0/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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/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. Uma mensagem foi excluída.


{
  "@odata.context":"https://outlook.office.com/api/v2.0/$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/v2.0/me/sendmail
Parâmetro obrigatório Tipo Descrição
Parâmetros do corpo
Mensagem Mensagem A mensagem a ser enviada.
SavetoSentItems booliano 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 igual a false.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/sendmail

{
  "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/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres O ID da pasta de destino ou nomes de pasta conhecidos, como Inbox ou Drafts.

Especifique quaisquer propriedades graváveis de mensagens no corpo da solicitação.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
  "Id": "AAMkAGE0Mz7k0AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
  "Categories": [],
  "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=",
  "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.

Enviar 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/v2.0/me/messages/{message_id}/send
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem de rascunho a ser enviada.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 202

Responder ou responder a todas as mensagens

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 de API REST do Office 365 na tabela de conteúdo à esquerda.

Você pode responder com um comentário em tempo real ou pode primeiro criar um rascunho de resposta, atualizá-lo e 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 especificando um comentário e usando o método Reply. A mensagem é então salva na pasta Itens Enviados.

Se você precisar modificar propriedades atualizáveis da resposta, outra opção é primeiro criar um rascunho de mensagem de resposta, atualizar as propriedades da mensagem e, em seguida, enviar a resposta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/reply
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem a ser respondida.
Parâmetros do corpo
Comentário cadeia de caracteres Um comentário a incluir. Não pode ficar vazio.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/reply
Content-Type: application/json

{
  "Comment": "Sounds great! See you tomorrow."
}

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 usando o método ReplyAll. A mensagem é então salva na pasta Itens Enviados.

Se você precisar modificar propriedades atualizáveis da resposta, outra opção é primeiro criar um rascunho de mensagem de resposta a todos, atualizar as propriedades da mensagem e, em seguida, enviar a resposta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/replyall
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem a ser respondida.
Parâmetros do corpo
Comentário cadeia de caracteres Um comentário a incluir. Não pode ficar vazio.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0MSz8DmAAA=/replyall
Content-Type: application/json

{
  "Comment": "Thanks for the heads up."
}

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 da resposta para a mensagem especificada. Você pode atualizar o rascunho para adicionar conteúdo de resposta à propriedade body, alterar outras propriedades da mensagem ou simplesmente enviar o rascunho.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreply
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem a ser respondida.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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=",
  "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 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 para responder ao remetente e a todos os destinatários da mensagem especificada. Você pode atualizar o rascunho para adicionar conteúdo de resposta ao corpo ou alterar outras propriedades da mensagem, ou, simplesmente enviar o rascunho.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreplyall
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem a ser respondida.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createreplyall

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k5AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF\"",
  "Id": "AAMkAGE0Mz7k5AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF",
  "Categories": [],
  "CreatedDateTime": "2014-10-18T21:21:06Z",
  "LastModifiedDateTime": "2014-10-18T21:21:06Z",
  "Subject": "RE: Check out the new Office 365 APIs",
  "BodyPreview": "If the project gets approved, please decide on the name.\r\n_________________________________\r\nFrom: Alex D\r\nSent: Saturday, October 18, 2014 9:18:18 PM\r\nTo: Katie Jordan; Garth Fort\r\nSubj",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "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": "AAQkAGE0M3HbTkEU=",
  "ReceivedDateTime": "2014-10-18T21:21:06Z",
  "SentDateTime": "2014-10-18T21:21:06Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

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 de API REST do Office 365 na tabela de conteúdo à esquerda.

Você pode encaminhar uma mensagem diretamente ou pode criar um rascunho de mensagem de encaminhamento, atualizá-lo e depois enviá-lo.

Encaminhar uma mensagem diretamente

Escopo mínimo necessário

Uma das seguintes opções:

Encaminhe uma mensagem usando o método Forward e, opcionalmente, especificando um comentário. A mensagem é então salva na pasta Itens Enviados.

Outra opção, se você precisar modificar propriedades atualizáveis da mensagem a ser encaminhada, é primeiro criar um rascunho de mensagem de encaminhamento, atualizar as propriedades da mensagem e, em seguida, enviar a resposta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/forward
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres O ID da mensagem a ser encaminhada.
Parâmetros do corpo
Comentário cadeia de caracteres Um comentário a incluir. Não pode ficar vazio.
ToRecipients Coleção (Destinatário) A lista de destinatários.

Especifique os parâmetros Comment e ToRecipients no corpo da solicitação.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/forward
Content-Type: application/json

{
  "Comment": "FYI",
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
      }
    }
  ]
}

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 para encaminhar a mensagem especificada. Você pode atualizar o rascunho para adicionar conteúdo ao corpo ou alterar outras propriedades da mensagem ou, simplesmente, enviar o rascunho.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createforward
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem a ser encaminhada.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createforward

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k6AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG\"",
  "Id": "AAMkAGE0Mz7k6AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG",
  "Categories": [],
  "CreatedDateTime": "2016-03-15T08:42:10Z",
  "LastModifiedDateTime": "2016-03-15T08:42:10Z",
  "Subject": "FW: Let's start a group",
  "BodyPreview": "Dana, just want to make sure you get this.\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",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": {
    "EmailAddress": {
      "Address": "'alexd@contoso.onmicrosoft.com'",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0M3HbTkEU=",
  "ReceivedDateTime": "2016-03-15T08:42:10Z",
  "SentDateTime": "2016-03-15T08:42:10Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Tipo de resposta

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

Atualizar mensagens

Altere as propriedades graváveis ​​em uma mensagem e salve 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/v2.0/me/messages/{message_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres O ID da mensagem a ser atualizada.

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

Exemplo de solicitação

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

{
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "IsRead": true
}

Exemplo de resposta

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
  "Id": "AAMkAGE0Mz8S-AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
  "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=",
  "ReceivedDateTime": "2014-10-17T17:12:15Z",
  "SentDateTime": "2014-10-17T17:12:12Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

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, consulte Excluir itens.

Excluir uma mensagem

Escopo mínimo necessário

Uma das seguintes opções:

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

Exemplo de solicitação

DELETE https://outlook.office.com/api/v2.0/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/v2.0/me/messages/{message_id}/move
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres O ID da mensagem a ser movida.
Parâmetros do corpo
DestinationId cadeia de caracteres A ID da pasta de destino ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
  "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
  "Id": "AAMkAGI2shBhAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "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=",
  "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 que foi 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/v2.0/me/messages/{message_id}/copy
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres O ID da mensagem a ser copiada.
Parâmetros do corpo
DestinationId cadeia de caracteres A ID da pasta de destino ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

{
  "DestinationId": "inbox"
}

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
  "Id": "AAMkAGI2T8DtAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "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=",
  "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 Destaques

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 chegam na Caixa de Entrada; a substituição não modifica a propriedade InferenceClassification em mensagens existentes em qualquer 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/v2.0/me/messages('{message_id}')

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/messages('{message_id}')
Parâmetro Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres O ID da mensagem de rascunho a ser enviada.
user_id cadeia 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 para a mensagem especificada do usuário conectado.

PATCH https://outlook.office.com/api/v2.0/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 simplificação. Uma solicitação PATCH retorna todas as propriedades da mensagem.

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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 STMP, 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 é 1000, com base nos endereços SMTP exclusivos do remetente.
  • A operação POST dá suporte à 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/v2.0/me/InferenceClassification/Overrides

POST https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro Tipo Descrição
Parâmetros de URL
user_id cadeia 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á existe alguma com o mesmo endereço SMTP.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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:

Obtenha 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/v2.0/me/InferenceClassification/Overrides

GET https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro Tipo Descrição
Parâmetros de URL
user_id cadeia 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/v2.0/me/InferenceClassification/Overrides

Exemplo de resposta

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/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 o POST para forçar uma atualização no campo nome em uma 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/v2.0/me/InferenceClassification/Overrides('{override_id}')

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parâmetro Tipo Descrição
Parâmetros de URL
override_id cadeia de caracteres A ID da substituição a ser atualizada.
user_id cadeia 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, de Other para Focused.

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

{
    "ClassifyAs": "Focused"
}

Exemplo de resposta

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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:

Exclua uma substituição especificada de acordo com sua ID.

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

DELETE https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parâmetro Tipo Descrição
Parâmetros de URL
override_id cadeia de caracteres O ID da mensagem de rascunho a ser enviada.
user_id cadeia de caracteres O endereço de email do usuário.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 204 No Content

Gerenciar @-Mentions (versão prévia)

No momento, este recurso está disponível na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

Gerenciar regras (versão prévia)

No momento, este recurso está disponível na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

Cancelar assinatura (versão prévia)

No momento, este recurso está disponível na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

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

Atualmente, este recurso está disponível somente na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

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

Atualmente, este recurso está disponível somente na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

Obter configurações da caixa de correio

Escopo mínimo necessário

Obter as configurações para a caixa de correio principal do usuário conectado. 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.

GET https://outlook.office.com/api/v2.0/me/MailboxSettings

Tipo de resposta

MailboxSettings.

Para obter apenas a configuração de idioma preferido entre 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 entre 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/v2.0/me/MailboxSettings

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$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, que incluem as configurações de respostas automáticas, ou obtendo especificamente as configurações de respostas automáticas.

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

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

Tipo de resposta

AutomaticRepliesSetting.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/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/v2.0/me/MailboxSettings
Content-Type: application/json

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/$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 MailTips (versão prévia)

No momento, este recurso está disponível na versão beta. Para saber mais, no sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione beta.

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/v2.0/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id cadeia de caracteres A ID da mensagem.

Observação

Por padrão, cada anexo da resposta inclui todas as propriedades correspondentes a esse 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 ou ItemAttachment.

Exemplos de solicitações e respostas

O exemplo a seguir mostra como usar $select para especificar o retorno de apenas a propriedade Nome 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/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/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 de URL
message_id cadeia de caracteres A ID da mensagem.
attachment_id cadeia de caracteres A 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. Consulte Obter uma coleção de anexos por 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 ou anexo de item solicitado.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=

Exemplo de resposta

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

Exemplo de resposta

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/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:

Adicione um anexo de arquivo a uma mensagem.

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

Especifique os parâmetros Nome e ContentBytes e qualquer propriedade gravá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:

Adicione um anexo de item a uma mensagem.

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

Especifique os parâmetros Nome e Item e qualquer propriedade gravá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:

Adicione um anexo de referência a uma mensagem.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
message_id Cadeia de caracteres A ID da mensagem.
Parâmetros do corpo
@odata.type Cadeia de caracteres #Microsoft.OutlookServices.ReferenceAttachment
Name Cadeia de caracteres O nome de exibição do anexo. Obrigatório.
SourceUrl Cadeia 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 gravá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/v2.0/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/v2.0/$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/v2.0/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/v2.0/$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/v2.0/$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 ou anexo de item.

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

Exemplo de solicitação

DELETE https://outlook.office.com/api/v2.0/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 pasta

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha a coleção de pastas na pasta raiz do usuário conectado (.../me/MailFolders), ou na pasta especificada. Você pode usar o atalho .../me/MailFolders para obter a coleção de pastas de nível superior e navegar para outra pasta.

GET https://outlook.office.com/api/v2.0/me/MailFolders
GET https://outlook.office.com/api/v2.0/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 de URL
folder_id cadeia de caracteres A ID da pasta ou o Inbox, Drafts, SentItems ou nome de pasta DeletedItems conhecido, se estiver recebendo pastas de uma pasta específica.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/MailFolders

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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
        }
    ]
}

Tipo de resposta

A coleção de pastas solicitada.

Obter uma pasta

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha uma pasta por ID.

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

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

GET https://outlook.office.com/api/v2.0/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 de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

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

Exemplo de resposta

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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
}

Exemplo de solicitação

Obtenha uma pasta compartilhada por outro usuário:

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

Exemplo de resposta

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/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 cadeia 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 - estiverem incluídos na solicitação, eles serão ignorados.

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 gravável de uma pasta.

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DisplayName cadeia de caracteres O nome para exibição da nova pasta.

Exemplo de solicitação

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

{
  "DisplayName": "Company"
}

Exemplo de resposta

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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
}

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 gravável de uma pasta.

PATCH https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DisplayName cadeia de caracteres O novo nome para exibição da nova pasta.

Exemplo de solicitação

PATCH https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json

{
  "DisplayName": "Business"
}

Exemplo de resposta

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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
}

Tipo de resposta

A pasta atualizada.

Excluir pastas

Excluir 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, consulte 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/v2.0/me/MailFolders/{folder_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

DELETE https://outlook.office.com/api/v2.0/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 o seu conteúdo para outra pasta usando o método Move.

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/move
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DestinationId cadeia de caracteres A ID da pasta de destino ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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
}

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.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/copy
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
folder_id cadeia de caracteres A ID da pasta ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.
Parâmetros do corpo
DestinationId cadeia de caracteres A ID da pasta de destino ou nomes de pasta bem conhecidos, como Inbox, Drafts, SentItems ou DeletedItems.
POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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
}

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: