Referencia de la API REST de correo de Outlook (beta)
Se aplica a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Nota
Esta documentación trata sobre la API para @-mentions, mensajes de cancelar suscripción, respuestas rápidas y opciones de idioma y zona horaria, que actualmente se encuentran en versión preliminar. Las características en versión preliminar pueden cambiar antes de su finalización, y pueden dañar código que las utilice. Por ello, en general, debería utilizar solo una versión de producción de una API en su código de producción. Si está disponible, v2.0 es actualmente la versión preferida.
¿No está interesado en la versión beta de la API? En la tabla de contenido de la izquierda, vaya a la sección de Referencia de la API de REST de Office 365 y seleccione la versión que desee.
Todas las operaciones de la API de correo
Operaciones de mensaje
Los mensajes se almacenan en carpetas de buzones, por lo que los extremos de los mensajes suelen incluir la carpeta que contiene el mensaje. Una carpeta se especifica mediante un Id. o mediante uno de los siguientes nombres de carpeta conocidos: Inbox
, Drafts
, SentItems
o DeletedItems
.
- Obtener mensajes
- Sincronizar mensajes
- Crear y enviar mensajes
- Mensaje de Responder o Responder a todos
- Reenviar mensajes nuevos o borradores
- Actualizar mensajes
- Eliminar mensajes
- Mover o copiar mensajes
- Administrar Bandeja de entrada Prioritarios
- Administrar @ menciones (vista previa)
- Administrar reglas (vista previa)
- Anular la suscripción (vista previa)
- Obtener opciones de idioma (versión preliminar)
- Obtener opciones de zona horaria (versión preliminar)
- Obtener configuración del buzón
- Obtener la configuración de respuesta automática
- Actualizar la configuración de respuesta automática
- Obtener sugerencias de correo electrónico (vista previa)
- Obtener datos adjuntos
- Crear adjuntos
- Eliminar archivos adjuntos
Operaciones de carpeta
Las carpetas del buzón de correo pueden contener mensajes y otras carpetas. Puede obtener, crear, cambiar, eliminar y administrar carpetas. Puede utilizar los siguientes nombres de carpeta conocidos en lugar del Id. para especificar la carpeta correspondiente: Inbox
, SentItems
, Drafts
o DeletedItems
.
- Obtener carpetas
- Sincronizar carpetas
- Crear carpetas
- Actualizar carpetas
- Eliminar carpetas
- Mover o copiar carpetas
Vea también
Utilizar la API REST de correo
Autenticación
Como cualquier otra API REST de Outlook, para cada solicitud a la API de correo, debería incluir un token de acceso válido. Obtener un token de acceso requiere haber registrado e identificado su aplicación y obtenido la autorización correspondiente.
Puede obtener más información sobre algunas opciones de registro y autorización optimizadas para usted. Tenga esto en cuenta a medida que avance con las operaciones específicas en la API de correo.
Versión de la API
La API REST de correo es compatible con todas las versiones de la API REST de Outlook. La funcionalidad puede variar según la versión específica.
Usuario objetivo
Todas las solicitudes de API de correo se realizan en nombre del usuario con sesión iniciada, a menos que se especifique. Se pueden realizar algunos subconjuntos de API, como la API de Bandeja de entrada priorizada, en el usuario con sesión iniciada, o en un usuario especificado por un Id. de usuario, con los permisos adecuados.
Consulte Utilizar la API REST de Outlook para obtener más información común a todos los subconjuntos de la API REST de Outlook.
Obtener mensajes
Puede obtener una colección de mensajes o un mensaje individual desde una carpeta de buzón.
Cada mensaje en la respuesta contiene varias propiedades, incluida la propiedad Body. El cuerpo del mensaje puede ser de texto o HTML. Si el cuerpo es HTML, de forma predeterminada, cualquier HTML potencialmente inseguro (por ejemplo, JavaScript) insertado en la propiedad Body se eliminaría antes de que se devolviera el contenido del cuerpo en una respuesta REST.
Para obtener todo el contenido HTML original, incluya el siguiente encabezado de solicitud HTTP:
Prefer: outlook.allow-unsafe-html
Para especificar el formato que desea que se devuelva en las propiedades Body y UniqueBody de una solicitud GET, utilice el encabezado Prefer: outlook.body-content-type
:
- Especifique
Prefer: outlook.body-content-type="text"
para obtener un cuerpo de mensaje que se devuelva en formato de texto. - Especifique
Prefer: outlook.body-content-type="html"
o simplemente omita el encabezado para que se devuelva el cuerpo del mensaje en formato HTML.
Si especifica cualquiera de los dos encabezados, la respuesta incluirá el encabezado Preference-Applied
correspondiente como confirmación:
- Para las solicitudes de formato de texto:
Preference-Applied: outlook.body-content-type="text"
- Para las solicitudes de formato HTML:
Preference-Applied: outlook.body-content-type="html"
Obtener una colección de mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Obtenga una colección de mensajes de todo el buzón del usuario que ha iniciado sesión (incluidas las carpetas Elementos eliminados y Otros correos).
GET https://outlook.office.com/api/beta/me/messages
También puede especificar una carpeta en el buzón del usuario y obtener la colección de mensajes de esa carpeta.
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems , si recibe mensajes de una carpeta específica. Si se especifica AllItems , se devolverán todos los mensajes de todo el buzón |
Nota
De forma predeterminada, cada mensaje en la respuesta incluye todas sus propiedades. Utilice $select
para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
El siguiente ejemplo muestra cómo utilizar $select
para especificar que se devuelvan solo las propiedades Sender y Subject de cada mensaje en la respuesta. Consulte el ejemplo de respuesta en Obtener un contacto para obtener una lista completa de las propiedades que se devolverían para un contacto si no se utiliza $select
.
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/MailFolders/sentitems/messages/?$select=Sender,Subject
Respuesta de muestra
{
"@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 respuesta
La colección de mensajes solicitada.
Obtener un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga un mensaje por Id.
GET https://outlook.office.com/api/beta/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=
Respuesta de muestra
{
"@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 respuesta
El mensaje solicitado.
Nota
De forma predeterminada, la respuesta incluye todas las propiedades del mensaje especificado. Utilice $select
para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
El siguiente ejemplo muestra cómo utilizar $select
para especificar que se devuelvan solo las propiedades Sender y Subject de cada mensaje en la respuesta.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject
Sincronizar mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Puede sincronizar su almacén de datos local con los mensajes en el servidor. La sincronización de mensajes es una operación por carpeta, por ejemplo, puede sincronizar todos los mensajes en su Bandeja de entrada. Para sincronizar los mensajes en una jerarquía de carpetas, necesita sincronizar cada carpeta individualmente.
La API admite tanto la sincronización completa, que recupera todos los mensajes en una carpeta, como la sincronización incremental, que recupera todos los mensajes que han cambiado desde la última sincronización completa.
La sincronización de una carpeta de correo normalmente requiere dos o más solicitudes GET. La creación de la solicitud GET es muy similar a la de obtener mensajes, excepto que incluye ciertos encabezados de solicitud y un deltaToken o skipToken cuando corresponde.
Encabezados de solicitud
Debe especificar el encabezado Prefer: odata.track-changes en todas las solicitudes de sincronización, excepto aquellas que incluyen un
skipToken
que se devuelve de una solicitud de sincronización anterior. En la primera respuesta, busque el encabezado Preference-Applied: odata.track-changes para confirmar que el recurso admite la sincronización antes de continuar.Puede especificar el encabezado Prefer: odata.maxpagesize = {x} para establecer el número máximo de mensajes que se devuelven en una solicitud.
Esta es una ronda de sincronización de mensajes completa:
Realice la solicitud GET inicial con el encabezado Prefer: odata.track-changes obligatorio. La respuesta inicial a una solicitud de sincronización siempre devuelve un deltaToken. (La segunda solicitud GET y las solicitudes posteriores difieren de la primera solicitud GET al incluir un deltaToken o un skipToken recibido en una respuesta anterior.)
Si la primera respuesta devuelve el encabezado Preference-Applied: odata.track-changes, puede continuar con la sincronización de la carpeta.
Realice una segunda solicitud GET. Especifique el encabezado Prefer: odata.track-changes y el deltaToken devuelto con el primer GET para determinar si hay mas mensajes. La segunda solicitud devolverá mensajes adicionales y un skipToken si hay más mensajes disponibles, o un deltaToken si el último mensaje se ha sincronizado, en cuyo caso la ronda de sincronización se ha completado y no es necesario hacer nada más.
Continúe la sincronización enviando una llamada GET e incluyendo un skipToken devuelto en la llamada anterior. Deténgase cuando obtenga de nuevo una respuesta final que contenga un encabezado @odata.deltaLink con un deltaToken, lo que indica que la sincronización se ha completado.
Guarde en caché el último token recibido en la ronda de sincronización completa. Utilícelo para comenzar una ronda de sincronización incremental.
Esta es una ronda de sincronización incremental:
Realice la solicitud GET inicial con el encabezado Prefer: odata.track-changes obligatorio y el deltaToken en caché recibido en la última respuesta de una ronda de sincronización completa.
El segundo paso y los pasos siguientes siguen el patrón utilizado para una sincronización completa.
Para sincronizar mensajes en una carpeta específica
Solicitud inicial
GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages
Segunda solicitud, o primera solicitud de una ronda posterior
GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}
Tercera solicitud o solicitud posterior de la misma ronda
Continúe enviando la siguiente solicitud de sincronización si la respuesta anterior incluye un skipToken
. Deténgase cuando reciba de nuevo una respuesta que contenga un encabezado @odata.deltaLink
con un deltaToken
.
GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parámetros | Tipo | Descripción |
---|---|---|
Parámetros del encabezado | ||
Prefer | odata.track-changes | Indica que la solicitud es una solicitud de sincronización. Necesario para las primeras 2 solicitudes GET de una ronda. |
Prefer | odata.maxpagesize | Establece el número de mensajes que se devolverán en cada respuesta. Opcional. |
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre conocido de carpeta Inbox , Drafts , SentItems o DeletedItems , que se sincronizará. Necesario. |
|
deltaToken | Cadena | El token que identifica la última solicitud de sincronización para esa carpeta. Se devuelve como parte del valor de @odata.deltaLink en esa respuesta de sincronización anterior. Necesario para la segunda solicitud GET. |
skipToken | Cadena | El token que indica que hay más mensajes para descargar. Necesario si se devuelve como parte del valor de @odata.nextLink en la respuesta de sincronización anterior. |
De forma predeterminada, la sincronización devuelve todas las propiedades y todos los mensajes en una carpeta. Utilice una expresión de consulta $select para especificar solo las propiedades que necesita para obtener el mejor rendimiento. La propiedad Id se devuelve siempre.
La sincronización admite las expresiones de consulta $select, $top, $expand. Se admite con limitaciones $filter y $orderby, y no se admite $search.
- Las únicas expresiones $filter admitidas son "$filter=ReceivedDateTime + ge + {valor}" o "$filter=ReceivedDateTime + gt + {valor}".
- La única expresión $orderby admitida es "$orderby=ReceivedDateTime+desc". Si no incluye ninguna expresión $orderby, no se garantizará el orden de devolución.
Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Tipo de respuesta
Una colección que contiene los mensajes solicitados y un deltaToken o skipToken que utiliza para solicitar páginas adicionales de datos de mensajes del servidor para una sincronización incremental.
Ejemplo
En el ejemplo siguiente se muestra una serie de solicitudes para sincronizar una carpeta específica que contiene 7 mensajes. La primera solicitud de sincronización especifica la devolución de 2 mensajes a la vez (odata.maxpagesize es 2), y solo las propiedades Sender y Subject para cada mensaje
- La respuesta inicial devuelve 2 mensajes, un
deltaLink
ydeltaToken
. - La segunda solicitud utiliza ese
deltaToken
. La segunda respuesta devuelve 2 mensajes, unnextLink
yskipToken
. - Para completar la sincronización, la tercera solicitud y la cuarta utilizan el
skipToken
devuelto con la solicitud de sincronización anterior, hasta que la respuesta de sincronización devuelva undeltaLink
ydeltaToken
, en cuyo caso esta ronda de sincronización se ha completado. Guarde eldeltaToken
para la próxima ronda de sincronización.
Solicitud inicial de ejemplo
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
Ejemplo de datos de respuesta inicial
La respuesta inicial incluye un encabezado Preference-Applied: odata.track-changes
, lo que indica que esta carpeta admite la sincronización. La respuesta también incluye dos mensajes y un deltaToken
.
Preference-Applied: odata.track-changes
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
"Id":"AAMkAGI5MAAAwXADPAAA=",
"Subject":"Updates from All Company",
"Sender":{
"EmailAddress":{
"Name":"Contoso Demo on Yammer",
"Address":"noreply@yammer.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
"Id":"AAMkAGI5MAAAwXADVAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Alex Darrow",
"Address":"AlexD@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink":"https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}
Segunda solicitud de ejemplo
La segunda solicitud especifica el deltaToken
devuelto en la respuesta 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
Ejemplo de datos de segunda respuesta
La segunda respuesta incluye dos mensajes más y un skipToken
, lo que indica que hay más mensajes para sincronizar en la carpeta.
{
"@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"
}
Tercera solicitud de ejemplo
La tercera solicitud incluye el skipToken
devuelto en la respuesta 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
Ejemplo de datos de tercera respuesta
La tercera respuesta devuelve dos mensajes más y otro skipToken
, lo que indica que todavía hay mensajes en la carpeta 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"
}
Ejemplo de cuarta solicitud
La cuarta solicitud incluye el skipToken
de la respuesta 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
Ejemplo de datos de cuarta y última respuesta
La cuarta respuesta devuelve el único mensaje que queda en la carpeta y un deltaToken
que indica que la sincronización se ha completado para esta carpeta. Guarde el deltaToken
para la próxima ronda de sincronización para esta carpeta.
{
"@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"
}
Ejemplo de solicitud de sincronización incremental
La primera solicitud incluye el deltaToken
de la última respuesta de sincronización 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
La respuesta a la solicitud de sincronización incremental incluye cualquier cambio del conjunto de mensajes de la carpeta.
Ejemplo de respuesta de sincronización incremental
La respuesta muestra que se ha realizado un cambio en el conjunto de mensajes. Se ha eliminado un mensaje.
{
"@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"
}
Crear y enviar mensajes
Puede enviar un nuevo mensaje al momento, o crear un borrador y luego enviarlo. Puede crear borradores en cualquier carpeta.
Enviar un nuevo mensaje al momento
Ámbito mínimo necesario
Uno de los siguientes:
Envíe el mensaje proporcionado en el cuerpo de la solicitud mediante el método SendMail. Puede incluir uno o más archivos adjuntos en la misma llamada de acción especificándolos en la propiedad de colección Attachments. También puede guardar el mensaje en la carpeta Elementos enviados.
POST https://outlook.office.com/api/beta/me/sendmail
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de cuerpo | ||
Mensaje | Mensaje | El mensaje que se enviará. |
SaveToSentItems | booleano | Indica si se debe guardar el mensaje en Elementos enviados. El valor predeterminado es True. |
Especifique el parámetro Message con la propiedad ToRecipients necesaria y las propiedades message grabables en el cuerpo de la solicitud. El parámetro SaveToSentItems es necesario solo si es false.
Solicitud de muestra
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"
}
Respuesta de muestra
Status code: 202
Crear un borrador
Ámbito mínimo necesario
Uno de los siguientes:
Crea un borrador de un mensaje nuevo. Los borradores se pueden crear en cualquier carpeta y, opcionalmente, actualizar antes de enviarlos. Para guardar en la carpeta Borradores, use el acceso directo /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 obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts . |
Especifique cualquier propiedad message grabable en el cuerpo de la solicitud.
Solicitud de muestra
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"
}
}
]
}
Respuesta de muestra
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 respuesta
El borrador.
Enviar un borrador
Ámbito mínimo necesario
Uno de los siguientes:
Envíe un nuevo borrador, un Borrador Responder, un borrador Responder a todos o un borrador Reenviar mediante el me´todo Send. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del borrador que se enviará. |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz7k0AAA=/send
Respuesta de muestra
Status code: 202
Mensaje de Responder o Responder a todos
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Puede responder a un mensaje, agregar un comentario o actualizar las propiedades de un mensaje, todo en una llamada, o puede crear primero un borrador de respuesta y actualizar las propiedades de cualquier mensaje en una sola llamada, y a continuación enviar el borrador.
Puede responder solo al remitente del mensaje o responder a todos los destinatarios a la vez.
- Responder al remitente al momento
- Responder a todos al momento
- Crear un borrador Responder
- Crear un borrador Responder a todos
Responder al remitente al momento
Ámbito mínimo necesario
Uno de los siguientes:
Responda al remitente de un mensaje, agregue un comentario o modifique las propiedades actualizables, todo ello en una sola llamada Responder. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, puede en primer lugar crear un borrador Responder para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar la respuesta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | La id. del mensaje a responder. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Mensaje | Mensaje | Cualquier propiedad grabable que se actualizará en el mensaje de respuesta. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y no el destinatario de From.
Solicitud de muestra
El siguiente ejemplo incluye un comentario y agrega un destinatario al mensaje de respuesta.
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?"
}
Respuesta de muestra
Status code: 202
Responder a todos al momento
Ámbito mínimo necesario
Uno de los siguientes:
Responda a todos los destinatarios de un mensaje especificando un comentario y modificando cualquier propiedad actualizable para la respuesta, todo ello mediante el método ReplyAll. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, puede en primer lugar crear un borrador Responder a todos para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar la respuesta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | La id. del mensaje a responder. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Mensaje | Mensaje | Cualquier propiedad grabable a actualizar en el mensaje Responder a todos. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y ToRecipients, y no a los destinatarios de From y ToRecipients.
Solicitud de muestra
El siguiente ejemplo incluye un comentario y agrega un archivo adjunto al mensaje Responder 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."
}
Respuesta de muestra
Status code: 202
Crear un borrador Responder
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador del mensaje Responder para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateReply. A continuación, puede enviar el borrador.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | La id. del mensaje a responder. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Mensaje | Mensaje | Cualquier propiedad grabable que se actualizará en el mensaje de respuesta. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y no a los destinatarios de From.
Solicitud de muestra
El siguiente ejemplo crea un borrador Responder, y agrega un comentario y un destinatario en el cuerpo de la solicitud.
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?"
}
Respuesta de muestra
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 respuesta
message del borrador Responder con ToRecipient, IsDraft y otras propiedades apropiadas rellenadas previamente.
Crear un borrador Responder a todos
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador Responder a todos para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateReplyAll. A continuación, puede enviar el borrador.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del mensaje a responder a todos. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Mensaje | Mensaje | Cualquier propiedad grabable a actualizar en el mensaje Responder a todos. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de las propiedades ReplyTo y ToRecipients, y no a los destinatarios de las propiedades From y ToRecipients.
Solicitud de muestra
El siguiente ejemplo crea un borrador para responder a todos, y agrega un archivo adjunto y comentario, todo ello en una sola llamada 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."
}
Respuesta de muestra
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 respuesta
El borrador del mensaje responder a todos con ToRecipient, IsDraft y otras propiedades adecuadas ya rellenadas.
Reenviar mensajes nuevos o borradores
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Puede responder a un mensaje, agregar un comentario o actualizar las propiedades de un mensaje, todo en una llamada, o puede crear primero un borrador y actualizar cualquier propiedad del mensaje en una sola llamada y, a continuación, enviar el borrador.
Reenviar un mensaje directamente
Ámbito mínimo necesario
Uno de los siguientes:
Reenvíe un mensaje, agregue un comentario o modifique cualquier propiedad actualizable, todo ello en una llamada Forward. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, puede en primer lugar crear un borrador Reenviar para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar el borrador.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | El Id. del mensaje a reenviar. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
ToRecipients | Collection(Recipient) | La lista de destinatarios. |
Mensaje | Mensaje | Cualquier propiedad grabable que se actualizará en el mensaje de respuesta. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Debe especificar el parámetro
ToRecipients
o la propiedad ToRecipients del parámetroMessage
. Si especifica ambos o no especifica ninguno, se devolverá un error HTTP 400 - Solicitud errónea.
Solicitud de muestra
El siguiente ejemplo establece la propiedad IsDeliveryReceiptRequested en true, agrega un comentario y reenvía el mensaje.
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."
}
Respuesta de muestra
Status code: 202
Crear un borrador Reenviar
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador Reenviar para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateForward. A continuación, puede enviar el borrador.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | El Id. del mensaje a reenviar. |
Parámetros de cuerpo | ||
Comment | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
ToRecipients | Collection(Recipient) | La lista de destinatarios. |
Mensaje | Mensaje | Cualquier propiedad grabable que se actualizará en el mensaje de respuesta. |
Nota
- Puede especificar un comentario o la propiedad Body del parámetro
Message
. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea. - Debe especificar el parámetro
ToRecipients
o la propiedad ToRecipients del parámetroMessage
. Si especifica ambos o no especifica ninguno, se devolverá un error HTTP 400 - Solicitud errónea.
Solicitud de muestra
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."
}
Respuesta de muestra
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 respuesta
Elborrador Reenviar con IsDraft y otras propiedades apropiadas rellenadas previamente.
Actualizar mensajes
Cambie las propiedades grabables en un mensaje y guarde los cambios.
Actualizar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Cambiar las propiedades grabables en un borrador o mensaje existente. Solo se modifican las propiedades que especifique.
PATCH https://outlook.office.com/api/beta/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | El Id. del mensaje a actualizar. |
Especifique una o varias propiedades message grabables en el cuerpo de la solicitud.
Solicitud de muestra
El siguiente ejemplo de solicitud establece dos categorías en un mensaje de correo y marca el mensaje con un inicio y una fecha de caducidad.
Nota
Nota: si FlagStatus se establece en Flagged
, la propiedad Flag.CompletedDate no se debe establecer.
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"
}
}
}
Respuesta de muestra
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"
}
}
}
Solicitud de muestra
Los siguientes ejemplos de solicitud marcan un mensaje de correo previamente marcado como completado
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"
}
}
Respuesta de muestra
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 respuesta
El mensaje actualizado.
Eliminar mensajes
Nota
Tenga cuidado al eliminar mensajes. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.
Eliminar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
DELETE https://outlook.office.com/api/beta/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del mensaje a eliminar. |
Solicitud de muestra
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8TBAAA=
Respuesta de muestra
Status code: 204
Mover o copiar mensajes
Puede mover o copiar un mensaje a una carpeta.
Mover un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Mueve un mensaje a una carpeta. Se crea una nueva copia del mensaje en la carpeta de destino.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/move
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | ID. del mensaje a mover. |
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGI2AAEJAAA="
}
Respuesta de muestra
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 respuesta
El mensaje se ha movido.
Copiar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Copia un mensaje a una carpeta.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/copy
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del mensaje a copiar. |
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Respuesta de muestra
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 respuesta
La nueva copia del mensaje.
Administrar Bandeja de entrada Prioritarios
La Bandeja de entrada Prioritarios permite ver mensajes importantes en la pestaña Focused
de la Bandeja de entrada y el resto de los mensajes en la pestaña Other
. El sistema de clasificación organiza inicialmente los mensajes de la Bandeja de entrada de manera predeterminada. Puede corregir y entrenar el sistema con el tiempo a través de la interfaz de usuario o mediante programación. Cuanto más se use, el sistema podrá deducir mejor qué mensaje entrante es importante.
En el nivel programático, la API REST de Bandeja de entrada priorizada funciona en los mensajes del usuario especificado, y es compatible con una propiedad InferenceClassification para cada mensaje. Los posibles valores son Focused
y Other
, que indican si el usuario considera ese mensaje, respectivamente, más importante y menos importante. Para corregir y entrenar el sistema de clasificación de mensajes, utilice la operación PATCH en la propiedad InferenceClassification en el nivel del mensaje
La API REST de Bandeja de entrada priorizada también le permite crear reemplazos. Cada reemplazo, que se representa mediante una instancia de InferenceClassificationOverride, es una instrucción para que el sistema de clasificación siempre designe mensajes de un remitente específico de una manera coherente (es decir, siempre como "Priorizado" o siempre como "Otro"), independientemente de cualquier enfoque previamente aprendido. Puede crear, obtener, actualizar y eliminar reemplazos para el usuario especificado. Los reemplazos de ese usuario, si los hay, son accesibles en una propiedad de navegación InferenceClassification, que es una colección de instancias de InferenceClassificationOverride. Los reemplazos permiten que el usuario tenga más control sobre la clasificación de los mensajes entrantes y crea una mayor confianza en el sistema de clasificación.
Tenga en cuenta que el sistema de clasificación aprende y aplica la clasificación solo en los mensajes entrantes en la Bandeja de entrada. De forma predeterminada, los mensajes en otras carpetas están "Priorizados". La configuración de un reemplazo afecta a los mensajes que lleguen en el futuro a la Bandeja de entrada; el reemplazo no modifica la propiedad InferenceClassification de los mensajes existentes de ninguna carpeta, incluida la Bandeja de entrada.
Entrenar el sistema de clasificación de mensajes
Uso de invalidaciones para clasificar de forma coherente según el remitente
- Crear un reemplazo para un remitente
- Obtener todos los reemplazos de usuario
- Actualizar un reemplazo para un remitente
- Eliminar un reemplazo de remitente
Actualizar la clasificación de mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Cambiar la propiedad InferenceClassification del mensaje especificado. Si el mensaje está en la Bandeja de entrada, el usuario verá ese mensaje debajo de la pestaña Focused
o Other
correspondiente. Este tipo de corrección también entrena el sistema de clasificación de mensajes para personalizar la futura clasificación para el usuario 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 | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del borrador que se enviará. |
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
El mensaje actualizado.
Solicitud de muestra
Este ejemplo cambia la propiedad InferenceClassification a Other
para el mensaje especificado del usuario con sesión iniciada.
PATCH https://outlook.office.com/api/beta/me/messages('AAMkADA1MTQBAAA=')
{
"InferenceClassification": "Other"
}
Respuesta de muestra
El objeto de respuesta que se muestra aquí muestra la propiedad InferenceClassification actualizada y se trunca por motivos de brevedad. Una solicitud PATCH real devuelve todas las propiedades del mensaje.
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"
}
Crear un reemplazo para un remitente
Ámbito mínimo necesario
Uno de los siguientes:
Cree una invalidación para un remitente que se ha identificado mediante una dirección SMTP. Los mensajes futuros de esa dirección SMTP se clasificarán sistemáticamente como se especifica en la invalidación.
Nota
- Si ya existe un reemplazo con la misma dirección SMTP, los campos ClassifyAs y Name de ese reemplazo se actualizan con los valores proporcionados.
- El número máximo de invalidaciones que admite un buzón es de 1000, basado en direcciones SMTP de remitentes únicos.
- La operación POST solo admite la creación de invalidaciones de una en una. Para crear varios reemplazos, puede enviar varias solicitudes POST o procesarlas por lotes.
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 | Descripción |
---|---|---|
Parámetros de dirección URL | ||
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
La instancia de InferenceClassificationOverride que se acaba de crear o la instancia de InferenceClassificationOverride actualizada si ya existe una con la misma dirección SMTP.
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
{
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Respuesta de muestra
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"
}
}
Obtener todos los reemplazos de usuario
Ámbito mínimo necesario
Uno de los siguientes:
Obtiene los reemplazos que un usuario ha configurado para clasificar siempre los mensajes de determinados remitentes de forma específica.
Cada reemplazo corresponde a una dirección SMTP de un remitente. Inicialmente, un usuario no tiene ningún reemplazo.
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 | Descripción |
---|---|---|
Parámetros de dirección URL | ||
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
Una colección de instancias de InferenceClassificationOverride. Se devuelve una colección vacía si el usuario no tiene ningún reemplazo configurado.
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
Respuesta de muestra
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"
}
}
]
}
Actualizar un reemplazo para un remitente
Ámbito mínimo necesario
Uno de los siguientes:
Cambie el campo ClassifyAs de un reemplazo tal y como se especifica.
No puede utilizar PATCH para cambiar ningún otro campo de una instancia de inferenceClassificationOverride.
Si hay un reemplazo para un remitente y este cambia su nombre para mostrar, puede utilizar POST para forzar una actualización en el campo Nombre del reemplazo existente.
Si hay una invalidación para un remitente y este cambia su dirección SMTP, la única forma de "actualizar" la invalidación de este remitente es eliminar la invalidación existente y crear una nueva con la nueva dirección SMTP.
PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')
PATCH https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
override_id | cadena | Id. del reemplazo a actualizar. |
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
La instancia de InferenceClassificationOverride actualizada.
Solicitud de muestra
El siguiente ejemplo cambia un reemplazo para el usuario que ha iniciado sesión. El reemplazo es para el remitente con la dirección SMTP randiw@adatum.onmicrosoft.com, cambiado de Other
a Focused
.
PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
{
"ClassifyAs": "Focused"
}
Respuesta de muestra
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"
}
}
Eliminar un reemplazo de remitente
Ámbito mínimo necesario
Uno de los siguientes:
Elimina un reemplazo especificado por su identificador.
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 | Descripción |
---|---|---|
Parámetros de dirección URL | ||
override_id | cadena | Id. del borrador que se enviará. |
user_id | cadena | La dirección de correo del usuario. |
Solicitud de muestra
DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
Respuesta de muestra
Status code: 204 No Content
Administrar @-Mentions (versión preliminar)
Llamar a un destinatario para llamar su atención en un mensaje es un gesto social habitual. El recurso Mention proporciona un mecanismo ligero para notificar a otro destinatario, o para recibir una notificación de un remitente en un mensaje.
Mediante la interfaz de usuario, una aplicación puede permitir que un usuario inserte una mención en un mensaje precediendo la mención con @
(lo que se utiliza habitualmente en escenarios similares en otras aplicaciones, de ahí el término @ -mention). Programáticamente, la aplicación puede crear la mención agregándolo a la propiedad Mentions en al misma llamada POST
para crear el mensaje.
La aplicación puede permitir que los usuarios comprueben si han sido notificados en cualquier mensaje en su Bandeja de entrada. Los usuarios pueden encontrar detalles de cada mención en un mensaje. También pueden eliminar una mención en un mensaje.
Crear menciones en un nuevo mensaje
Obtener información sobre menciones en un mensaje
- Obtener todos los mensajes que mencionan al usuario que ha iniciado sesión
- Obtener detalles de cada mención en un mensaje
Eliminar una mención en un mensaje
Crear y enviar menciones como parte de un nuevo mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Cree y envíe un mensaje proporcionado en el cuerpo de la solicitud que incluya una colección de una o varias instancias de Mention.
Esto utiliza la misma acción SendMail disponible en el recurso Message; Además, incluye la propiedad Mentions como parte del parámetro del cuerpo Message
POST https://outlook.office.com/api/beta/me/sendmail
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de cuerpo | ||
Mensaje | Mensaje | El mensaje que se enviará. |
SaveToSentItems | booleano | Indica si se debe guardar el mensaje en Elementos enviados. El valor predeterminado es True. Necesario solo si es false. |
Especifique el parámetro Message con la propiedad ToRecipients necesaria, la propiedad Mentions y cualquier propiedad messagegrabable en el cuerpo de la solicitud.
Y, por cada mención en la propiedad Mentions, debe especificar las propiedades Mentioned y CreatedBy.
Solicitud de muestra
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"
}
}
]
}
}
Respuesta de muestra
Status code: 202 Accepted
Crear menciones como parte de un borrador
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador de un nuevo mensaje que incluya una colección de una o más instancias de Mention. Puede crear el borrador en cualquier carpeta y, opcionalmente, actualizarlo antes de enviarlo.
Esto utiliza el mismo método POST disponible en el recurso Message; además, incluye su propiedad Mentions en el cuerpo de la solicitud.
POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts . |
Especifica la propiedad Mentions propiedad y cualquier propiedad message grabable en el cuerpo de la solicitud.
Y, por cada mención en la propiedad Mentions, debe especificar las propiedades Mentioned y CreatedBy.
Tipo de respuesta
El borrador.
Solicitud de muestra
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"
}
}
]
}
Respuesta de muestra
A continuación, se muestra el borrador creado.
Nota
El objeto de respuesta que aparece aquí esté truncado para abreviarlo. Todas las propiedades se devolverán desde una llamada 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
}
]
}
Obtener todos los mensajes que mencionan al usuario que ha iniciado sesión
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga todos los mensajes en el buzón del usuario que ha iniciado sesión, o en la carpeta especificada, que contienen una propiedad Mention de este usuario.
Esto utiliza el mismo método GET disponible en el recurso Message; Además, incluye un parámetro de consulta $filter
en la propiedad MentionsPreview.
De manera predeterminada, una llamada GET /me/messages
no devuelve la propiedad Mentions. Utilice el $expand
parámetro de consulta para encontrar detalles de cada mención en un mensaje.
Nota
Asegúrese de que su llamada real codifique correctamente los caracteres de espacio en la cadena del 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 obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts . |
Tipo de respuesta
La colección de mensajes solicitada.
Solicitud de muestra
El ejemplo siguiente filtra todos los mensajes del buzón del usuario que ha iniciado sesión a aquellos que mencionan al usuario. Utiliza $select
para devolver un subconjunto de las propiedades de cada mensaje en la respuesta. También incorpora la codificación URL para los caracteres de espacio en la cadena del parámetro de consulta.
GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview
Respuesta de muestra
La respuesta contiene 2 mensajes que mencionan al usuario que ha iniciado sesión.
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
}
}
]
}
Obtener detalles de cada mención en un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga un mensaje con los detalles de cada Mention en el mensaje expandido
Esto utiliza el mismo método GET disponible en el recurso Message; además, incluye un parámetro de consulta $expand
en la propiedad de navegación Mentions.
GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | El Id. del mensaje solicitado. |
Tipo de respuesta
El mensaje solicitado.
Solicitud de muestra
En el siguiente ejemplo, el usuario que ha iniciado sesión es Dana Swope. El ejemplo muestra cómo obtener los detalles de todas las menciones en el mensaje especificado en el buzón de Dana.
GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions
Respuesta de muestra
A continuación, se muestra el mensaje solicitado, incluidos los detalles de cada mención en la propiedad Mentions. Este mensaje incluye 2 menciones, una para el usuario que ha iniciado sesión, Dana, y la otra para Randi Welch.
Nota
El objeto de respuesta que se muestra aquí se trunca por razones de brevedad para centrarnos en las propiedades relacionadas con el soporte de propiedad 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
}
]
}
Eliminar una mención
Ámbito mínimo necesario
Uno de los siguientes:
Elimina la mención especificada en el mensaje especificado en el buzón del usuario que ha iniciado sesión.
DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
mention_id | cadena | El Id. de la mención a eliminar. |
id_mensaje | cadena | El Id. del mensaje que contiene la mención. |
Solicitud de muestra
DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')
Respuesta de muestra
Status code: 204 No Content
Administrar reglas (versión preliminar)
En Outlook, puede configurar reglas para los mensajes entrantes en la Bandeja de entrada para llevar a cabo acciones específicas en determinadas condiciones.
Mediante programación, tiene acceso a las reglas mediante la propiedad de navegación messageRules de la carpeta Bandeja de entrada. Cada regla se representa mediante el recurso MessageRule, las acciones de regla disponibles se representan mediante el tipo complejo MessageRuleActions y las condiciones y excepciones de regla disponibles se representan mediante el tipo complejo MessageRulePredicates.
Crear reglas (versión preliminar)
Ámbito mínimo necesario
Cree una regla especificando un conjunto de condiciones y acciones. Outlook lleva a cabo esas acciones si un mensaje entrante en la Bandeja de entrada del usuario cumple las condiciones especificadas.
POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Los siguientes son parámetros del cuerpo que se suelen utilizar al crear reglas; puede especificar cualquier otra propiedad MessageRule grabable, según corresponda en el cuerpo de la solicitud.
Parámetros de cuerpo | Tipo | Descripción |
---|---|---|
Acciones | MessageRuleActions | Acciones que se van a realizar en un mensaje cuando las condiciones correspondientes, si las hubiera, se cumplan. Necesario. |
Condiciones | MessageRulePredicates | Condiciones que, cuando se cumplan, activarán las acciones correspondientes a esa regla. Opcional. |
DisplayName | Cadena | Nombre para mostrar de la regla. Necesario. |
Excepciones | MessageRulePredicates | Representa las condiciones de excepción de la regla. Opcional. |
IsEnabled | Booleano | Indica si la regla está habilitada para que se aplique a los mensajes. Opcional. |
Secuencia | Int32 | Indica el orden en que se ejecuta la regla entre otras reglas. Necesario. |
Solicitud de muestra
La siguiente regla reenvía un mensaje entrante a Alex Wilbur si el nombre del remitente incluye el término "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
}
}
Respuesta de muestra
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"
}
}
]
}
}
Obtener reglas (versión preliminar)
Ámbito mínimo necesario
Puede obtener todas las reglas definidas para la Bandeja de entrada del usuario u obtener una regla determinada especificando su Id.
Obtener todas las reglas para una Bandeja de entrada
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Respuesta de muestra
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"
}
}
]
}
}
]
}
Obtener una regla específica
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL | Tipo | Descripción |
---|---|---|
rule_id | Cadena | El Id. de la regla a obtener. |
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Respuesta de muestra
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"
}
}
]
}
}
Actualizar reglas (versión preliminar)
Ámbito mínimo necesario
Cambie las propiedades grabables en una regla y guarde los cambios.
PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL | Tipo | Descripción |
---|---|---|
rule_id | Cadena | El Id. de la regla a actualizar. |
Solicitud de muestra
En el ejemplo siguiente se cambia el nombre de la regla, y las acciones que se realizan para esa regla en el último ejemplo, desde reenviarla a una dirección hasta marcar su importancia 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"
}
}
Respuesta de muestra
Status code: 200 OK
{
"Id":"AQAAAJ5dZqA=",
"DisplayName":"Important from partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"MarkImportance": "High"
}
}
Eliminar reglas (versión preliminar)
Ámbito mínimo necesario
Elimine la regla especificada.
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL | Tipo | Descripción |
---|---|---|
rule_id | Cadena | Id. de la regla a eliminar. |
Solicitud de muestra
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')
Respuesta de muestra
Status code: 204 No Content
Cancelar suscripción (versión preliminar)
Ámbito mínimo necesario
Uno de los siguientes:
Envía una solicitud por correo electrónico en nombre del usuario que ha iniciado sesión para cancelar su suscripción de una lista de distribución de correo electrónico. Utiliza la información del encabezado List-Unsubscribe
.
POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. del borrador que se enviará. |
Los remitentes de mensajes pueden utilizar listas de correo más fácilmente si incluyen la opción para que los destinatarios opten por no participar. Para ello, deben especificar el encabezado List-Unsubscribe
en cada mensaje que aparece después de a RFC-2369.
Nota
En concreto, para que la acción Cancelar suscripción funcione, el remitente debe especificar mailto:
y no información de cancelación de suscripción basada en URL.
Si se establece ese encabezado también se establecería la propiedad UnsubscribeEnabled de la instancia Message en true
, y la propiedad UnsubscribeData en los datos del encabezado.
Si la propiedad UnsubscribeEnabled de un mensaje es true
, puede utilizar la acción Cancelar suscripción para cancelar la suscripción del usuario de mensajes similares futuros administrados por el remitente del mensaje.
Una acción Cancelar suscripción correcta mueve el mensaje a la carpeta Elementos eliminados. La exclusión real del usuario de la distribución futura de correo la administra el remitente.
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe
Respuesta de muestra
Status code: 202 Accepted
Obtener opciones de idioma (versión preliminar)
Ámbito mínimo necesario
Uno de los siguientes:
Obtener una lista de idiomas y configuraciones regionales compatibles con el usuario, según la configuración del servidor de buzones del usuario.
El idioma preferido del usuario se selecciona de esta lista compatible. Puede obtener el idioma preferido obteniendo la configuración del buzón del usuario.
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Tipo de respuesta
Colección de LocaleInfo.
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Respuesta de muestra
El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.
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)"
}
]
}
Obtener opciones de zona horaria (versión preliminar)
Ámbito mínimo necesario
Uno de los siguientes:
Obtener la lista de zonas horarias compatibles con el usuario, según la configuración del servidor de buzones del usuario.
Opcionalmente, puede especificarse que las zonas horarias se devuelvan en el formato de zona horaria de Windows o el formato de zona horaria Internet Assigned Numbers Authority (IANA) (también conocida como "zona horaria Olson"). Si no especifica ningún formato, las zonas horarias se revuelven en el formato de zona horaria de Windows.
El idioma preferido del usuario se selecciona de esta lista compatible. Puede obtener la zona horaria preferida obteniendo la configuración del buzón del usuario.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Parámetro opcional | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
timezone_format | TimeZoneStandard | Formato de una zona horaria. Los valores admitidos son: Windows y Iana . |
Tipo de respuesta
Colección de TimeZoneInformation.
Solicitud de muestra
El siguiente ejemplo obtiene la lista de zonas horarias admitidas para el usuario con sesión iniciada en formato Windows.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')
Respuesta de muestra
El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.
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"
}
]
}
Solicitud de muestra
El siguiente ejemplo obtiene la lista de zonas horarias compatibles en formato IANA.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')
Respuesta de muestra
El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.
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"
}
]
}
Obtener configuración del buzón
Ámbito mínimo necesario
Obtenga la configuración para el buzón principal del usuario. Los ejemplos de configuración incluyen el idioma preferido del usuario y la zona horaria predeterminada, y cualquier configuración de respuesta automática.
El idioma y la zona horaria preferidos del usuario se encuentran entre las opciones con las que se ha configurado el servidor de buzones. Puede obtener las listas de estos idiomas admitidos y las zonas horarias admitidas para el usuario.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Tipo de respuesta
Para obtener solo la configuración de idioma preferida entre todas las configuraciones de buzones:
GET https://outlook.office.com/api/beta/me/MailboxSettings/Language
Tipo de respuesta
Para obtener solo la configuración de zona horaria preferida entre todas las configuraciones de buzones:
GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone
Tipo de respuesta
Una cadena que representa la zona horaria preferida en el formato de zona horaria de Windows.
También puede obtener específicamente la configuración de respuesta automática.
Solicitud de muestra
El siguiente ejemplo obtiene todas las configuraciones del buzón para el usuario que ha iniciado sesión.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Respuesta de muestra
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)"
}
}
Obtener la configuración de respuesta automática
Ámbito mínimo necesario
Obtenga la configuración de respuesta automática del buzón del usuario que ha iniciado sesión.
Las respuestas automáticas le permiten notificar automáticamente a las personas con un mensaje cuando les envían un correo electrónico. Por ejemplo, puede notificarles cuando no está disponible y no les puede responder.
Dado que las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa mediante MailboxSettings), puede ver la configuración de respuestas automáticas obteniendo todas las configuraciones del buzón, que incluyen configuraciones de respuestas automáticas, u obteniendo específicamente la configuración de respuestas automáticas.
Puede utilizar el encabezado HTTP Prefer: outlook.timezone
para especificar la zona horaria preferida para mostrar los valores ScheduledStartDateTime y ScheduledEndDateTime.
GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting
Tipo de respuesta
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting
Respuesta de muestra
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"
}
Actualizar la configuración de respuesta automática
Ámbito mínimo necesario
Las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa MailboxSettings) Puede habilitar, configurar o inhabilitar respuestas automáticas actualizando la configuración de buzón correspondiente.
Nota
No puede crear ni eliminar ninguna configuración del buzón.
PATCH https://outlook.office.com/api/beta/me/MailboxSettings
Tipo de respuesta
Solicitud de muestra
Siguiendo el ejemplo anterior de obtener la configuración de respuestas automáticas, el siguiente ejemplo cambia el Estado de AlwaysEnabled
a Scheduled
y las fechas de inicio y finalización a un intervalo de fechas distinto.
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"
}
}
}
Respuesta de muestra
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)"
}
}
Obtener sugerencias de correo electrónico (versión preliminar)
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga las sugerencias de correo electrónico de uno o más destinatarios como disponibles para el usuario que ha iniciado sesión. Tenga en cuenta que esto se lleva a cabo como una operación POST para la acción GetMailTips.
POST https://outlook.office.com/api/beta/me/GetMailTips
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de cuerpo | ||
EmailAddresses | Collection(String) | Una colección de direcciones SMTP de destinatarios de las que obtener sugerencias de correo electrónico. |
MailTipsOptions | MailTipsType | Los tipos de sugerencias de correo electrónico a obtener para los destinatarios especificados. |
Tipo de respuesta
Colección de sugerencias de correo electrónico.
Solicitud de muestra
El siguiente ejemplo obtiene sugerencias de correo electrónico para los destinatarios especificados, para cualquier configuración de respuesta automática y estado completo del buzón.
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"
}
Respuesta de muestra
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
}
]
}
Obtener datos adjuntos
Puede obtener una colección de datos adjuntos o recibir datos adjuntos.
Recibir una recopilación de datos adjuntos
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga los datos adjuntos de un mensaje determinado.
GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
Nota
De forma predeterminada, cada elemento de datos adjuntos en la respuesta incluye todas sus propiedades correspondientes a ese tipo de datos adjuntos. Utilice $select
para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Tipo de respuesta
Una recopilación de datos adjuntos que puede ser del tipo FileAttachment, ItemAttachment o ReferenceAttachment.
Ejemplo de solicitudes y respuestas
El siguiente ejemplo muestra cómo utilizar $select
para especificar que se devuelva solo la propiedad Nombre de cada archivo adjunto en la respuesta. Consulte la respuesta de ejemplo en Obtener datos adjuntos para obtener una lista completa de las propiedades que se devolverían para datos adjuntos si no se utiliza $select
.
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name
Respuesta de muestra
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"
}
]
}
El siguiente ejemplo muestra cómo obtener el único elemento de datos adjunto que es un elemento de correo de Outlook. La respuesta incluye un Id. de datos adjuntos que también es el Id. del mensaje adjunto.
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",
}
]
}
Recibir datos adjuntos
Ámbito mínimo necesario
Uno de los siguientes:
Obtener datos adjuntos de un mensaje determinado.
GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Nota
Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
attachment_id | cadena | El identificador de los datos adjuntos. |
Nota
De forma predeterminada, la respuesta incluye todas las propiedades de los datos adjuntos. Utilice $select
para especificar solo las propiedades que necesita para un mejor rendimiento. Consulte Obtener una colección de datos adjuntos para ver un ejemplo. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Tipo de respuesta
El archivo adjunto, elemento adjunto o referencia adjunta solicitado.
Ejemplo de solicitud (archivo adjunto)
El siguiente ejemplo obtiene el archivo adjunto a un mensaje específico.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=
Respuesta de muestra
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="
}
Ejemplo de solicitud (referencia adjunta)
El siguiente ejemplo obtiene la referencia adjunta de un mensaje.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=
Respuesta de muestra
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
}
Ejemplo de solicitud ($expand en datos adjuntos)
El siguiente ejemplo obtiene y expande las 3 referencias adjuntas insertadas en las propiedades del mensaje.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments
Respuesta de muestra
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
}
]
}
Ejemplo de solicitud ($expand en elementos adjuntos anidados)
El siguiente ejemplo recibe un elemento adjunto anidado.
GET https://outlook-sdf.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Respuesta de muestra
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",
}
}
Crear adjuntos
Puede crear un archivo adjunto o crear un elemento adjunto para un mensaje
Crear un archivo adjunto
Ámbito mínimo necesario
Uno de los siguientes:
Agregue un archivo adjunto a un mensaje.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
Parámetros de cuerpo | ||
@odata.type | cadena | #Microsoft.OutlookServices.FileAttachment |
Nombre | cadena | El nombre de los datos adjuntos. |
ContentBytes | binario | El archivo a adjuntar. |
Especifique los parámetros Name y ContentBytes y cualquier propiedad file attachment grabable en el cuerpo de la solicitud.
Tipo de respuesta
El nuevo archivo adjunto.
Crear un elemento adjunto
Ámbito mínimo necesario
Uno de los siguientes:
Agregue un elemento adjunto a un mensaje.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
Parámetros de cuerpo | ||
@odata.type | cadena | #Microsoft.OutlookServices.ItemAttachment |
Nombre | cadena | El nombre de los datos adjuntos. |
Artículo | Una entidadMessage o Event. | El elemento a adjuntar. |
Especifique los parámetros Name e Item y cualquier propiedad iteme attachment grabable en el cuerpo de la solicitud.
Tipo de respuesta
El nuevo elemento adjunto.
Crear una referencia adjunta
Ámbito mínimo necesario
Uno de los siguientes:
Agregue una referencia adjunta a un mensaje.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | Cadena | Id. de mensaje. |
Parámetros de cuerpo | ||
@odata.type | Cadena | #Microsoft.OutlookServices.ReferenceAttachment |
Nombre | Cadena | Nombre para mostrar de los datos adjuntos. Necesario. |
SourceUrl | Cadena | URL para obtener el contenido del archivo adjunto. Si se trata de una URL a una carpeta, para que la carpeta se muestre correctamente en Outlook o Outlook en la web, configure IsFolder en true. Necesario. |
Especifique los parámetros Name y SourceUrl y cualquier parámetro reference attachment grabable en el cuerpo de la solicitud.
Tipo de respuesta
Solicitud de muestra
El siguiente ejemplo agrega una referencia adjunta a un mensaje existente. Los datos adjuntos son un vínculo a un archivo en OneDrive para la Empresa.
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"
}
Respuesta de muestra
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
}
Solicitud de muestra
El siguiente ejemplo agrega una referencia adjunta en la misma llamada que la creación de un borrador. Los datos adjuntos son un vínculo a un archivo en OneDrive para la Empresa.
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"
}
]
}
Respuesta de muestra
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
}
]
}
Eliminar archivos adjuntos
Ámbito mínimo necesario
Uno de los siguientes:
Elimine los datos adjuntos especificados de un mensaje. Los datos adjuntos pueden ser un archivo adjunto, elemento adjunto o referencia adjunta.
DELETE https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
id_mensaje | cadena | Id. de mensaje. |
attachment_id | cadena | El identificador de los datos adjuntos. |
Solicitud de muestra
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=
Respuesta de muestra
Status code: 204
Obtener carpetas
Puede obtener una colección de carpetas u obtener una carpeta del buzón del usuario.
Obtener una colección de carpetas
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga todas las carpetas de correo del buzón del usuario que ha iniciado sesión (.../me/MailFolders
), u obtenga la colección de carpetas en la carpeta especificada.
GET https://outlook.office.com/api/beta/me/MailFolders
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Nota
Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems , si recibe mensajes de una carpeta específica. |
Solicitud de muestra
GET https://outlook.office.com/api/beta/me/MailFolders
Respuesta de muestra
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 respuesta
La colección de carpetas solicitada.
Obtener una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga una carpeta por Id.
Obtenga la carpeta del usuario que ha iniciado sesión:
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Obtenga una carpeta de buzón compartida por un usuario:
GET https://outlook.office.com/api/beta/users/{user_id}/mailFolders/{folder_id}
Nota
Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
Obtener la bandeja de entrada del usuario que ha iniciado sesión
GET https://outlook.office.com/api/beta/me/MailFolders/inbox
Respuesta de muestra
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"
}
Solicitud de muestra
Obtener una carpeta compartida por otro usuario
GET https://outlook.office.com/api/beta/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM
Respuesta de muestra
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 respuesta
La carpeta solicitada.
Sincronizar jerarquía de carpetas
Puede obtener una tabla plana de todas las carpetas de un buzón. Cuando sincronice una jerarquía de carpetas de correo, solicite esta categoría.
Punto de conexión | Categoría de carpeta |
---|---|
Me/MailFolders | Carpetas de correo |
Solo puede sincronizar el nivel superior de cada categoría de carpeta. Por ejemplo, puede solicitar Me/MailFolders pero no Me/MailFolders ('inbox').
La sincronización admite tanto la sincronización completa, que recupera todas las carpetas de una jerarquía, como la sincronización incremental,que recupera todas las carpetas que han cambiado desde la última sincronización completa.
Ámbito mínimo necesario
Uno de los siguientes:
GET https://outlook.office.com/api/beta/me/MailFolders
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetro de encabezado | ||
Prefer | odata.trackchanges | Indica que la solicitud es una solicitud de sincronización. |
Parámetros de cuerpo | ||
odata.deltaLink | cadena | El token que indica la última vez que se sincronizó la jerarquía de carpetas. |
Si alguno de los siguientes parámetros de consulta están incluidos en la solicitud, se ignoran: $filter
, $orderby
, $search
, $top
.
Tipo de respuesta
Una lista plana de las carpetas en la categoría solicitada.
Crear carpetas
Agregue una nueva carpeta a una colección de carpetas.
Crear una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Cree una carpeta secundaria por el nombre especificado en DisplayName. DisplayName es la única propiedad grabable para un carpeta.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DisplayName | cadena | Nombre para mostrar de la carpeta. |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/MailFolders/inbox/childfolders
Content-Type: application/json
{
"DisplayName": "Company"
}
Respuesta de muestra
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 respuesta
La nueva carpeta.
Comentarios
No puede crear una carpeta de nivel superior. Solo puede agregar una carpeta a un extremo childfolders
.
Actualizar carpetas
Cambie el nombre de una carpeta.
Actualizar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Cambie el nombre de la carpeta al nombre especificado en DisplayName. El nombre es la única propiedad grabable para una carpeta.
PATCH https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DisplayName | cadena | El nuevo nombre para mostrar de la carpeta. |
Solicitud de muestra
PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
"DisplayName": "Business"
}
Respuesta de muestra
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 respuesta
La carpeta actualizada.
Eliminar carpetas
Elimine una carpeta y todo su contenido.
Nota
Tenga cuidado al eliminar carpetas. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.
Eliminar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Elimine la carpeta especificada en folder_id.
DELETE https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
DELETE https://outlook.office.com/api/BETA/me/MailFolders/AAMkAGE0Mz-l_AAA=
Respuesta de muestra
Status code: 204
Mover o copiar carpetas
Puede mover o copiar una carpeta a otra carpeta.
Mover una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Mueva una carpeta y su contenido a otra carpeta mediante el método Move.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/move
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGE0MyxQ9AAA="
}
Respuesta de muestra
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 respuesta
La carpeta se ha movido.
Copiar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Copie una carpeta y su contenido a otra carpeta mediante el método Copy.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Respuesta de muestra
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 respuesta
La nueva copia de la carpeta.
Pasos siguientes
Tanto si está listo para empezar a compilar una aplicación como si simplemente desea obtener más información, tenemos todo lo que necesita.
- Comience con las API REST de correo, calendario y contactos.
- ¿Desea ver ejemplos? Los tenemos.
O bien, obtenga más información sobre el uso de la plataforma de Office 365:
- API REST de Outlook en el Centro de desarrollo de Outlook
- Información general del desarrollo en la plataforma de Office 365
- Autenticación de aplicaciones y autorización de recursos de Office 365
- Registre manualmente su aplicación con Azure AD para poder acceder a las API de Office 365
- Referencia de la API de calendario
- Referencia de la API de contactos
- API REST de tareas (versión preliminar)
- API de OneDrive
- Referencia de operaciones de la API REST del Servicio de detección
- Referencia de recursos para las API REST de correo, calendario, contactos y tareas