Referencia de API de REST de correo de Outlook (versión 2.0)

Se aplica a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

La API de correo de Outlook le permite leer, crear y enviar mensajes y archivos adjuntos, ver y responder a mensajes de eventos y administrar carpetas que están protegidas por Azure Active Directory en Office 365. También proporciona la misma funcionalidad en las cuentas Microsoft, específicamente en estos dominios: Hotmail.com, Live.com, MSN.com, Outlook.com y Passport.com.

Nota

Para simplificar la referencia, en el resto de este artículo se utiliza Outlook.com para englobar a estos dominios de cuentas Microsoft.

¿No está interesado en la versión 2.0 de la API? En el índice de la izquierda, vaya a la sección 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 es especificada por un identificador o nombre de una carpeta conocida como Inbox, Drafts, SentItems, o DeletedItems.

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.

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 devuelva 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/v2.0/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/v2.0/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/v2.0/me/MailFolders/sentitems/messages/?$select=Sender,Subject

Respuesta de muestra

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
            "Id": "AAMkAGI2TIzAAAA=",
            "Subject": "Meeting Notes",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
            "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
            "Id": "AAMkAGI2TIy-AAA=",
            "Subject": "Contract Signing",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.type": "#Microsoft.OutlookServices.EventMessage",
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
            "@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
            "Id": "AAMkAGI2TIy9AAA=",
            "Subject": "Rob:Alex 1:1",
            "Sender": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Tipo de respuesta

La colección de mensajes solicitada.

Obtener un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Obtener un mensaje por Id.

GET https://outlook.office.com/api/v2.0/me/messages/{message_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. de mensaje.

Solicitud de muestra

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

Respuesta de muestra

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
    "Id": "AAMkAGI2THVSAAA=",
    "CreatedDateTime": "2014-10-20T00:41:57Z",
    "LastModifiedDateTime": "2014-10-20T00:41:57Z",
    "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
    "Categories": [],
    "ReceivedDateTime": "2014-10-20T00:41:57Z",
    "SentDateTime": "2014-10-20T00:41:53Z",
    "HasAttachments": true,
    "Subject": "Re: Meeting Notes",
    "Body": {
        "ContentType": "Text",
        "Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
    },
    "BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
    "Importance": "Normal",
    "ParentFolderId": "AAMkAGI2AAEMAAA=",
    "Sender": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Katie Jordan",
            "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Alex D",
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "ConversationId": "AAQkAGI2yEto=",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": false,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}

Tipo de 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/v2.0/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.

A continuación se muestra una ronda típica de sincronización de mensajes:

  1. 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.)

  2. Si la primera respuesta devuelve el encabezado Preference-Applied: odata.track-changes, puede continuar con la sincronización de la carpeta.

  3. 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.

  4. 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:

  1. 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.

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

Segunda solicitud, o primera solicitud de una ronda posterior

GET https://outlook.office365.com/api/v2.0/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/v2.0/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parámetros Tipo Descripción
Parámetros del encabezado
Preferido odata.track-changes Indica que la solicitud es una solicitud de sincronización. Necesario para las primeras 2 solicitudes GET de una ronda.
Preferido 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 y deltaToken.
  • La segunda solicitud utiliza ese deltaToken. La segunda respuesta devuelve 2 mensajes, un nextLink y skipToken.
  • 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 un deltaLink y deltaToken, en cuyo caso esta ronda de sincronización se ha completado. Guarde el deltaToken para la próxima ronda de sincronización.

