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
.
- Obter mensagens
- Sincronizar mensagens
- Criar e enviar mensagens
- Responder ou responder a todas as mensagens
- Encaminhar mensagens novas ou rascunhos
- Atualizar mensagens
- Excluir mensagens
- Mover ou copiar mensagens
- Gerenciar a Caixa de Entrada Destaques
- Gerenciar @-Mentions (versão prévia)
- Gerenciar regras (versão prévia)
- Cancelar assinatura (versão prévia)
- Obter opções de idioma (versão prévia)
- Obter opções de fuso horário (versão prévia)
- Obter configurações da caixa de correio
- Obter configurações de resposta automática
- Atualizar configurações de resposta automática
- Obter MailTips (versão prévia)
- Obter anexos
- Criar anexos
- Excluir anexos
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 , SentItems ou 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:
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.)
Se a primeira resposta retornar o cabeçalho Preference-Applied: odata.track-changes, você poderá prosseguir com a sincronização.
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.
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:
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.
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
edeltaToken
. - A segunda solicitação usa
deltaToken
. A segunda resposta retorna 2 mensagens,nextLink
eskipToken
. - 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 umdeltaLink
edeltaToken
. Nesse caso, esta rodada de sincronização está concluída. Salve odeltaToken
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
- Responder a todos em tempo real
- Criar um rascunho de mensagem de resposta
- Criar um rascunho de mensagem de resposta a todos
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
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
- Criar uma substituição para um remetente
- Obter todas as substituições do usuário
- Atualizar uma substituição para um remetente
- Excluir uma substituição de 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
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
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
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
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
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.
- Comece com as APIs REST de Email, Calendário e Contatos.
- Quer exemplos? Nós temos.
Se preferir, aprenda mais sobre como usar a plataforma do Office 365:
- API REST do Outlook no Centro de Desenvolvimento do Outlook
- Visão geral sobre desenvolvimento na plataforma do Office 365
- Autenticação de aplicativo do Office 365 e autorização de recursos
- Registre manualmente seu aplicativo no AD do Azure para que ele possa acessar as APIs do Office 365
- Referência da API de calendário
- Referência da API de contatos
- API REST de tarefa (versão prévia)
- API do OneDrive
- Referência de operações da API REST do Serviço de Descoberta
- Referência de recursos para as APIs REST de E-mail, Calendário e Contatos