Referência da API REST de Email do Outlook
Aplica-se a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Observação
Essa documentação abrange a API para @-menções, mensagens de cancelamento de assinatura, respostas rápidas, e opções de idioma e fuso horário, que estão atualmente em versão prévia. Os recursos de versão prévia estão sujeitos a alterações antes da finalização e podem fazer com que seu código deixe de funcionar. Por essa razão, em geral, você deve usar somente uma versão de produção de uma API em seu código de produção. Se estiver disponível, a v2.0 é, no momento, a versão preferida.
Não tem interesse na versão beta da API? No sumário à esquerda, vá para a seção Referência da API REST do Office 365 e selecione a versão que deseja.
Todas as operações da API de Email
Operações de mensagem
As mensagens são armazenadas nas pastas da caixa de correio, portanto, os pontos de extremidade de mensagem geralmente incluem a pasta que contém a mensagem. Uma pasta é especificada por um ID ou por um dos seguintes nomes de pasta conhecidos: Inbox
, Drafts
, SentItems
ou DeletedItems
.
- Obter mensagens
- Sincronizar mensagens
- Criar e enviar mensagens
- Responder ou responder a todos
- Encaminhar mensagens novas ou rascunhos
- Atualizar mensagens
- Excluir mensagens
- Mover ou copiar mensagens
- Gerenciar a Caixa de Entrada Prioritária
- Gerenciar @-Menções (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 Dicas de Email (versão prévia)
- Obter anexos
- Criar anexos
- Excluir anexos
Operações de pasta
As pastas da Caixa de Correio podem conter mensagens e outras pastas. Você pode obter, criar, alterar, excluir e gerenciar pastas. Você pode usar os seguintes nomes de pasta conhecidos em vez do ID para especificar a pasta correspondente: Inbox
, SentItems
, Drafts
ou DeletedItems
.
Confira também
Usar a API REST de E-mail
Autenticação
Assim como acontece com outras APIs REST do Outlook, para cada solicitação à API de E-mail você deve incluir um token de acesso válido. Para obter um token de acesso você deve ter registrado e identificado o seu aplicativo e obtido a autorização adequada.
Você pode saber mais sobre algumas opções simplificadas de registro e autorização. Tenha isso em mente ao prosseguir com as operações específicas na API de E-mail.
Versão da API
A API REST de E-mail é suportada em todas as versões da API REST do Outlook. A funcionalidade pode variar dependendo da versão específica.
Usuário de destino
Todas as solicitações da API de E-mail são realizadas em nome do usuário conectado, a menos que especificado. Alguns subconjuntos de API, como a API de Caixa de Entrada Prioritária, podem ser executados no usuário conectado ou em um usuário especificado por uma ID de usuário, mediante as permissões apropriadas.
Veja Usar a API REST do Outlook para obter mais informações comuns a todos os subconjuntos da API REST do Outlook.
Obter mensagens
Você pode obter uma coleção de mensagens ou uma única mensagem de uma pasta de caixa de correio.
Cada mensagem na resposta contém várias propriedades, incluindo a propriedade Body. O corpo da mensagem pode ser de texto ou HTML. Se o corpo for HTML, por padrão, qualquer HTML potencialmente inseguro (por exemplo, JavaScript) incorporado na propriedade Body será removido antes que o conteúdo do corpo seja retornado em uma resposta REST.
Para obter todo o conteúdo HTML original, inclua o seguinte cabeçalho de solicitação HTTP:
Prefer: outlook.allow-unsafe-html
Para especificar o formato desejado a ser retornado nas propriedades Body e UniqueBody em uma solicitação GET, use o cabeçalho Prefer: outlook.body-content-type
:
- Especifique
Prefer: outlook.body-content-type="text"
para obter um corpo de mensagem retornado em formato de texto. - Especifique
Prefer: outlook.body-content-type="html"
ou apenas pule o cabeçalho para retornar o corpo da mensagem no formato HTML.
Se você especificar um dos cabeçalhos, a resposta incluirá o cabeçalho Preference-Applied
correspondente como confirmação:
- Para solicitações de formato de texto:
Preference-Applied: outlook.body-content-type="text"
- Para solicitações no formato HTML:
Preference-Applied: outlook.body-content-type="html"
Obter uma coleção de mensagens
Escopo mínimo necessário
Uma das seguintes opções:
Observação
O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.
Obtenha uma coleção de mensagens de toda a caixa de correio do usuário conectado (incluindo as pastas Itens Excluídos e Email secundário).
GET https://outlook.office.com/api/beta/me/messages
Você também pode especificar uma pasta na caixa de correio do usuário e obter a coleção de mensagens dessa pasta.
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o Inbox , Drafts , 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 somente das propriedades Sender e Subject de cada mensagem na resposta. Consulte o exemplo de resposta em Obter uma mensagem para ver uma lista completa das propriedades retornadas para uma mensagem caso você não use $select
.
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/MailFolders/sentitems/messages/?$select=Sender,Subject
Exemplo de resposta
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
"Id": "AAMkAGI2TIzAAAA=",
"Subject": "Meeting Notes",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2TIy-AAA=",
"Subject": "Contract Signing",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.type": "#Microsoft.OutlookServices.EventMessage",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
"@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
"Id": "AAMkAGI2TIy9AAA=",
"Subject": "Rob:Alex 1:1",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
}
]
}
Tipo de resposta
A coleção message solicitada.
Obter uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Obter uma mensagem por ID.
GET https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=
Exemplo de resposta
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
"Id": "AAMkAGI2THVSAAA=",
"CreatedDateTime": "2014-10-20T00:41:57Z",
"LastModifiedDateTime": "2014-10-20T00:41:57Z",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"Categories": [],
"ReceivedDateTime": "2014-10-20T00:41:57Z",
"SentDateTime": "2014-10-20T00:41:53Z",
"HasAttachments": true,
"Subject": "Re: Meeting Notes",
"Body": {
"ContentType": "Text",
"Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
},
"BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
"Importance": "Normal",
"ParentFolderId": "AAMkAGI2AAEMAAA=",
"Sender": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2yEto=",
"ConversationIndex": "AQHRh3zqrkAcds2kw==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": false,
"IsDraft": false,
"WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}
Tipo de resposta
A mensagem solicitada.
Observação
Por padrão, a resposta inclui todas as propriedades da mensagem especificada. Use $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
O exemplo a seguir mostra como usar $select
para especificar o retorno somente das propriedades Sender e Subject de cada mensagem na resposta.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject
Sincronizar mensagens
Escopo mínimo necessário
Uma das seguintes opções:
Você pode sincronizar seu armazenamento de dados local com as mensagens no servidor. A sincronização de mensagens é uma operação por pasta, por exemplo, você pode sincronizar todas as mensagens na sua Caixa de Entrada. Para sincronizar as mensagens em uma hierarquia de pastas, você precisa sincronizar cada pasta individualmente.
A API suporta a sincronização completa que recupera todas as mensagens em uma pasta, e a sincronização incremental que recupera todas as mensagens que foram alteradas desde a última sincronização completa.
Sincronizar uma pasta de e-mail normalmente requer duas ou mais solicitações GET. Fazer uma solicitação GET é muito parecido com obter mensagens, a diferença é que é necessário incluir determinados cabeçalhos de solicitação e um deltaToken ou skipToken quando apropriado.
Cabeçalhos da solicitação
Você deve especificar o cabeçalho Prefer: odata.track-changes em todas as solicitações de sincronização, exceto naquelas que incluem um
skipToken
que é retornado de uma solicitação de sincronização anterior. Na primeira resposta, procure o cabeçalho Preference-Applied: odata.track-changes para confirmar que o recurso suporta a sincronização antes de continuar.Você pode especificar o cabeçalho Prefer: odata.maxpagesize={x} para definir o número máximo de mensagens retornadas em uma solicitação.
Esta é uma rodada completa de sincronização de mensagens:
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/beta/me/MailFolders('{folder_id}')/messages
Segunda solicitação ou primeira solicitação de uma rodada seguinte
GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}
Terceira solicitação ou seguinte na mesma rodada
Continue enviando solicitações de sincronização caso a resposta anterior inclua um skipToken
. Pare quando receber uma resposta que contenha um cabeçalho @odata.deltaLink
com um deltaToken
novamente.
GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parâmetros | Tipo | Descrição |
---|---|---|
Parâmetros do cabeçalho | ||
Prefer | odata.track-changes | Indica que a solicitação é uma solicitação de sincronização. Necessário para as duas primeiras solicitações GET em uma rodada. |
Prefer | odata.maxpagesize | Define o número de mensagens a serem retornadas em cada resposta. Opcional. |
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou os nomes de pasta conhecidos Inbox , Drafts , SentItems ou DeletedItems para sincronizar. Obrigatório. |
deltaToken | Sequência de caracteres | O token que identifica a última solicitação de sincronização para essa pasta. É retornado como parte do valor de @odata.deltaLink na resposta anterior de sincronização. Necessário para a segunda solicitação GET. |
skipToken | Sequência de caracteres | O token que indica que há mais mensagens para download. Obrigatório se for retornado como parte do valor de @odata.nextLink na resposta anterior de sincronização. |
Por padrão, a sincronização retorna todas as propriedades e todas as mensagens em uma pasta. Use uma expressão de consulta $select para especificar apenas as propriedades que você precisa para um melhor desempenho. A propriedade Id é sempre retornada.
A sincronização suporta as expressões de consulta $select, $top, $expand. Há suporte limitado para $filter e $orderby e não há suporte para $search.
- As únicas expressões suportadas do $filter são “$filter=ReceivedDateTime+ge+{value}” ou “$filter=ReceivedDateTime+gt+{value}".
- A única expressão suportada $orderby expression é “$orderby=ReceivedDateTime+desc”. Se você não incluir uma expressão $orderby, a ordem de retorno não será garantida.
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Tipo de resposta
Uma coleção contendo as mensagens solicitadas e um deltaToken ou skipToken que você usa para solicitar páginas adicionais de dados de mensagens do servidor para uma sincronização incremental.
Exemplo
O exemplo a seguir mostra uma série de solicitações para sincronizar uma pasta específica contendo 7 mensagens. A primeira solicitação de sincronização especifica o retorno de 2 mensagens por vez (odata.maxpagesize é 2) e apenas as propriedades Remetente e Assunto de cada mensagem.
- A resposta inicial retorna 2 mensagens,
deltaLink
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.
Solicitação inicial de exemplo
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Exemplo de dados da resposta inicial
A resposta inicial inclui um cabeçalho Preference-Applied: odata.track-changes
, indicando que esta pasta suporta a sincronização. A resposta também inclui duas mensagens e um deltaToken
.
Preference-Applied: odata.track-changes
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
"Id":"AAMkAGI5MAAAwXADPAAA=",
"Subject":"Updates from All Company",
"Sender":{
"EmailAddress":{
"Name":"Contoso Demo on Yammer",
"Address":"noreply@yammer.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
"Id":"AAMkAGI5MAAAwXADVAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Alex Darrow",
"Address":"AlexD@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}
Segundo exemplo de solicitação
A segunda solicitação especifica o deltaToken
retornado da resposta anterior.
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Exemplo de dados da segunda resposta
A segunda resposta inclui mais duas mensagens e um skipToken
, indicando que há mais mensagens para sincronizar na pasta.
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
"Id":"AAMkAGI5MAAAwXADQAAA=",
"Subject":"International Launch Planning for XT2000",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
"Id":"AAMkAGI5MAAAwXADUAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Anne Wallace",
"Address":"AnneW@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}
Terceira solicitação de exemplo
A terceira solicitação inclui o skipToken
retornado da resposta anterior.
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Exemplo de dados da terceira resposta
A terceira resposta retorna mais duas mensagens e outro skipToken
, indicando que ainda há mensagens na pasta para sincronizar.
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
"Id":"AAMkAGI5MAAAwXADTAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Pavel Bansky",
"Address":"PavelB@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
"Id":"AAMkAGI5MAAAwXADSAAA=",
"Subject":"Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}
Exemplo de quarta solicitação
A quarta solicitação inclui o skipToken
da resposta anterior.
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Exemplo de dados da quarta e última resposta
A quarta resposta retorna a única mensagem restante na pasta e um deltaToken
que indica que a sincronização desta pasta está concluída. Salve o deltaToken
para a próxima rodada de sincronização desta pasta.
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
"Id":"AAMkAGI5MAAAwXADRAAA=",
"Subject":"Data sheets for the XT2000 ",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Exemplo de solicitação de sincronização incremental
A primeira solicitação inclui o deltaToken
da última resposta da sincronização completa.
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
A resposta à solicitação de sincronização incremental inclui quaisquer alterações no conjunto de mensagens da pasta.
Exemplo de resposta da sincronização incremental
A resposta mostra que uma alteração foi feita no conjunto de mensagens. A mensagem foi excluída.
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value": [
{
"id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
"reason": "deleted"
}
]
,
"@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Criar e enviar mensagens
Você pode enviar uma nova mensagem em tempo real ou criar um rascunho de mensagem e enviá-lo. Você pode criar rascunhos em qualquer pasta.
Enviar uma nova mensagem em tempo real
Escopo mínimo necessário
Uma das seguintes opções:
Envie a mensagem fornecida no corpo da solicitação usando o método SendMail. Você pode incluir um ou mais anexos no mesmo chamado de ação, especificando-os na propriedade Anexos da coleção. Você também pode salvar a mensagem na pasta Itens Enviados.
POST https://outlook.office.com/api/beta/me/sendmail
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do corpo | ||
Message | Message | A mensagem a ser enviada. |
SavetoSentItems | booleano | Indica se você deseja salvar a mensagem em Itens Enviados. O padrão é true. |
Especifique o parâmetro Mensagem com a propriedade obrigatória ToRecipients e quaisquer propriedades graváveis de mensagem no corpo da solicitação. O parâmetro SaveToSentItems é necessário apenas se for false.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json
{
"Message": {
"Subject": "Meet for lunch?",
"Body": {
"ContentType": "Text",
"Content": "The new cafeteria is open."
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"SaveToSentItems": "false"
}
Exemplo de resposta
Status code: 202
Criar um rascunho de mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Criar um rascunho de uma nova mensagem. Rascunhos podem ser criados em qualquer pasta e, opcionalmente, atualizados antes do envio. Para salvar na pasta Rascunhos, use o atalho /me/messages
.
POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts . |
Especifique quaisquer propriedades editáveis de message no corpo da solicitação.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/MailFolders/inbox/messages
Content-Type: application/json
{
"Subject": "Did you see last night's game?",
"Importance": "Low",
"Body": {
"ContentType": "HTML",
"Content": "They were <b>awesome</b>!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
}
]
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
"Id": "AAMkAGE0Mz7k0AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
"Categories": [],
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"CreatedDateTime": "2014-10-18T20:06:51Z",
"LastModifiedDateTime": "2014-10-18T20:06:51Z",
"Subject": "Did you see last night's game?",
"BodyPreview": "They were awesome!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Low",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": null,
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mpv2hisc=",
"ConversationIndex": "AQHRf4zqrkAcds2kw==",
"ReceivedDateTime": "2014-10-18T20:06:51Z",
"SentDateTime": "2014-10-18T20:06:51Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Tipo de resposta
O rascunho da mensagem.
Envie um rascunho de mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Envie um rascunho de nova mensagem, um rascunho de Resposta, um rascunho de Resposta a todos, ou um rascunho de Encaminhamento usando o método Send. A mensagem é então salva na pasta Itens Enviados.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem de rascunho a ser enviada. |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz7k0AAA=/send
Exemplo de resposta
Status code: 202
Responder ou responder a todos
Observação
O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.
Você pode responder a uma mensagem, adicionar um comentário ou atualizar as propriedades de uma mensagem com uma só chamada, ou você pode primeiro criar um rascunho de resposta e atualizar quaisquer propriedades da mensagem em uma só chamada para depois enviar o rascunho.
Você pode responder apenas ao remetente da mensagem ou responder a todos os destinatários de uma só vez.
- Responder ao remetente em tempo real
- 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, adicione um comentário ou modifique qualquer propriedade atualizável tudo em uma única chamada Resposta. A mensagem é então salva na pasta Itens Enviados.
Outra opção é primeiro criar um rascunho de mensagem de resposta para incluir um comentário ou atualizar quaisquer propriedades da mensagem e, em seguida, enviar a resposta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | A ID da mensagem a ser respondida. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e não ao destinatário em From.
Exemplo de solicitação
O exemplo a seguir inclui um comentário e adiciona um destinatário à mensagem de resposta.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json
{
"Message":{
"ToRecipients":[
{
"EmailAddress": {
"Address":"fannyd@contoso.onmicrosoft.com",
"Name":"Fanny Downs"
}
},
{
"EmailAddress":{
"Address":"randiw@contoso.onmicrosoft.com",
"Name":"Randi Welch"
}
}
]
},
"Comment": "Fanny, Randi, would you name the group please?"
}
Exemplo de resposta
Status code: 202
Responder a todos em tempo real
Escopo mínimo necessário
Uma das seguintes opções:
Responda a todos os destinatários de uma mensagem especificando um comentário e modificando quaisquer propriedades atualizáveis da resposta, tudo isso usando o método ReplyAll. A mensagem é então salva na pasta Itens Enviados.
Outra opção é primeiro criar um rascunho de mensagem de resposta a todos para incluir um comentário e atualizar quaisquer propriedades da mensagem e, em seguida, enviar a resposta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | A ID da mensagem a ser respondida. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta a todos. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e ToRecipients, e não aos destinatários em From e ToRecipients.
Exemplo de solicitação
O exemplo a seguir inclui um comentário e adiciona um anexo à mensagem de resposta a todos.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/ReplyAll
Content-Type: application/json
{
"Message":{
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "guidelines.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"Comment": "Please take a look at the attached guidelines before you decide on the name."
}
Exemplo de resposta
Status code: 202
Criar um rascunho de mensagem de resposta
Escopo mínimo necessário
Uma das seguintes opções:
Crie um rascunho de mensagem de resposta para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateReply. Você pode então enviar o rascunho da mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | A ID da mensagem a ser respondida. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários em ReplyTo e não ao destinatário em From.
Exemplo de solicitação
O exemplo a seguir cria um rascunho de resposta, adiciona um comentário e um destinatário no corpo da solicitação.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Content-Type: application/json
{
"Message":{
"ToRecipients":[
{
"EmailAddress": {
"Address":"fannyd@contoso.onmicrosoft.com",
"Name":"Fanny Downs"
}
}
]
},
"Comment": "Fanny, would you name the group if the project is approved, please?"
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
"Id": "AAMkADA1MTAAAH5JKoAAA=",
"CreatedDateTime": "2016-03-15T08:33:43Z",
"LastModifiedDateTime": "2016-03-15T08:33:43Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:33:43Z",
"SentDateTime": "2016-03-15T08:33:43Z",
"HasAttachments": false,
"InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "RE: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
},
"BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBHStBQ=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"AppliedHashtagsPreview": null,
"LikesPreview": null,
"MentionsPreview": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" }
}
Tipo de resposta
O rascunho de mensagem de resposta com as propriedades ToRecipient, IsDraft e outras propriedades apropriadas pré-preenchidas.
Criar um rascunho de mensagem de resposta a todos
Escopo mínimo necessário
Uma das seguintes opções:
Crie um rascunho de mensagem de resposta a todos para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateReplyAll. Você pode então enviar o rascunho da mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | A ID da mensagem a ser respondida a todos. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta a todos. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Se ReplyTo estiver especificado na mensagem original, conforme Formato de Mensagem de Internet (RFC 2822), você deve enviar a resposta aos destinatários nas propriedades ReplyTo e ToRecipients, e não aos destinatários nas propriedades From e ToRecipients.
Exemplo de solicitação
O exemplo a seguir cria um rascunho de resposta a todos e adiciona um anexo e comentário, tudo em uma única chamada CreateReplyAll.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/createreplyall
Content-Type: application/json
{
"Message":{
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "guidelines.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"Comment": "if the project gets approved, please take a look at the attached guidelines before you decide on the name."
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKpAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP\"",
"Id": "AAMkADA1MTAAAH5JKpAAA=",
"CreatedDateTime": "2016-03-15T08:37:34Z",
"LastModifiedDateTime": "2016-03-15T08:37:34Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:37:34Z",
"SentDateTime": "2016-03-15T08:37:34Z",
"HasAttachments": true,
"InternetMessageId": "<DM2PR00MB005732BE05BD669AC7CE056EF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "RE: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body dir=\"ltr\">\r\nif the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:36:32 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group\r\n<div>Fanny, Randi, would you name the group please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n</body>\r\n</html>"
},
"BodyPreview": "if the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:36:32 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubj",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@contoso.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAACHRQA==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKpAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"AppliedHashtagsPreview": null,
"LikesPreview": null,
"MentionsPreview": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" }
}
Tipo de resposta
O rascunho de mensagem de resposta a todos com as propriedades ToRecipient, IsDraft e outras propriedades apropriadas pré-preenchidas.
Encaminhar mensagens novas ou rascunhos
Observação
O comportamento das operações nesta seção varia de acordo com a versão. Saiba mais sobre como escolher uma versão em Referência da API REST do Office 365 no sumário à esquerda.
Você pode encaminhar uma mensagem, adicionar um comentário ou atualizar propriedades da mensagem com uma só chamada, ou você pode primeiro criar um rascunho e atualizar as propriedades da mensagem em uma chamada, e depois enviar o rascunho.
Encaminhar uma mensagem diretamente
Escopo mínimo necessário
Uma das seguintes opções:
Encaminhe uma mensagem, adicione um comentário ou modifique quaisquer propriedades atualizáveis, tudo em uma única chamada Forward. A mensagem é então salva na pasta Itens Enviados.
Outra opção é primeiro criar um rascunho de mensagem de encaminhamento para incluir um comentário ou atualizar quaisquer propriedades da mensagem e, em seguida, enviar o rascunho da mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem a ser encaminhada. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
ToRecipients | Coleção (Destinatário) | A lista de destinatários. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Você deve especificar o
ToRecipients
parâmetro ou a propriedade ToRecipients do parâmetroMessage
. Especificar ambos ou nenhum retornará um erro HTTP 400 - Solicitação incorreta.
Exemplo de solicitação
O exemplo a seguir define a propriedade IsDeliveryReceiptRequested como true, adiciona um comentário e encaminha uma mensagem.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/forward
Content-Type: application/json
{
"Message":{
"IsDeliveryReceiptRequested": true,
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
]
},
"Comment": "Dana, just want to make sure you get this."
}
Exemplo de resposta
Status code: 202
Criar um rascunho de mensagem de encaminhamento
Escopo mínimo necessário
Uma das seguintes opções:
Crie um rascunho de mensagem de encaminhamento para incluir um comentário ou atualizar quaisquer propriedades da mensagem, tudo em uma única chamada CreateForward. Você pode então enviar o rascunho da mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem a ser encaminhada. |
Parâmetros do corpo | ||
Comment | sequência de caracteres | Um comentário a incluir. Não pode ficar vazio. |
ToRecipients | Coleção (Destinatário) | A lista de destinatários. |
Message | Message | Quaisquer propriedades editáveis a serem atualizadas na mensagem de resposta. |
Observação
- Você pode especificar um comentário ou a propriedade Body do parâmetro
Message
. Especificar ambos retornará um erro HTTP 400 - Solicitação incorreta. - Você deve especificar o
ToRecipients
parâmetro ou a propriedade ToRecipients do parâmetroMessage
. Especificar ambos ou nenhum retornará um erro HTTP 400 - Solicitação incorreta.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/createforward
Content-Type: application/json
{
"Message":{
"IsDeliveryReceiptRequested": true,
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
]
},
"Comment": "Dana, just want to make sure you get this; you'll need this if the project gets approved."
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKqAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ\"",
"Id": "AAMkADA1MTAAAH5JKqAAA=",
"CreatedDateTime": "2016-03-15T08:42:10Z",
"LastModifiedDateTime": "2016-03-15T08:42:10Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:42:10Z",
"SentDateTime": "2016-03-15T08:42:10Z",
"HasAttachments": true,
"InternetMessageId": "<DM2PR00MB0057E0EBC90EF37FC9233941F7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "FW: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body>\r\nDana, just want to make sure you get this; you'll need this if the project gets approved.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:47:54 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group</body>\r\n</html>\r\n"
},
"BodyPreview": "Dana, just want to make sure you get this; you'll need this if the project gets approved.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAAAMtlIAAH+3c",
"IsDeliveryReceiptRequested": true,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKqAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"AppliedHashtagsPreview": null,
"LikesPreview": null,
"MentionsPreview": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" }
}
Tipo de resposta
O rascunho da mensagem de encaminhamento com a propriedade IsDraft e outras propriedades apropriadas pré-preenchidas.
Atualizar mensagens
Alterar as propriedades editáveis de uma mensagem e salvar as alterações.
Atualizar uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Alterar propriedades graváveis em um rascunho ou uma mensagem existente. Apenas as propriedades especificadas são alteradas.
PATCH https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem a ser atualizada. |
Especifique uma ou mais propriedades editáveis da mensagem no corpo da solicitação.
Exemplo de solicitação
O exemplo de solicitação a seguir define duas categorias em uma mensagem de email e sinaliza a mensagem com uma data de início e de conclusão.
Observação
Se FlagStatus estiver definido como Flagged
, a propriedade Flag.CompletedDate não deve ser definida.
PATCH https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json
{
"Categories": [
"Orange category",
"Green category"
],
"IsRead": true,
"Flag": {
"FlagStatus": "Flagged",
DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
"Id": "AAMkAGE0Mz8S-AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"Categories": [
"Orange category",
"Green category"
],
"CreatedDateTime": "2014-10-17T17:12:15Z",
"LastModifiedDateTime": "2014-10-19T03:24:35Z",
"Subject": "Meeting notes from today",
"BodyPreview": "See attached",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": true,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mip-qvhs=",
"ConversationIndex": "AQHRh5tqrkAcds2kw==",
"ReceivedDateTime": "2014-10-17T17:12:15Z",
"SentDateTime": "2014-10-17T17:12:12Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true,
"Flag": {
"FlagStatus": "Flagged",
"DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Exemplo de solicitação
Os exemplos de solicitações a seguir marcam uma mensagem de email sinalizada anteriormente como completa
PATCH https://outlook.office.com/api/beta/me/messages/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=
Content-Type: application/json; charset=utf-8
Content-Length: 164
{
"Flag": {
"CompletedDateTime":{
"DateTime": "2018-02-05T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"FlagStatus": "Complete"
}
}
Exemplo de resposta
HTTP/1.1 200 OK
{
"Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=",
"CreatedDateTime": "2017-12-15T22:11:41Z",
"LastModifiedDateTime": "2017-12-16T00:49:44Z",
"ChangeKey": "CQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/ThM",
"Categories": [],
"ReceivedDateTime": "2017-12-15T22:11:41Z",
"SentDateTime": "2017-12-15T22:11:36Z",
"HasAttachments": false,
"InternetMessageId": "<e711230d-d066-469e-a128-c429c5789d97@SINGMEHUB02.gme.gbl>",
"Subject": "An agent sent you a message in Microsoft Teams",
"BodyPreview": "Hi John,\r\nYou're missing all the action in Microsoft Teams\r\n\r\n\r\nAn agent\r\nSent a new message to your chat\r\n\r\n Open Microsoft Teams\r\n\r\nRather not receive these emails? Click your profile picture, select Options and then Notificatio",
"Importance": "Normal",
"ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAuAAAAAAB79HWXBjsTRocnYZpOfEpCAQCHGmLqkYhISaO_lSymODLQABa6L5YsAAA=",
"ConversationId": "AAQkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAQAPQcMVQTnE5Aql13YD1jbQw=",
"ConversationIndex": "AQHTdfGv9BwxVBOcTkCqXXdgPWNtDA==",
"IsDeliveryReceiptRequested": null,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADTvAAEwgCZNAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Other",
"UnsubscribeData": [],
"UnsubscribeEnabled": false,
"Body": {
"ContentType": "HTML",
"Content": "<html style=\"font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:18px\"></html>\r\n"
},
"Sender": {
"EmailAddress": {
"Name": "Microsoft Teams",
"Address": "noreply@email.teams.microsoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Microsoft Teams",
"Address": "noreply@email.teams.microsoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "John",
"Address": "john@contoso.com"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"MentionsPreview": null,
"Flag": {
"FlagStatus": "Complete",
"CompletedDateTime": {
"DateTime": "2018-02-06T00:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Tipo de resposta
A mensagem atualizada.
Excluir mensagens
Observação
Tenha cuidado ao excluir mensagens. O conteúdo excluído pode não ser recuperável. Para saber mais, veja Excluir itens.
Excluir uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
DELETE https://outlook.office.com/api/beta/me/messages/{message_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | A ID da mensagem a ser excluída. |
Exemplo de solicitação
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8TBAAA=
Exemplo de resposta
Status code: 204
Mover ou copiar mensagens
Você pode mover ou copiar uma mensagem para uma pasta.
Mover uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Mover uma mensagem para uma pasta. Isso cria uma nova cópia da mensagem na pasta de destino.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/move
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem a ser movida. |
Parâmetros do corpo | ||
DestinationId | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGI2AAEJAAA="
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2shBhAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGI2AAEJAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGWgitxag=",
"ConversationIndex": "AQHRh6etrkAcds2kw==",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Tipo de resposta
A mensagem movida.
Copiar uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Copiar uma mensagem para uma pasta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/copy
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem a ser copiada. |
Parâmetros do corpo | ||
DestinationId | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
"Id": "AAMkAGI2T8DtAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
"ConversationIndex": "AQHRh6sdrkAcds2kw==",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Tipo de resposta
A nova cópia da mensagem.
Gerenciar a Caixa de Entrada Prioritária
A caixa de entrada prioritária permite que você veja mensagens importantes na guia Focused
da Caixa de Entrada e o restante das mensagens na guia Other
. O sistema de classificação organiza inicialmente as mensagens da Caixa de Entrada de maneira padrão. Você pode corrigir e treinar o sistema ao longo do tempo por meio da interface do usuário ou programaticamente. Quanto mais você usar esse recurso, melhor o sistema poderá deduzir quais mensagens de entrada são importantes.
No nível programático, a API REST da Caixa de Entrada Prioritária funciona nas mensagens do usuário especificado e suporta a propriedade InferenceClassification para cada mensagem. Os valores possíveis são Focused
e Other
, que indicam se o usuário considera essa mensagem como, respectivamente, mais importante e menos importante. Para corrigir e treinar o sistema de classificação de mensagens, use a Operação PATCH na propriedade InferenceClassification no nível da mensagem.
A API REST da Caixa de Entrada Prioritária também permite criar substituições. Cada substituição, representada por uma instância InferenceClassificationOverride, é uma instrução para o sistema de classificação sempre designar mensagens de um remetente específico de forma consistente (ou seja, sempre como "Prioritária" ou sempre como "Outros"), independentemente de qualquer abordagem aprendida anteriormente. Você pode criar, obter, atualizar e excluir substituições para o usuário especificado. As substituições do usuário, caso haja alguma, são acessíveis em uma propriedade de navegação InferenceClassification, que é uma coleção de instâncias InferenceClassificationOverride. As substituições permitem que um usuário tenha mais controle sobre a classificação de mensagens recebidas e crie uma maior confiança no sistema de classificação.
Observe que o sistema de classificação aprende e aplica as classificações somente nas mensagens recebidas na Caixa de Entrada. Mensagens em outras pastas são, por padrão, consideradas "Destaques". Configurar uma substituição afeta as mensagens futuras que chegarão na Caixa de Entrada; a substituição não modifica a propriedade InferenceClassification em mensagens existentes em nenhuma pasta, incluindo a Caixa de Entrada.
Treinando o sistema de classificação de mensagens
Usar substituições para classificar consistentemente por remetente
- 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/beta/me/messages('{message_id}')
PATCH https://outlook.office.com/api/beta/Users('{user_id}')/messages('{message_id}')
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem de rascunho a ser enviada. |
user_id | sequência de caracteres | O endereço de email do usuário. |
Tipo de resposta
A mensagem atualizada.
Exemplo de solicitação
Este exemplo altera a propriedade InferenceClassification para Other
na mensagem especificada do usuário conectado.
PATCH https://outlook.office.com/api/beta/me/messages('AAMkADA1MTQBAAA=')
{
"InferenceClassification": "Other"
}
Exemplo de resposta
O objeto de resposta visto aqui mostra a propriedade InferenceClassification atualizada e está truncado para fins de concisão. Uma solicitação PATCH retorna todas as propriedades da mensagem.
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
"Id": "AAMkADA1MTQBAAA=",
"Importance": "Normal",
"Sender": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Admin",
"Address": "admin@adatum.onmicrosoft.com"
}
}
],
"InferenceClassification": "Other"
}
Criar uma substituição para um remetente
Escopo mínimo necessário
Uma das seguintes opções:
Crie uma substituição para um remetente identificado por um endereço SMTP. Mensagens futuras desse endereço SMTP serão consistentemente classificadas conforme especificado na substituição.
Observação
- Se já existir uma substituição com o mesmo endereço SMTP, os campos classifyAs e Name dessa substituição serão atualizados com os valores fornecidos.
- O número máximo de substituições com suporte para uma caixa de correio é de 1000, com base em endereços SMTP exclusivos de remetente.
- A operação POST suporta a criação de apenas uma substituição de cada vez. Para criar várias substituições, você pode enviar várias solicitações POST ou um lote delas.
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
POST https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
user_id | sequência de caracteres | O endereço de email do usuário. |
Tipo de resposta
A instância InferenceClassificationOverride recém-criada ou a instância InferenceClassificationOverride atualizada se já existir alguma com o mesmo endereço SMTP.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
{
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Exemplo de resposta
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Obter todas as substituições do usuário
Escopo mínimo necessário
Uma das seguintes opções:
Obter as substituições que um usuário configurou para sempre classificar as mensagens de determinados remetentes de maneiras específicas.
Cada substituição corresponde a um endereço SMTP de um remetente. Inicialmente, um usuário não tem quaisquer substituições.
GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
GET https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
user_id | sequência de caracteres | O endereço de email do usuário. |
Tipo de resposta
Uma coleção de instâncias InferenceClassificationOverride. Uma coleção vazia é retornada se o usuário não tiver nenhuma substituição configurada.
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
Exemplo de resposta
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Other",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
]
}
Atualizar uma substituição para um remetente
Escopo mínimo necessário
Uma das seguintes opções:
Altere o campo classifyAs de uma substituição conforme especificado.
Você não pode usar o PATCH para alterar outros campos em uma instância InferenceClassificationOverride.
Se houver uma substituição para um remetente e o remetente alterar o nome para exibição, você pode usar POST para forçar a atualização do campo Name na substituição existente.
Se houver uma substituição de um remetente e o remetente alterar seu endereço SMTP, excluir a substituição existente e criar uma nova com o novo endereço SMTP será a única maneira de "atualizar" a substituição deste remetente.
PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')
PATCH https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
override_id | sequência de caracteres | A ID da substituição a ser atualizada. |
user_id | sequência de caracteres | O endereço de email do usuário. |
Tipo de resposta
A instância InferenceClassificationOverride atualizada.
Exemplo de solicitação
O exemplo a seguir altera uma substituição para o usuário conectado. A substituição é para o remetente com o endereço SMTP randiw@adatum.onmicrosoft.com, alterado de Other
para Focused
.
PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
{
"ClassifyAs": "Focused"
}
Exemplo de resposta
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
Excluir uma substituição de remetente
Escopo mínimo necessário
Uma das seguintes opções:
Excluir uma substituição especificada pelo ID.
DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')
DELETE https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parâmetro | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
override_id | sequência de caracteres | O ID da mensagem de rascunho a ser enviada. |
user_id | sequência de caracteres | O endereço de email do usuário. |
Exemplo de solicitação
DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
Exemplo de resposta
Status code: 204 No Content
Gerenciar menções @ (versão prévia)
Chamar um destinatário para chamar a atenção dele em uma mensagem é um gesto social comum. O recurso Menção fornece um mecanismo leve para notificar outro destinatário ou obter uma notificação de um remetente de uma mensagem.
Por meio da interface do usuário, um aplicativo pode permitir que um usuário insira uma menção em uma mensagem precedendo a menção com @
(comumente usado em cenários semelhantes em outros aplicativos, daí o termo menção @). Programaticamente, o aplicativo pode criar a menção, adicionando-a a propriedade Menções na mesma chamada POST
para criar a mensagem.
O aplicativo pode permitir que os usuários pesquisem se foram notificados em qualquer mensagem da sua caixa de entrada. Os usuários podem encontrar detalhes de cada menção em uma mensagem. Eles também podem excluir uma menção em uma mensagem.
Criar menções em uma nova mensagem
- Criar e enviar menções como parte de uma nova mensagem
- Criar menções como parte de um rascunho de mensagem
Obter informações sobre menções em uma mensagem
- Obter todas as mensagens que mencionam o usuário conectado
- Obter detalhes de cada menção em uma mensagem
Excluir uma menção em uma mensagem
Criar e enviar menções como parte de uma nova mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Criar e enviar uma mensagem fornecida no corpo da solicitação que inclui uma coleção de uma ou mais instâncias de Menção.
Isso usa a mesma ação SendMail disponível no recurso Mensagem; além disso, você inclui a propriedade Menções como parte do parâmetro Mensagem do corpo.
POST https://outlook.office.com/api/beta/me/sendmail
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do corpo | ||
Message | Message | A mensagem a ser enviada. |
SavetoSentItems | booleano | Indica se você deseja salvar a mensagem em Itens Enviados. O padrão é true. Obrigatório somente se falso. |
Especifique o parâmetro Mensagem com a propriedade obrigatória ToRecipients, a propriedade Menções e quaisquer propriedades graváveis de mensagem no corpo da solicitação.
E, para cada menção na propriedade Mentions, você deve especificar as propriedades Mentioned e CreatedBy.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json
{
"Message": {
"Subject": "Project kickoff",
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"Mentions":[
{
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
},
"CreatedBy": {
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
]
}
}
Exemplo de resposta
Status code: 202 Accepted
Criar menções como parte de um rascunho de mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Crie um rascunho de uma nova mensagem que inclua uma coleção de uma ou mais instâncias Menção. Você pode criar o rascunho em qualquer pasta e, opcionalmente, atualizá-lo antes do envio.
É utilizado o mesmo método POST disponível no recurso Message; adicionalmente, inclua a propriedade Mentions no corpo da solicitação.
POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts . |
Especifique a propriedade Menções em quaisquer propriedades graváveis de mensagem no corpo da solicitação.
E, para cada menção na propriedade Mentions, você deve especificar as propriedades Mentioned e CreatedBy.
Tipo de resposta
O rascunho da mensagem.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json
{
"Subject": "Party planning",
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"Mentions":[
{
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
},
"CreatedBy": {
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
]
}
Exemplo de resposta
O seguinte mostra o rascunho de mensagem criado.
Observação
O objeto response mostrado aqui está truncado por motivos de concisão. Todas as propriedades serão retornadas de uma chamada real.
Status code: 201 Created
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAbYj7\"",
"Id":"AQMkADJmMTUAAAW1fsAAAAA==",
"Body":{
"ContentType":"Text",
"Content":""
},
"BodyPreview":"",
"Sender":null,
"From":null,
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"MentionsPreview":{
"IsMentioned":false
},
"Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAW1fsAAAAA%3D%3D')/Mentions",
"Mentions":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')/Mentions('4577bba4-b063-4cea-9073-6f7ca815fcec')",
"Id":"4577bba4-b063-4cea-9073-6f7ca815fcec",
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com",
"ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-22T02:22:44Z",
"ServerCreatedDateTime":"2016-07-22T02:22:44.201Z",
"DeepLink":null,
"Application":null
}
]
}
Obter todas as mensagens que mencionam o usuário conectado
Escopo mínimo necessário
Uma das seguintes opções:
Obter todas as mensagens na caixa de correio do usuário conectado, ou na pasta especificada, que contêm uma Menção deste usuário.
Isso usa o mesmo método GET disponível no recurso Mensagem; além disso, você inclui um $filter
parâmetro de consulta na propriedade MentionsPreview.
Por padrão, uma chamada GET /me/messages
não retorna a propriedade Menções. Use o parâmetro de consulta $expand
para encontrar detalhes de cada menção em uma mensagem.
Observação
Certifique-se de que sua chamada codifique adequadamente os caracteres de espaço na sequência de caracteres do parâmetro de consulta.
GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned eq true
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages?$filter=MentionsPreview/IsMentioned eq true
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox ou Drafts . |
Tipo de resposta
A coleção message solicitada.
Exemplo de solicitação
O exemplo abaixo filtra todas as mensagens na caixa de correio do usuário conectado para encontras as que mencionam o usuário. Ele usa $select
para retornar um subconjunto das propriedades de cada mensagem na resposta. Ele também incorpora a codificação de URL para os caracteres de espaço na sequência de caracteres do parâmetro de consulta.
GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview
Exemplo de resposta
A resposta contém duas mensagens que mencionam o usuário conectado.
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages(Subject,Sender,ReceivedDateTime,MentionsPreview)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
"Id":"AQMkADJmMTUAAAgVZAAAA",
"ReceivedDateTime":"2016-07-21T07:40:21Z",
"Subject":"Re: Start planning soon",
"Sender":{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
},
"MentionsPreview":{
"IsMentioned":true
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAjwVAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAEGj\"",
"Id":"AQMkADJmMTUAAAjwVAAAA",
"ReceivedDateTime":"2016-07-21T07:40:20Z",
"Subject":"Re: Start planning soon",
"Sender":{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
},
"MentionsPreview":{
"IsMentioned":true
}
}
]
}
Obter detalhes de cada menção em uma mensagem
Escopo mínimo necessário
Uma das seguintes opções:
Obtenha uma mensagem com os detalhes de cada Menção na mensagem expandida.
O mesmo método GET disponível no recurso Mensage é usado; além disso, você inclui um parâmetro de consulta $expand
na propriedade de navegação Mentions.
GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem solicitada. |
Tipo de resposta
A mensagem solicitada.
Exemplo de solicitação
No exemplo a seguir, o usuário conectado é Dana Swope. O exemplo mostra a obtenção de detalhes de todas as menções na mensagem especificada na caixa de correio da Dana.
GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions
Exemplo de resposta
O exemplo seguinte mostra a mensagem solicitada incluindo detalhes de cada menção na propriedade Mentions. Esta mensagem inclui duas menções, uma para o usuário conectado, Dana, e outra para Randi Welch.
Observação
O objeto de resposta mostrado aqui está truncado para manter o foco nas propriedades relacionadas a Mention.
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
"Id":"AQMkADJmMTUAAAgVZAAAA",
"Subject":"Start planning soon",
"Body":{
"ContentType":"HTML",
"Content":"<html><head></head><body"><p><a href=\"mailto:danas@contoso.onmicrosoft.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.onmicrosoft.com\">@Randi Welch</a>, forgot to mention, I will be away this weekend. I can start on Monday though.</p></body></html>"
},
"BodyPreview":"@Dana Swope<mailto:danas@contoso.onmicrosoft.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
"Sender":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"From":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"ToRecipients":[
{
"EmailAddress":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
}
},
{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients":[
],
"BccRecipients":[
],
"MentionsPreview":{
"IsMentioned":true
},
"Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions",
"Mentions":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('138f4c0a-1130-4776-b780-bf79d73abb3f')",
"Id":"138f4c0a-1130-4776-b780-bf79d73abb3f",
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com",
"ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-21T07:40:20.152Z",
"ServerCreatedDateTime":"2016-07-21T07:40:20.152Z",
"DeepLink":null,
"Application":null
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('7b94df1a-0086-482a-b0da-e62fae12f983')",
"Id":"7b94df1a-0086-482a-b0da-e62fae12f983",
"Mentioned":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-21T07:40:20.158Z",
"ServerCreatedDateTime":"2016-07-21T07:40:20.158Z",
"DeepLink":null,
"Application":null
}
]
}
Excluir uma menção
Escopo mínimo necessário
Uma das seguintes opções:
Exclui a menção especificada na mensagem especificada na caixa de correio do usuário conectado.
DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
mention_id | sequência de caracteres | O ID da menção a ser excluída. |
message_id | sequência de caracteres | O ID da mensagem que contém a menção. |
Exemplo de solicitação
DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')
Exemplo de resposta
Status code: 204 No Content
Gerenciar regras (versão prévia)
No Outlook, é possível configurar regras para mensagens recebidas na Caixa de Entrada, para realizar ações específicas caso determinadas condições sejam atendidas.
Programaticamente, você pode acessar regras por meio da propriedade de navegação MessageRules da pasta Caixa de Entrada. Cada regra é representada pelo recurso MessageRule, as ações de regra disponíveis são representadas pelo tipo complexo MessageRuleActions e as condições e exceções de regra disponíveis são representadas pelo tipo complexo MessageRulePredicates.
Criar regras (versão prévia)
Escopo mínimo necessário
Crie uma regra especificando um conjunto de condições e ações. O Outlook realizará essas ações se uma mensagem recebida na Caixa de Entrada do usuário atender às condições especificadas.
POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Os seguintes são parâmetros de corpo que são normalmente usados ao criar regras; você pode especificar qualquer outra propriedadeMessageRule gravável, conforme apropriado no corpo da solicitação.
Parâmetros do corpo | Tipo | Descrição |
---|---|---|
Ações | MessageRuleActions | Ações a serem realizadas em uma mensagem quando as condições correspondentes, se existirem, forem atendidas. Obrigatório. |
Conditions | MessageRulePredicates | Condições que, quando atendidas, acionarão as ações correspondentes para essa regra. Opcional. |
DisplayName | Sequência de caracteres | O nome de exibição da regra. Obrigatório. |
Exceptions | MessageRulePredicates | Representa as condições de exceção para a regra. Opcional. |
IsEnabled | Booleano | Indica se a regra está habilitada para ser aplicada a mensagens. Opcional. |
Sequence | Int32 | Indica a ordem em que a regra é executada, entre outras regras. Obrigatório. |
Exemplo de solicitação
A regra a seguir encaminha uma mensagem de entrada para Alex Wilbur se o nome do remetente incluir o termo "adele".
POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Content-Type: application/json
{
"DisplayName": "From partner",
"Sequence": 2,
"IsEnabled": true,
"Conditions": {
"SenderContains": [
"adele"
]
},
"Actions": {
"ForwardTo": [
{
"EmailAddress": {
"Name": "Alex Wilbur",
"Address": "AlexW@MOD154847.onmicrosoft.com"
}
}
],
"StopProcessingRules": true
}
}
Exemplo de resposta
Status code: 201 Created
{
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
Obter regras (versão prévia)
Escopo mínimo necessário
Você pode obter todas as regras definidas para a Caixa de Entrada do usuário ou obter uma regra específica especificando seu ID.
Obter todas as regras para uma Caixa de Entrada
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Exemplo de resposta
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZp8=')",
"Id":"AQAAAJ5dZp8=",
"DisplayName":"Remove spam",
"Sequence":1,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SubjectContains":[
"enter to win"
]
},
"Actions":{
"Delete":true,
"StopProcessingRules":true
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
]
}
Obter uma regra específica
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL | Tipo | Descrição |
---|---|---|
rule_id | Sequência de caracteres | O ID da regra a ser obtida. |
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Exemplo de resposta
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
Atualizar regras (versão prévia)
Escopo mínimo necessário
Alterar as propriedades editáveis em uma mensagem e salvar as alterações.
PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL | Tipo | Descrição |
---|---|---|
rule_id | Sequência de caracteres | O ID da regra a ser atualizada. |
Exemplo de solicitação
O exemplo a seguir muda o nome da regra e as ações a serem executadas para aquela regra no último exemplo, de encaminhamento para um endereço para marcar sua importância como alta.
PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Content-Type: application/json
{
"DisplayName": "Important from partner",
"Actions": {
"MarkImportance": "High"
}
}
Exemplo de resposta
Status code: 200 OK
{
"Id":"AQAAAJ5dZqA=",
"DisplayName":"Important from partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"MarkImportance": "High"
}
}
Excluir regras (versão prévia)
Escopo mínimo necessário
Excluir a regra especificada.
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parâmetros da URL | Tipo | Descrição |
---|---|---|
rule_id | Sequência de caracteres | O ID da regra a ser excluída. |
Exemplo de solicitação
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')
Exemplo de resposta
Status code: 204 No Content
Cancelar assinatura (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
Envia uma solicitação de e-mail em nome do usuário conectado para cancelar a assinatura de uma lista de distribuição de e-mail. Usa as informações do cabeçalho List-Unsubscribe
.
POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem de rascunho a ser enviada. |
Os remetentes das mensagens podem usar listas de endereçamento de maneira amigável, incluindo uma opção de não participar. Eles podem fazer isso especificando o cabeçalho List-Unsubscribe
em cada mensagem após RFC-2369.
Observação
Especificamente para a ação Unsubscribe funcionar, o remetente deve especificar mailto:
e não informações de cancelamento de assinatura baseadas em URL.
Definir esse cabeçalho também define a propriedade UnsubscribeEnabled da instância Message para true
e a propriedade UnsubscribeData para os dados do cabeçalho.
Se a propriedade UnsubscribeEnabled de uma mensagem é true
, você pode usar a ação Cancelar assinatura para cancelar a assinatura do usuário de mensagens futuras semelhantes, conforme gerenciado pelo remetente da mensagem.
Um ação bem-sucedida de Cancelar assinatura move a mensagem para a pasta Itens Excluídos. A exclusão do usuário da distribuição de futuros emails é gerenciada pelo remetente.
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe
Exemplo de resposta
Status code: 202 Accepted
Obter opções de idioma (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
Obter a lista de localidades e idiomas com suporte para o usuário, conforme configurado no servidor da caixa de correio do usuário.
O idioma preferido do usuário é selecionado nessa lista suportada. É possível obter o idioma preferido acessando as configurações da caixa de correio do usuário.
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Tipo de resposta
Coleção de LocaleInfo.
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Exemplo de resposta
O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.LocaleInfo)",
"value":[
{
"Locale":"af-ZA",
"DisplayName":"Afrikaans (Suid-Afrika)"
},
{
"Locale":"en-US",
"DisplayName":"English (United States)"
},
{
"Locale":"en-CA",
"DisplayName":"English (Canada)"
}
]
}
Obter opções de fuso horário (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
Obter a lista de fusos horários com suporte para o usuário, conforme configurado no servidor da caixa de correio do usuário.
É possível especificar opcionalmente que os fusos horário sejam retornados no formato do Windows ou da Autoridade para Atribuição de Números na Internet (IANA) (também conhecido como fuso horário de Olson). Se você não especificar um formato, os fusos horários serão retornados no formato de fuso horário do Windows.
O fuso horário preferido do usuário é selecionado nessa lista suportada. É possível obter o fuso horário preferido acessando as configurações da caixa de correio do usuário.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Parâmetro opcional | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
timezone_format | TimeZoneStandard | Um formato de fuso horário. Os valores suportados são: Windows e Iana . |
Tipo de resposta
Coleção de TimeZoneInformation.
Exemplo de solicitação
O exemplo a seguir obtém a lista de fusos horários suportados para o usuário conectado no formato do Windows.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')
Exemplo de resposta
O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
"value":[
{
"Alias":"Dateline Standard Time",
"DisplayName":"(UTC-12:00) International Date Line West"
},
{
"Alias":"Samoa Standard Time",
"DisplayName":"(UTC+13:00) Samoa"
},
{
"Alias":"UTC-11",
"DisplayName":"(UTC-11:00) Coordinated Universal Time-11"
},
{
"Alias":"Aleutian Standard Time",
"DisplayName":"(UTC-10:00) Aleutian Islands"
}
]
}
Exemplo de solicitação
O exemplo a seguir obtém a lista de fusos horários suportados no formato IANA.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')
Exemplo de resposta
O exemplo de resposta abaixo foi truncado para que o foco se mantenha no formato JSON da resposta.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
"value":[
{
"Alias":"Etc/GMT+12",
"DisplayName":"Etc/GMT+12"
},
{
"Alias":"US/Samoa",
"DisplayName":"US/Samoa"
},
{
"Alias":"Etc/GMT+11",
"DisplayName":"Etc/GMT+11"
},
{
"Alias":"US/Aleutian",
"DisplayName":"US/Aleutian"
}
]
}
Obter configurações da caixa de correio
Escopo mínimo necessário
Obter as configurações da caixa de correio principal do usuário. Exemplos de configurações incluem o idioma preferido e o fuso horário padrão do usuário, além de quaisquer configurações de resposta automática.
O idioma e fuso horário preferidos do usuário estão entre as opções com as quais o servidor de caixa de correio foi configurado. Você pode obter as listas dos idiomas suportados e fusos horários suportados para o usuário.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Tipo de resposta
Para obter apenas a configuração de idioma preferido dentre todas as configurações da caixa de correio:
GET https://outlook.office.com/api/beta/me/MailboxSettings/Language
Tipo de resposta
Para obter apenas a configuração de fuso horário preferido dentre todas as configurações da caixa de correio:
GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone
Tipo de resposta
Uma sequência de caracteres que representa o fuso horário preferido no formato do Windows.
Você também pode obter especificamente as configurações de resposta automática.
Exemplo de solicitação
O exemplo a seguir obtém todas as configurações de caixa de correio para o usuário conectado.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "All",
"ScheduledStartDateTime": {
"DateTime": "2016-03-14T07:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T07:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obter configurações de resposta automática
Escopo mínimo necessário
Obter as configurações de resposta automática da caixa de correio do usuário conectado.
As respostas automáticas permitem que você envie notificações automáticas ao receber um e-mail. Por exemplo, você pode enviar notificações quando não estiver disponível e não puder responder os e-mails.
Como as respostas automáticas fazem parte das configurações de caixa de correio do usuário (representadas por MailboxSettings), você pode ver as configurações de respostas automáticas obtendo todas as configurações da caixa de correio, nas quais elas estão incluídas, ou obtendo especificamente as configurações de respostas automáticas.
Você pode usar o cabeçalho HTTP Prefer: outlook.timezone
para especificar o fuso horário preferido para exibir os valores de ScheduledStartDateTime e ScheduledEndDateTime.
GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting
Tipo de resposta
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
"Status": "AlwaysEnabled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-19T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}
Atualizar configurações de resposta automática
Escopo mínimo necessário
As respostas automáticas fazem parte das configurações da caixa de correio do usuário (representadas por MailboxSettings). Você pode ativar, configurar ou desativar respostas automáticas atualizando as configurações correspondentes da caixa de correio.
Observação
Você não pode criar nem excluir configurações da caixa de correio.
PATCH https://outlook.office.com/api/beta/me/MailboxSettings
Tipo de resposta
Exemplo de solicitação
Seguindo o exemplo anterior de como obter configurações de respostas automáticas, o próximo exemplo altera o Status de AlwaysEnabled
para Scheduled
e as datas de início e término para um período diferente.
PATCH https://outlook.office.com/api/beta/me/MailboxSettings
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T18:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T18:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obter Dicas de E-mail (versão prévia)
Escopo mínimo necessário
Uma das seguintes opções:
Obter as Dicas de Email de um ou mais destinatários como disponíveis para o usuário conectado. Observe que isso é executado como uma operação POST para a ação GetMailTips.
POST https://outlook.office.com/api/beta/me/GetMailTips
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros do corpo | ||
EmailAddresses | Coleção (Sequência de caracteres) | Uma coleção de endereços SMTP de destinatários para receber as Dicas de Email. |
MailTipsOptions | MailTipsType | Os tipos de Dicas de E-mail a serem obtidas para os destinatários especificados. |
Tipo de resposta
Coleção de MailTips.
Exemplo de solicitação
O exemplo a seguir obtém Dicas de Email para os destinatários especificados, para qualquer configuração de resposta automática e status de caixa de correio cheia.
POST https://outlook.office.com/api/beta/me/GetMailTips
Content-Type: application/json
{
"EmailAddresses": [
"danas@contoso.onmicrosoft.com",
"fannyd@contoso.onmicrosoft.com"
],
"MailTipsOptions": "AutomaticReplies, MailboxFullStatus"
}
Exemplo de resposta
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.MailTips)",
"value":[
{
"EmailAddress":{
"Name":"",
"Address":"danas@contoso.onmicrosoft.com"
},
"AutomaticReplies":{
"Message":"<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n<div dir=\"ltr\">\r\n<div id=\"x_divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Hi, I am on vacation right now. I'll get back to you after I return.<br>\r\n</p>\r\n</div>\r\n</div>",
"MessageLanguage":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
},
"MailboxFull":false
},
{
"EmailAddress":{
"Name":"",
"Address":"fannyd@contoso.onmicrosoft.com"
},
"AutomaticReplies":{
"Message":""
},
"MailboxFull":false
}
]
}
Obter anexos
Você pode obter uma coleção de anexos ou um único anexo.
Obter uma coleção de anexos
Escopo mínimo necessário
Uma das seguintes opções:
Obter os anexos de uma mensagem específica.
GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
Observação
Por padrão, cada anexo na resposta inclui todas as propriedades correspondentes desse tipo de anexo. Use $select
para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Tipo de resposta
Uma coleção de anexos que pode ser do tipo FileAttachment, ItemAttachment ou ReferenceAttachment.
Exemplos de solicitações e respostas
O exemplo a seguir mostra como usar $select
para especificar o retorno somente da propriedade Name de cada arquivo anexado na resposta. Veja a resposta de amostra em Receber um anexo para obter uma lista completa das propriedades que serão retornadas para um anexo se você não usar $select
.
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"Name": "minutes.docx"
}
]
}
O exemplo a seguir mostra como obter o único anexo que é um item de e-mail do Outlook. A resposta inclui um ID de anexo, que também é o ID da mensagem anexada.
GET https://outlook.office.com/api/beta/me/messages('AAMkADFiNTPAAA=')/attachments
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
"Id": "AAMkADFiNTAUhhYuYi0=",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
]
}
Obter um anexo
Escopo mínimo necessário
Uma das seguintes opções:
Obter um anexo de uma mensagem específica.
GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
attachment_id | sequência de caracteres | O ID do anexo. |
Observação
Por padrão, a resposta inclui todas as propriedades do anexo. Use $select
para especificar somente as propriedades necessárias para um melhor desempenho. Confira Obter uma coleção de anexos para ver um exemplo. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Tipo de resposta
O anexo de arquivo, anexo de item ou anexo de referência solicitado.
Exemplo de solicitação (anexo de arquivo)
O exemplo a seguir obtém o arquivo anexado a um mensagem específica.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"LastModifiedDateTime": "2014-10-20T00:41:52Z",
"Name": "minutes.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11585,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}
Exemplo de solicitação (anexo de referência)
O exemplo a seguir obtém o anexo de referência de uma mensagem.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"Name": "Koala picture",
"ContentType": null,
"Size": 382,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "Edit",
"IsFolder": false
}
Exemplo de solicitação ($expand em anexos)
O exemplo a seguir obtém e expande todos os 3 anexos de referência em linha com as propriedades da mensagem.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
"Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
"CreatedDateTime": "2016-03-08T01:01:57Z",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
"Categories": [ ],
"ReceivedDateTime": "2016-03-08T01:01:57Z",
"SentDateTime": "2016-03-08T01:01:51Z",
"HasAttachments": true,
"InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
"Subject": "RE: New year activity",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
},
"BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
"Importance": "Normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Name": "Culinary Expert Group",
"Address": "Chefs@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
"ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2016-03-12T05:54:31Z",
"Name": "Personal pictures",
"ContentType": null,
"Size": 362,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": true
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"Name": "Koala picture",
"ContentType": null,
"Size": 382,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
]
}
Exemplo de solicitação ($expand em itens de anexo aninhados)
O exemplo a seguir obtém um item de anexo aninhado.
GET https://outlook-sdf.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Exemplo de resposta
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
Criar anexos
Você pode criar um anexo de arquivo ou de item para uma mensagem.
Criar um anexo de arquivo
Escopo mínimo necessário
Uma das seguintes opções:
Adicionar um anexo de arquivo a uma mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
Parâmetros do corpo | ||
@odata.type | sequência de caracteres | #Microsoft.OutlookServices.FileAttachment |
Name | sequência de caracteres | O nome do anexo. |
ContentBytes | binário | O arquivo a ser anexado. |
Especifique os parâmetros Name e ContentBytes e qualquer propriedade editável do anexo de arquivo no corpo da solicitação.
Tipo de resposta
O novo anexo de arquivo.
Criar um anexo de item
Escopo mínimo necessário
Uma das seguintes opções:
Adicionar um anexo de item a uma mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
Parâmetros do corpo | ||
@odata.type | sequência de caracteres | #Microsoft.OutlookServices.ItemAttachment |
Name | sequência de caracteres | O nome do anexo. |
Item | Uma entidade de Mensagem ou Evento. | O item a ser anexado. |
Especifique os parâmetros Name e Item e qualquer propriedade editável do anexo de item no corpo da solicitação.
Tipo de resposta
O novo anexo de item.
Criar um anexo de referência
Escopo mínimo necessário
Uma das seguintes opções:
Adiciona um anexo de referência a uma mensagem.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | Sequência de caracteres | O ID da mensagem. |
Parâmetros do corpo | ||
@odata.type | Sequência de caracteres | #Microsoft.OutlookServices.ReferenceAttachment |
Name | Sequência de caracteres | O nome de exibição do anexo. Obrigatório. |
SourceUrl | Sequência de caracteres | URL para obter o conteúdo do anexo. Se este for um URL para uma pasta, para que a pasta seja exibida corretamente no Outlook ou Outlook na Web, defina IsFolder como verdadeiro. Obrigatório. |
Especifique os parâmetros Name e SourceUrl e qualquer propriedade editável do anexo de referência no corpo da solicitação.
Tipo de resposta
Exemplo de solicitação
O exemplo a seguir adiciona um anexo de referência a uma mensagem existente. O anexo é um link para um arquivo do OneDrive for Business.
POST https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Koala picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Exemplo de resposta
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"Name": "Koala picture",
"ContentType": null,
"Size": 382,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
Exemplo de solicitação
O exemplo a seguir adiciona um anexo de referência na mesma chamada da criação de um rascunho de mensagem. O anexo é um link para um arquivo do OneDrive for Business.
POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json
{
"Subject": "Plan for dinner",
"Body": {
"ContentType": "HTML",
"Content": "Office anniversary is coming soon!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "randiw@contoso.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
]
}
Exemplo de resposta
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
"CreatedDateTime": "2016-03-12T09:04:54Z",
"LastModifiedDateTime": "2016-03-12T09:04:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
"Categories": [ ],
"ReceivedDateTime": "2016-03-12T09:04:54Z",
"SentDateTime": "2016-03-12T09:04:54Z",
"HasAttachments": true,
"InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
"Subject": "Plan for dinner",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
},
"BodyPreview": "Office anniversary is coming soon!",
"Importance": "normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
"Sender": null,
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
"ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "flagStatus": "notFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
"LastModifiedDateTime": null,
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 0,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
]
}
Excluir anexos
Escopo mínimo necessário
Uma das seguintes opções:
Excluir o anexo especificado de uma mensagem. O anexo pode ser um anexo de arquivo, anexo de item ou anexo de referência.
DELETE https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
message_id | sequência de caracteres | O ID da mensagem. |
attachment_id | sequência de caracteres | O ID do anexo. |
Exemplo de solicitação
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=
Exemplo de resposta
Status code: 204
Obter pastas
Você pode obter uma coleção de pastas ou uma pasta na caixa de correio do usuário.
Obter uma coleção de pastas
Escopo mínimo necessário
Uma das seguintes opções:
Obter todas as pastas de e-mail na caixa de correio do usuário conectado (.../me/MailFolders
) ou a coleção de pastas na pasta especificada.
GET https://outlook.office.com/api/beta/me/MailFolders
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido Inbox , Drafts , SentItems ou DeletedItems se estiver obtendo pastas de uma pasta específica. |
Exemplo de solicitação
GET https://outlook.office.com/api/beta/me/MailFolders
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
"Id": "AAMkAGI2AAEKAAA=",
"DisplayName": "Deleted Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 1,
"WellKnownName": "deleteditems"
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
"Id": "AAMkAGI2AAEPAAA=",
"DisplayName": "Drafts",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0,
"WellKnownName": "drafts"
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6,
"WellKnownName": "inbox"
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
"Id": "AAMkAGI2AAEeAAA=",
"DisplayName": "Junk Email",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0,
"WellKnownName": "junkemail"
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
"Id": "AAMkAGI2AAELAAA=",
"DisplayName": "Outbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0,
"WellKnownName": "outbox"
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
"Id": "AAMkAGI2AAEJAAA=",
"DisplayName": "Sent Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 3,
"WellKnownName": "sentitems"
}
]
}
Tipo de resposta
A coleção folder solicitada.
Obter uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Obtenha uma pasta por ID.
Obter a pasta do usuário conectado:
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Obter uma pasta de caixa de correio compartilhada por um usuário:
GET https://outlook.office.com/api/beta/users/{user_id}/mailFolders/{folder_id}
Observação
Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
Obter a caixa de entrada do usuário conectado
GET https://outlook.office.com/api/beta/me/MailFolders/inbox
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6,
"WellKnownName": "inbox"
}
Exemplo de solicitação
Obter uma pasta compartilhada por outro usuário
GET https://outlook.office.com/api/beta/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM
Exemplo de resposta
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
"Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
"ChildFolderCount": 4,
"UnreadItemCount": 27962,
"TotalItemCount": 64420
}
Tipo de resposta
A pasta solicitada.
Sincronizar hierarquia de pastas
Você pode obter uma tabela simples de todas as pastas em uma caixa de correio. Quando você sincronizar uma hierarquia de pastas de correio, solicite essa categoria.
Ponto de extremidade | Categoria da pasta |
---|---|
Eu/MailFolders | Pastas de email |
Você só pode sincronizar o nível superior de cada categoria de pasta. Por exemplo, você pode solicitar Eu/MailFolders mas não Eu/MailFolders('inbox').
A sincronização suporta a sincronização completa, que recupera todas as pastas em uma hierarquia, e a sincronização incremental, que recupera todas as pastas que foram alteradas desde a última sincronização completa.
Escopo mínimo necessário
Uma das seguintes opções:
GET https://outlook.office.com/api/beta/me/MailFolders
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetro de cabeçalho | ||
Prefer | odata.trackchanges | Indica que a solicitação é uma solicitação de sincronização. |
Parâmetros do corpo | ||
odata.deltaLink | sequência de caracteres | O token que indica a última vez que a hierarquia de pastas foi sincronizada. |
Se algum dos seguintes parâmetros de consulta - $filter
, $orderby
, $search
, $top
- estiver incluído na solicitação, será ignorado.
Tipo de resposta
Uma lista simples das pastas na categoria solicitada.
Criar pastas
Adicionar uma nova pasta a uma coleção de pastas.
Criar uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Crie uma pasta filho com o nome especificado em DisplayName. DisplayName é a única propriedade editável de uma pasta.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Parâmetros do corpo | ||
DisplayName | sequência de caracteres | O nome para exibição da pasta. |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/MailFolders/inbox/childfolders
Content-Type: application/json
{
"DisplayName": "Company"
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Company",
"ChildFolderCount": 0,
"UnreadItemCount": 2,
"TotalItemCount": 27,
"WellKnownName": ""
}
Tipo de resposta
A nova pasta.
Comentários
Você não pode criar uma pasta de nível superior. Você só pode adicionar uma pasta a um ponto de extremidade childfolders
.
Atualizar pastas
Alterar o nome de uma pasta.
Atualizar uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Alterar o nome da pasta para o especificado em DisplayName. O nome é a única propriedade editável de uma pasta.
PATCH https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Parâmetros do corpo | ||
DisplayName | sequência de caracteres | O novo nome para exibição da pasta. |
Exemplo de solicitação
PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
"DisplayName": "Business"
}
Exemplo de resposta
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38,
"WellKnownName": ""
}
Tipo de resposta
A pasta atualizada.
Excluir pastas
Exclua uma pasta e todo o seu conteúdo.
Observação
Tenha cuidado ao excluir pastas. O conteúdo excluído pode não ser recuperável. Para saber mais, veja Excluir itens.
Excluir uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Exclua a pasta especificada em folder_id.
DELETE https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
DELETE https://outlook.office.com/api/BETA/me/MailFolders/AAMkAGE0Mz-l_AAA=
Exemplo de resposta
Status code: 204
Mover ou copiar pastas
Você pode mover ou copiar uma pasta para outra pasta.
Mover uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Mover uma pasta e seu conteúdo para outra pasta usando o método Move.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/move
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Parâmetros do corpo | ||
DestinationId | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGE0MyxQ9AAA="
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MyxQ9AAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38,
"WellKnownName": ""
}
Tipo de resposta
A pasta que foi movida.
Copiar uma pasta
Escopo mínimo necessário
Uma das seguintes opções:
Copiar uma pasta e seu conteúdo para outra pasta usando o método Copy.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Parâmetro obrigatório | Tipo | Descrição |
---|---|---|
Parâmetros da URL | ||
folder_id | sequência de caracteres | O ID da pasta ou o nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Parâmetros do corpo | ||
DestinationId | sequência de caracteres | O ID da pasta de destino ou um nome de pasta conhecido, como Inbox , Drafts , SentItems ou DeletedItems . |
Exemplo de solicitação
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Exemplo de resposta
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
"Id": "AAMkAGE0Mz-mAAAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38,
"WellKnownName": ""
}
Tipo de resposta
A nova cópia da pasta.
Próximas etapas
Se você estiver pronto para começar a criar um aplicativo ou apenas quiser aprender mais, temos tudo o que você precisa.
- 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