Solicitud inicial de ejemplo

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
      "Id":"AAMkAGI5MAAAwXADPAAA=",
      "Subject":"Updates from All Company",
      "Sender":{
        "EmailAddress":{
          "Name":"Contoso Demo on Yammer",
          "Address":"noreply@yammer.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
      "Id":"AAMkAGI5MAAAwXADVAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Alex Darrow",
          "Address":"AlexD@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}

Segunda solicitud de ejemplo

La segunda solicitud especifica el deltaToken devuelto en la respuesta anterior.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
      "Id":"AAMkAGI5MAAAwXADQAAA=",
      "Subject":"International Launch Planning for XT2000",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
      "Id":"AAMkAGI5MAAAwXADUAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Anne Wallace",
          "Address":"AnneW@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}

Tercera solicitud de ejemplo

La tercera solicitud incluye el skipToken devuelto en la respuesta anterior.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
      "Id":"AAMkAGI5MAAAwXADTAAA=",
      "Subject":"RE: Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Pavel Bansky",
          "Address":"PavelB@contoso.onmicrosoft.com"
        }
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
      "Id":"AAMkAGI5MAAAwXADSAAA=",
      "Subject":"Latin American Ad Campaign - XT Series",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}

Ejemplo de cuarta solicitud

La cuarta solicitud incluye el skipToken de la respuesta anterior.

GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2

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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
      "@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
      "Id":"AAMkAGI5MAAAwXADRAAA=",
      "Subject":"Data sheets for the XT2000 ",
      "Sender":{
        "EmailAddress":{
          "Name":"Engineering",
          "Address":"engineering@contoso.onmicrosoft.com"
        }
      }
    }
  ],
  "@odata.deltaLink": "https://outlook.office365.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

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/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

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/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
  "value": [
        {
            "id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
            "reason": "deleted"
        }
    ]
,
  "@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}

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/v2.0/me/sendmail
Parámetro obligatorio Tipo Descripción
Parámetros de cuerpo
Mensaje Mensaje El mensaje que se enviará.
SaveToSentItems valor 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/v2.0/me/sendmail

{
  "Message": {
    "Subject": "Meet for lunch?",
    "Body": {
      "ContentType": "Text",
      "Content": "The new cafeteria is open."
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
        "Name": "menu.txt",
        "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
      }
    ]
  },
  "SaveToSentItems": "false"
}

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/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/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 Inbox nombre de la carpeta conocida o Drafts.

Especifique cualquier propiedad message grabable en el cuerpo de la solicitud.

Solicitud de muestra

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

{
  "Subject": "Did you see last night's game?",
  "Importance": "Low",
  "Body": {
    "ContentType": "HTML",
    "Content": "They were <b>awesome</b>!"
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
      }
    }
  ]
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
  "Id": "AAMkAGE0Mz7k0AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
  "Categories": [],
  "CreatedDateTime": "2014-10-18T20:06:51Z",
  "LastModifiedDateTime": "2014-10-18T20:06:51Z",
  "Subject": "Did you see last night's game?",
  "BodyPreview": "They were awesome!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Low",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEPAAA=",
  "From": null,
  "Sender": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mpv2hisc=",
  "ReceivedDateTime": "2014-10-18T20:06:51Z",
  "SentDateTime": "2014-10-18T20:06:51Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": true,
  "IsRead": true
}

Tipo de 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/v2.0/me/messages/{message_id}/send
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del borrador que se enviará.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/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 con un comentario al momento, o puede primero crear un borrador de respuesta, luego actualizar y enviar el borrador.

Puede responder solo al remitente del mensaje o responder a todos los destinatarios a la vez.

Responder al remitente al momento

Ámbito mínimo necesario

Uno de los siguientes:

Responda al remitente de un mensaje especificando un comentario y mediante el método Reply. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, si necesita modificar alguna propiedad actualizable para la respuesta, puede en primer lugar crear un borrador Responder, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/reply
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del mensaje que se va a responder.
Parámetros de cuerpo
Comentario cadena Comentario que se va a incluir. Puede ser una cadena vacía.

Solicitud de muestra

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

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

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 mediante el método ReplyAll. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, si necesita modificar alguna propiedad actualizable para la respuesta, puede en primer lugar crear un borrador Responder a todos, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/replyall
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del mensaje que se va a responder.
Parámetros de cuerpo
Comentario cadena Comentario que se va a incluir. Puede ser una cadena vacía.

Solicitud de muestra

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

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

Respuesta de muestra

Status code: 202

Crear un mensaje de respuesta en borrador

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador para responder al mensaje especificado. A continuación, puede actualizar el borrador para agregar el contenido de la respuesta a la propiedad body o cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreply
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del mensaje que se va a responder.

Solicitud de muestra

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

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
  "Id": "AAMkADA1MTAAAH5JKoAAA=",
  "CreatedDateTime": "2016-03-15T08:33:43Z",
  "LastModifiedDateTime": "2016-03-15T08:33:43Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:33:43Z",
  "SentDateTime": "2016-03-15T08:33:43Z",
  "HasAttachments": false,
  "InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
  },
  "BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Tipo de 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 para responder al remitente y a todos los destinatarios del mensaje especificado. Después, puede actualizar el borrador para agregar el contenido de la respuesta al cuerpo, cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreplyall
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del mensaje que se va a responder.

Solicitud de muestra

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

Respuesta de muestra

Status code: 201

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

Tipo de 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 reenviar un mensaje directamente, o puede crear un borrador para reenviar, actualizarlo y a continuación enviarlo.

Reenviar un mensaje directamente

Ámbito mínimo necesario

Uno de los siguientes:

Reenvíe un mensaje mediante el método Forward y, opcionalmente, especificando un comentario. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, si necesita modificar alguna propiedad actualizable en el mensaje que se reenviará, primero puede crear un borrador Reenviar, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/forward
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena El Id. del mensaje a reenviar.
Parámetros de cuerpo
Comentario cadena Comentario que se va a incluir. Puede ser una cadena vacía.
ToRecipients Colección(destinatario) La lista de destinatarios.

Especifque los parámetros Comment y ToRecipients en el cuerpo de la solicitud.

Solicitud de muestra

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

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

Respuesta de muestra

Status code: 202

Crear un borrador para reenviar

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador para reenviar el mensaje especificado. A continuación, puede actualizar el borrador para agregar contenido al cuerpo, cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.

POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createforward
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena El Id. del mensaje a reenviar.

Solicitud de muestra

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

Respuesta de muestra

Status code: 201

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

Tipo de 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/v2.0/me/messages/{message_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena El Id. del mensaje que se va a actualizar.

Especifique una o varias propiedades message grabables en el cuerpo de la solicitud.

Solicitud de muestra

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

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

Respuesta de muestra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
  "Id": "AAMkAGE0Mz8S-AAA=",
  "ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "CreatedDateTime": "2014-10-17T17:12:15Z",
  "LastModifiedDateTime": "2014-10-19T03:24:35Z",
  "Subject": "Meeting notes from today",
  "BodyPreview": "See attached",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n...</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": true,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGE0Mip-qvhs=",
  "ReceivedDateTime": "2014-10-17T17:12:15Z",
  "SentDateTime": "2014-10-17T17:12:12Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Tipo de 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/v2.0/me/messages/{message_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. del mensaje que se va a eliminar.

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/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/v2.0/me/messages/{message_id}/move
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id 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/v2.0/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
  "@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
  "Id": "AAMkAGI2shBhAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGI2AAEJAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGWgitxag=",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Tipo de 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/v2.0/me/messages/{message_id}/copy
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id 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/v2.0/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
  "@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
  "Id": "AAMkAGI2T8DtAAA=",
  "ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
  "Categories": [],
  "CreatedDateTime": "2014-10-20T00:13:21Z",
  "LastModifiedDateTime": "2014-10-20T00:13:23Z",
  "Subject": "Contract Signing",
  "BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
  "Body": {
    "ContentType": "Text",
    "Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "From": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "Sender": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Alex D"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Katie Jordan"
      }
    },
    {
      "EmailAddress": {
        "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Garth Fort"
      }
    }
  ],
  "CcRecipients": [],
  "BccRecipients": [],
  "ReplyTo": [],
  "ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
  "ReceivedDateTime": "2014-10-20T00:13:21Z",
  "SentDateTime": "2014-10-20T00:13:21Z",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsDraft": false,
  "IsRead": true
}

Tipo de 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

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

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/messages('{message_id}')
Parámetro Tipo Descripción
Parámetros de dirección URL
message_id 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/v2.0/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/v2.0/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
    "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
    "Id": "AAMkADA1MTQBAAA=",
    "Importance": "Normal",
    "Sender": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Admin",
                "Address": "admin@adatum.onmicrosoft.com"
            }
        }
    ],
    "InferenceClassification": "Other"
}

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

POST https://outlook.office.com/api/v2.0/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/v2.0/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/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

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

GET https://outlook.office.com/api/v2.0/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 coleccion 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/v2.0/me/InferenceClassification/Overrides

Respuesta de muestra

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
            "ClassifyAs": "Focused",
            "SenderEmailAddress": {
                "Name": "Fanny Downs",
                "Address": "fannyd@adatum.onmicrosoft.com"
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
            "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
            "ClassifyAs": "Other",
            "SenderEmailAddress": {
                "Name": "Randi Welch",
                "Address": "randiw@adatum.onmicrosoft.com"
            }
        }
    ]
}

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/v2.0/me/InferenceClassification/Overrides('{override_id}')

PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro Tipo 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/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

{
    "ClassifyAs": "Focused"
}

Respuesta de muestra

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
    "Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@adatum.onmicrosoft.com"
    }
}

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/v2.0/me/InferenceClassification/Overrides('{override_id}')

DELETE https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro Tipo 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/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')

Respuesta de muestra

Status code: 204 No Content

Administrar @-Mentions (versión preliminar)

Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

Administrar reglas (versión preliminar)

Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

Cancelar suscripción (versión preliminar)

Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

Obtener opciones de idioma (versión preliminar)

Actualmente, esta característica solo está disponible en la versión beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

Obtener opciones de zona horaria (versión preliminar)

Actualmente, esta característica solo está disponible en la versión beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

Obtener configuración del buzón

Ámbito mínimo necesario

Obtenga la configuración del buzón principal del usuario que ha iniciado sesión. Los ejemplos de configuración incluyen el idioma preferido del usuario y la zona horaria predeterminada, y cualquier configuración de respuesta automática.

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

Tipo de respuesta

MailboxSettings.

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

LocaleInfo.

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/v2.0/me/MailboxSettings

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "All",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-14T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T07:00:00.0000000",
            "TimeZone": "UTC"
        },
        "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
        "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}

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 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/v2.0/me/MailboxSettings/AutomaticRepliesSetting

Tipo de respuesta

AutomaticRepliesSetting.

Solicitud de muestra

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

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
    "Status": "AlwaysEnabled",
    "ExternalAudience": "None",
    "ScheduledStartDateTime": {
        "DateTime": "2016-03-19T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "ScheduledEndDateTime": {
        "DateTime": "2016-03-20T02:00:00.0000000",
        "TimeZone": "UTC"
    },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}

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/v2.0/me/MailboxSettings

Tipo de respuesta

MailboxSettings.

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 Scheduledy las fechas de inicio y finalización a un intervalo de fechas distinto.

PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Content-Type: application/json

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ScheduledStartDateTime": {
          "DateTime": "2016-03-20T18:00:00.0000000",
          "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
          "DateTime": "2016-03-28T18:00:00.0000000",
          "TimeZone": "UTC"
        }
    }
}

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
    "AutomaticRepliesSetting": {
        "Status": "Scheduled",
        "ExternalAudience": "None",
        "ScheduledStartDateTime": {
            "DateTime": "2016-03-20T02:00:00.0000000",
            "TimeZone": "UTC"
        },
        "ScheduledEndDateTime": {
            "DateTime": "2016-03-28T02:00:00.0000000",
            "TimeZone": "UTC"
        },
    "InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
    "ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
    },
    "TimeZone": "Pacific Standard Time",
    "Language":{
        "Locale":"en-US",
        "DisplayName":"English (United States)"
    }
}

Obtener sugerencias de correo electrónico (versión preliminar)

Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.

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/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id 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 o ItemAttachment.

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/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
            "Id": "AAMkAGI2j4kShdM=",
            "Name": "minutes.docx"
        }
    ]
}

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/v2.0/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
  "value": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
      "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
      "Id": "AAMkADFiNTAUhhYuYi0=",
      "Name": "How to retrieve item attachment using Outlook REST API",
      "ContentType": message/rfc822,
      "Size": 71094,
      "IsInline": false,
      "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
  ]
}

Recibir datos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Obtener datos adjuntos de un mensaje determinado.

GET https://outlook.office.com/api/v2.0/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
message_id 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 o elemento adjunto solicitado.

Solicitud de muestra

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

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
    "Id": "AAMkAGI2j4kShdM=",
    "LastModifiedDateTime": "2014-10-20T00:41:52Z",
    "Name": "minutes.docx",
    "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "Size": 11585,
    "IsInline": false,
    "ContentId": null,
    "ContentLocation": null,
    "ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}

Ejemplo de solicitud (referencia adjunta)

El siguiente ejemplo obtiene la referencia adjunta de un mensaje.

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

Respuesta de muestra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "OneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "Edit",
  "IsFolder": false
}

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/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

Respuesta de muestra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
  "CreatedDateTime": "2016-03-08T01:01:57Z",
  "LastModifiedDateTime": "2016-03-12T06:18:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-08T01:01:57Z",
  "SentDateTime": "2016-03-08T01:01:51Z",
  "HasAttachments": true,
  "InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
  "Subject": "RE: New year activity",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
  },
  "BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
  "Importance": "Normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "From": {
    "EmailAddress": {
      "Name": "Dana Swope",
      "Address": "danas@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Name": "Culinary Expert Group",
        "Address": "Chefs@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
  "ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": false,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
      "LastModifiedDateTime": "2016-03-12T05:54:31Z",
      "Name": "Personal pictures",
      "ContentType": null,
      "Size": 362,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": true
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
      "LastModifiedDateTime": "2016-03-12T06:04:38Z",
      "Name": "Koala picture",
      "ContentType": null,
      "Size": 382,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    },
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
      "LastModifiedDateTime": "2016-03-12T06:18:54Z",
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 412,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "OneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

Ejemplo de solicitud ($expand en elementos adjuntos anidados)

El siguiente ejemplo recibe un elemento adjunto anidado.

GET https://outlook-sdf.office.com/api/v2.0/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/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id 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/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. de mensaje.
Parámetros de cuerpo
@odata.type cadena #Microsoft.OutlookServices.ItemAttachment
Nombre cadena El nombre de los datos adjuntos.
Ítem 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/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id 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

La referencia adjunta.

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/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json

{ 
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Koala picture", 
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
} 

Respuesta de muestra

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
  "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
  "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
  "LastModifiedDateTime": "2016-03-12T06:04:38Z",
  "Name": "Koala picture",
  "ContentType": null,
  "Size": 382,
  "IsInline": false,
  "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
  "ProviderType": "oneDriveBusiness",
  "ThumbnailUrl": null,
  "PreviewUrl": null,
  "Permission": "edit",
  "IsFolder": false
}

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/v2.0/me/messages
Content-Type: application/json

{
    "Subject": "Plan for dinner",
    "Body": {
      "ContentType": "HTML",
      "Content": "Office anniversary is coming soon!"
    },
    "ToRecipients": [
      {
        "EmailAddress": {
          "Address": "randiw@contoso.onmicrosoft.com"
        }
      }
    ],
    "Attachments": [
      {
        "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
        "Name": "Hydrangea picture", 
        "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg", 
        "ProviderType": "oneDriveBusiness", 
        "Permission": "Edit", 
        "IsFolder": "False" 
      }
    ]
}

Respuesta de muestra

Status code: 201 Created

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
  "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
  "Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
  "CreatedDateTime": "2016-03-12T09:04:54Z",
  "LastModifiedDateTime": "2016-03-12T09:04:54Z",
  "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-12T09:04:54Z",
  "SentDateTime": "2016-03-12T09:04:54Z",
  "HasAttachments": true,
  "InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
  "Subject": "Plan for dinner",
  "Body": {
    "ContentType": "html",
    "Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Office anniversary is coming soon!",
  "Importance": "normal",
  "ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
  "Sender": null,
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
      "Name": "Randi Welch",
      "address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
  "ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "InferenceClassification": "focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "flagStatus": "notFlagged" },
  "Attachments@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
  "Attachments": [
    {
      "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
      "Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
      "LastModifiedDateTime": null,
      "Name": "Hydrangea picture",
      "ContentType": null,
      "Size": 0,
      "IsInline": false,
      "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
      "ProviderType": "oneDriveBusiness",
      "ThumbnailUrl": null,
      "PreviewUrl": null,
      "Permission": "edit",
      "IsFolder": false
    }
  ]
}

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 oelemento adjunto.

DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
message_id cadena Id. de mensaje.
attachment_id cadena El identificador de los datos adjuntos.

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/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 una colección de carpetas en la carpeta raíz del usuario que ha iniciado sesión (.../me/MailFolders) o en la carpeta especificada. Puede utilizar el acceso directo .../me/MailFolders para obtener la colección de carpetas de nivel superior y navegar a otra carpeta.

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

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
            "Id": "AAMkAGI2AAEKAAA=",
            "DisplayName": "Deleted Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 1
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
            "Id": "AAMkAGI2AAEPAAA=",
            "DisplayName": "Drafts",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
            "Id": "AAMkAGI2AAEMAAA=",
            "DisplayName": "Inbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 6,
            "TotalItemCount": 6
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
            "Id": "AAMkAGI2AAEeAAA=",
            "DisplayName": "Junk Email",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
            "Id": "AAMkAGI2AAELAAA=",
            "DisplayName": "Outbox",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 0
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
            "Id": "AAMkAGI2AAEJAAA=",
            "DisplayName": "Sent Items",
            "ParentFolderId": "AAMkAGI2AAEIAAA=",
            "ChildFolderCount": 0,
            "UnreadItemCount": 0,
            "TotalItemCount": 3
        }
    ]
}

Tipo de respuesta

La colección de carpetas solicitada.

Obtener una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga una carpeta por Id.

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

Obtenga una carpeta de buzón compartida por un usuario:

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

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

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
    "Id": "AAMkAGI2AAEMAAA=",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkAGI2AAEIAAA=",
    "ChildFolderCount": 0,
    "UnreadItemCount": 6,
    "TotalItemCount": 6
}

Solicitud de muestra

Obtener una carpeta compartida por otro usuario:

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

Respuesta de muestra

HTTP/1.1 200 OK

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
    "DisplayName": "Inbox",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
    "ChildFolderCount": 4,
    "UnreadItemCount": 27962,
    "TotalItemCount": 64420
}

Tipo de 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/v2.0/me/MailFolders
Parámetro obligatorio Tipo Descripción
Parámetro de encabezado
Preferido 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/v2.0/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 El nombre para mostrar de la carpeta.

Solicitud de muestra

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

{
  "DisplayName": "Company"
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Company",
  "ChildFolderCount": 0,
  "UnreadItemCount": 2,
  "TotalItemCount": 27
}

Tipo de 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/v2.0/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/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json

{
  "DisplayName": "Business"
}

Respuesta de muestra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Tipo de 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/v2.0/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/v2.0/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/v2.0/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/v2.0/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/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
  "Id": "AAMkAGE0Mz-l_AAA=",
  "ParentFolderId": "AAMkAGE0MyxQ9AAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Tipo de 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.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/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.
POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/MailFolders/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
  "Id": "AAMkAGE0Mz-mAAAA=",
  "ParentFolderId": "AAMkAGE0MAAEMAAA=",
  "DisplayName": "Business",
  "ChildFolderCount": 0,
  "UnreadItemCount": 4,
  "TotalItemCount": 38
}

Tipo de 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.

O bien, obtenga más información sobre el uso de la plataforma de Office 365: