Referencia de la API REST de correo de Outlook (beta)

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

Nota

Esta documentación trata sobre la API para @-mentions, mensajes de cancelar suscripción, respuestas rápidas y opciones de idioma y zona horaria, que actualmente se encuentran en versión preliminar. Las características en versión preliminar pueden cambiar antes de su finalización, y pueden dañar código que las utilice. Por ello, en general, debería utilizar solo una versión de producción de una API en su código de producción. Si está disponible, v2.0 es actualmente la versión preferida.

¿No está interesado en la versión beta de la API? En la tabla de contenido de la izquierda, vaya a la sección de Referencia de la API de REST de Office 365 y seleccione la versión que desee.

Todas las operaciones de la API de correo

Operaciones de mensaje

Los mensajes se almacenan en carpetas de buzones, por lo que los extremos de los mensajes suelen incluir la carpeta que contiene el mensaje. Una carpeta se especifica mediante un Id. o mediante uno de los siguientes nombres de carpeta conocidos: Inbox, Drafts, SentItems o DeletedItems.

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 devolviera el contenido del cuerpo en una respuesta REST.

Para obtener todo el contenido HTML original, incluya el siguiente encabezado de solicitud HTTP:

Prefer: outlook.allow-unsafe-html

Para especificar el formato que desea que se devuelva en las propiedades Body y UniqueBody de una solicitud GET, utilice el encabezado Prefer: outlook.body-content-type:

  • Especifique Prefer: outlook.body-content-type="text" para obtener un cuerpo de mensaje que se devuelva en formato de texto.
  • Especifique Prefer: outlook.body-content-type="html" o simplemente omita el encabezado para que se devuelva el cuerpo del mensaje en formato HTML.

Si especifica cualquiera de los dos encabezados, la respuesta incluirá el encabezado Preference-Applied correspondiente como confirmación:

  • Para las solicitudes de formato de texto: Preference-Applied: outlook.body-content-type="text"
  • Para las solicitudes de formato HTML: Preference-Applied: outlook.body-content-type="html"

Obtener una colección de mensajes

Ámbito mínimo necesario

Uno de los siguientes:

Nota

El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.

Obtenga una colección de mensajes de todo el buzón del usuario que ha iniciado sesión (incluidas las carpetas Elementos eliminados y Otros correos).

GET https://outlook.office.com/api/beta/me/messages

También puede especificar una carpeta en el buzón del usuario y obtener la colección de mensajes de esa carpeta.

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El Id. de carpeta, o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems, si recibe mensajes de una carpeta específica. Si se especifica AllItems, se devolverán todos los mensajes de todo el buzón

Nota

De forma predeterminada, cada mensaje en la respuesta incluye todas sus propiedades. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

El siguiente ejemplo muestra cómo utilizar $select para especificar que se devuelvan solo las propiedades Sender y Subject de cada mensaje en la respuesta. Consulte el ejemplo de respuesta en Obtener un contacto para obtener una lista completa de las propiedades que se devolverían para un contacto si no se utiliza $select.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/MailFolders/sentitems/messages/?$select=Sender,Subject

Respuesta de muestra

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

Tipo de respuesta

La colección de mensajes solicitada.

Obtener un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga un mensaje por Id.

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

Solicitud de muestra

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

Respuesta de muestra

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

Tipo de respuesta

El mensaje solicitado.

Nota

De forma predeterminada, la respuesta incluye todas las propiedades del mensaje especificado. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

El siguiente ejemplo muestra cómo utilizar $select para especificar que se devuelvan solo las propiedades Sender y Subject de cada mensaje en la respuesta.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject

Sincronizar mensajes

Ámbito mínimo necesario

Uno de los siguientes:

Puede sincronizar su almacén de datos local con los mensajes en el servidor. La sincronización de mensajes es una operación por carpeta, por ejemplo, puede sincronizar todos los mensajes en su Bandeja de entrada. Para sincronizar los mensajes en una jerarquía de carpetas, necesita sincronizar cada carpeta individualmente.

La API admite tanto la sincronización completa, que recupera todos los mensajes en una carpeta, como la sincronización incremental, que recupera todos los mensajes que han cambiado desde la última sincronización completa.

La sincronización de una carpeta de correo normalmente requiere dos o más solicitudes GET. La creación de la solicitud GET es muy similar a la de obtener mensajes, excepto que incluye ciertos encabezados de solicitud y un deltaToken o skipToken cuando corresponde.

Encabezados de solicitud

  • Debe especificar el encabezado Prefer: odata.track-changes en todas las solicitudes de sincronización, excepto aquellas que incluyen un skipToken que se devuelve de una solicitud de sincronización anterior. En la primera respuesta, busque el encabezado Preference-Applied: odata.track-changes para confirmar que el recurso admite la sincronización antes de continuar.

  • Puede especificar el encabezado Prefer: odata.maxpagesize = {x} para establecer el número máximo de mensajes que se devuelven en una solicitud.

Esta es una ronda de sincronización de mensajes completa:

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

Segunda solicitud, o primera solicitud de una ronda posterior

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}

Tercera solicitud o solicitud posterior de la misma ronda

Continúe enviando la siguiente solicitud de sincronización si la respuesta anterior incluye un skipToken. Deténgase cuando reciba de nuevo una respuesta que contenga un encabezado @odata.deltaLink con un deltaToken.

GET https://outlook.office365.com/api/beta/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parámetros Tipo Descripción
Parámetros del encabezado
Prefer odata.track-changes Indica que la solicitud es una solicitud de sincronización. Necesario para las primeras 2 solicitudes GET de una ronda.
Prefer odata.maxpagesize Establece el número de mensajes que se devolverán en cada respuesta. Opcional.
Parámetros de dirección URL
folder_id
cadena El Id. de carpeta, o el nombre conocido de carpeta Inbox, Drafts, SentItems o DeletedItems, que se sincronizará. Necesario.
deltaToken Cadena El token que identifica la última solicitud de sincronización para esa carpeta. Se devuelve como parte del valor de @odata.deltaLink en esa respuesta de sincronización anterior. Necesario para la segunda solicitud GET.
skipToken Cadena El token que indica que hay más mensajes para descargar. Necesario si se devuelve como parte del valor de @odata.nextLink en la respuesta de sincronización anterior.

De forma predeterminada, la sincronización devuelve todas las propiedades y todos los mensajes en una carpeta. Utilice una expresión de consulta $select para especificar solo las propiedades que necesita para obtener el mejor rendimiento. La propiedad Id se devuelve siempre.

La sincronización admite las expresiones de consulta $select, $top, $expand. Se admite con limitaciones $filter y $orderby, y no se admite $search.

  • Las únicas expresiones $filter admitidas son "$filter=ReceivedDateTime + ge + {valor}" o "$filter=ReceivedDateTime + gt + {valor}".
  • La única expresión $orderby admitida es "$orderby=ReceivedDateTime+desc". Si no incluye ninguna expresión $orderby, no se garantizará el orden de devolución.

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Tipo de respuesta

Una colección que contiene los mensajes solicitados y un deltaToken o skipToken que utiliza para solicitar páginas adicionales de datos de mensajes del servidor para una sincronización incremental.

Ejemplo

En el ejemplo siguiente se muestra una serie de solicitudes para sincronizar una carpeta específica que contiene 7 mensajes. La primera solicitud de sincronización especifica la devolución de 2 mensajes a la vez (odata.maxpagesize es 2), y solo las propiedades Sender y Subject para cada mensaje

  • La respuesta inicial devuelve 2 mensajes, un deltaLink 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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes

Ejemplo de datos de respuesta inicial

La respuesta inicial incluye un encabezado Preference-Applied: odata.track-changes, lo que indica que esta carpeta admite la sincronización. La respuesta también incluye dos mensajes y un deltaToken.

Preference-Applied: odata.track-changes

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

Segunda solicitud de ejemplo

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

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

Ejemplo de datos de segunda respuesta

La segunda respuesta incluye dos mensajes más y un skipToken, lo que indica que hay más mensajes para sincronizar en la carpeta.

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

Tercera solicitud de ejemplo

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

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

Ejemplo de datos de tercera respuesta

La tercera respuesta devuelve dos mensajes más y otro skipToken, lo que indica que todavía hay mensajes en la carpeta para sincronizar.

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

Ejemplo de cuarta solicitud

La cuarta solicitud incluye el skipToken de la respuesta anterior.

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

Ejemplo de datos de cuarta y última respuesta

La cuarta respuesta devuelve el único mensaje que queda en la carpeta y un deltaToken que indica que la sincronización se ha completado para esta carpeta. Guarde el deltaToken para la próxima ronda de sincronización para esta carpeta.

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

Ejemplo de solicitud de sincronización incremental

La primera solicitud incluye el deltaToken de la última respuesta de sincronización completa.

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

La respuesta a la solicitud de sincronización incremental incluye cualquier cambio del conjunto de mensajes de la carpeta.

Ejemplo de respuesta de sincronización incremental

La respuesta muestra que se ha realizado un cambio en el conjunto de mensajes. Se ha eliminado un mensaje.


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

Crear y enviar mensajes

Puede enviar un nuevo mensaje al momento, o crear un borrador y luego enviarlo. Puede crear borradores en cualquier carpeta.

Enviar un nuevo mensaje al momento

Ámbito mínimo necesario

Uno de los siguientes:

Envíe el mensaje proporcionado en el cuerpo de la solicitud mediante el método SendMail. Puede incluir uno o más archivos adjuntos en la misma llamada de acción especificándolos en la propiedad de colección Attachments. También puede guardar el mensaje en la carpeta Elementos enviados.

POST https://outlook.office.com/api/beta/me/sendmail
Parámetro obligatorio Tipo Descripción
Parámetros de cuerpo
Mensaje Mensaje El mensaje que se enviará.
SaveToSentItems booleano Indica si se debe guardar el mensaje en Elementos enviados. El valor predeterminado es True.

Especifique el parámetro Message con la propiedad ToRecipients necesaria y las propiedades message grabables en el cuerpo de la solicitud. El parámetro SaveToSentItems es necesario solo si es false.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

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

Respuesta de muestra

Status code: 202

Crear un borrador

Ámbito mínimo necesario

Uno de los siguientes:

Crea un borrador de un mensaje nuevo. Los borradores se pueden crear en cualquier carpeta y, opcionalmente, actualizar antes de enviarlos. Para guardar en la carpeta Borradores, use el acceso directo /me/messages.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts.

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

Solicitud de muestra

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

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

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

El borrador.

Enviar un borrador

Ámbito mínimo necesario

Uno de los siguientes:

Envíe un nuevo borrador, un Borrador Responder, un borrador Responder a todos o un borrador Reenviar mediante el me´todo Send. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del borrador que se enviará.

Solicitud de muestra

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

Respuesta de muestra

Status code: 202

Mensaje de Responder o Responder a todos

Nota

El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.

Puede responder a un mensaje, agregar un comentario o actualizar las propiedades de un mensaje, todo en una llamada, o puede crear primero un borrador de respuesta y actualizar las propiedades de cualquier mensaje en una sola llamada, y a continuación enviar el borrador.

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

Responder al remitente al momento

Ámbito mínimo necesario

Uno de los siguientes:

Responda al remitente de un mensaje, agregue un comentario o modifique las propiedades actualizables, todo ello en una sola llamada Responder. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, puede en primer lugar crear un borrador Responder para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar la respuesta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena La id. del mensaje a responder.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
Mensaje Mensaje Cualquier propiedad grabable que se actualizará en el mensaje de respuesta.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y no el destinatario de From.

Solicitud de muestra

El siguiente ejemplo incluye un comentario y agrega un destinatario al mensaje de respuesta.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      },
      {
        "EmailAddress":{
          "Address":"randiw@contoso.onmicrosoft.com",
          "Name":"Randi Welch"
        }
      }
     ]
  },
  "Comment": "Fanny, Randi, would you name the group please?" 
}

Respuesta de muestra

Status code: 202

Responder a todos al momento

Ámbito mínimo necesario

Uno de los siguientes:

Responda a todos los destinatarios de un mensaje especificando un comentario y modificando cualquier propiedad actualizable para la respuesta, todo ello mediante el método ReplyAll. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, puede en primer lugar crear un borrador Responder a todos para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar la respuesta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena La id. del mensaje a responder.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
Mensaje Mensaje Cualquier propiedad grabable a actualizar en el mensaje Responder a todos.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y ToRecipients, y no a los destinatarios de From y ToRecipients.

Solicitud de muestra

El siguiente ejemplo incluye un comentario y agrega un archivo adjunto al mensaje Responder a todos.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/ReplyAll
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "Please take a look at the attached guidelines before you decide on the name." 
}

Respuesta de muestra

Status code: 202

Crear un borrador Responder

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador del mensaje Responder para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateReply. A continuación, puede enviar el borrador.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena La id. del mensaje a responder.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
Mensaje Mensaje Cualquier propiedad grabable que se actualizará en el mensaje de respuesta.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de ReplyTo y no a los destinatarios de From.

Solicitud de muestra

El siguiente ejemplo crea un borrador Responder, y agrega un comentario y un destinatario en el cuerpo de la solicitud.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Content-Type: application/json

{
  "Message":{  
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"fannyd@contoso.onmicrosoft.com",
          "Name":"Fanny Downs"
        }
      }
     ]
  },
  "Comment": "Fanny, would you name the group if the project is approved, please?" 
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

message del borrador Responder con ToRecipient, IsDraft y otras propiedades apropiadas rellenadas previamente.

Crear un borrador Responder a todos

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador Responder a todos para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateReplyAll. A continuación, puede enviar el borrador.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del mensaje a responder a todos.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
Mensaje Mensaje Cualquier propiedad grabable a actualizar en el mensaje Responder a todos.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Si se especifica ReplyTo en el mensaje original, por formato de mensaje de Internet (RFC 2822), debe enviar la respuesta a los destinatarios de las propiedades ReplyTo y ToRecipients, y no a los destinatarios de las propiedades From y ToRecipients.

Solicitud de muestra

El siguiente ejemplo crea un borrador para responder a todos, y agrega un archivo adjunto y comentario, todo ello en una sola llamada CreateReplyAll.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/createreplyall
Content-Type: application/json

{
    "Message":{
      "Attachments": [ 
        { 
          "@odata.type": "#Microsoft.OutlookServices.FileAttachment", 
          "Name": "guidelines.txt", 
          "ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk=" 
        } 
      ]
    },
    "Comment": "if the project gets approved, please take a look at the attached guidelines before you decide on the name." 
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKpAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP\"",
  "Id": "AAMkADA1MTAAAH5JKpAAA=",
  "CreatedDateTime": "2016-03-15T08:37:34Z",
  "LastModifiedDateTime": "2016-03-15T08:37:34Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:37:34Z",
  "SentDateTime": "2016-03-15T08:37:34Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB005732BE05BD669AC7CE056EF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "RE: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body dir=\"ltr\">\r\nif the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:36:32 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group\r\n<div>Fanny, Randi, would you name the group please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n</body>\r\n</html>"
  },
  "BodyPreview": "if the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:36:32 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubj",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress": {
        "Name": "Randi Welch",
        "Address": "randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAACHRQA==",
  "IsDeliveryReceiptRequested": false,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKpAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Tipo de respuesta

El borrador del mensaje responder a todos con ToRecipient, IsDraft y otras propiedades adecuadas ya rellenadas.

Reenviar mensajes nuevos o borradores

Nota

El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.

Puede responder a un mensaje, agregar un comentario o actualizar las propiedades de un mensaje, todo en una llamada, o puede crear primero un borrador y actualizar cualquier propiedad del mensaje en una sola llamada y, a continuación, enviar el borrador.

Reenviar un mensaje directamente

Ámbito mínimo necesario

Uno de los siguientes:

Reenvíe un mensaje, agregue un comentario o modifique cualquier propiedad actualizable, todo ello en una llamada Forward. A continuación, el mensaje se guarda en la carpeta Elementos enviados.

Opcionalmente, puede en primer lugar crear un borrador Reenviar para incluir un comentario o actualizar cualquier propiedad del mensaje, y a continuación enviar el borrador.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena El Id. del mensaje a reenviar.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
ToRecipients Collection(Recipient) La lista de destinatarios.
Mensaje Mensaje Cualquier propiedad grabable que se actualizará en el mensaje de respuesta.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Debe especificar el parámetro ToRecipients o la propiedad ToRecipients del parámetro Message. Si especifica ambos o no especifica ninguno, se devolverá un error HTTP 400 - Solicitud errónea.

Solicitud de muestra

El siguiente ejemplo establece la propiedad IsDeliveryReceiptRequested en true, agrega un comentario y reenvía el mensaje.

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/forward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this." 
}

Respuesta de muestra

Status code: 202

Crear un borrador Reenviar

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador Reenviar para incluir un comentario o actualizar cualquier propiedad del mensaje, todo ello en una sola llamada CreateForward. A continuación, puede enviar el borrador.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena El Id. del mensaje a reenviar.
Parámetros de cuerpo
Comment cadena Comentario que se va a incluir. Puede ser una cadena vacía.
ToRecipients Collection(Recipient) La lista de destinatarios.
Mensaje Mensaje Cualquier propiedad grabable que se actualizará en el mensaje de respuesta.

Nota

  • Puede especificar un comentario o la propiedad Body del parámetro Message. Si especifica ambos, se devolverá un error HTTP 400 - Solicitud errónea.
  • Debe especificar el parámetro ToRecipients o la propiedad ToRecipients del parámetro Message. Si especifica ambos o no especifica ninguno, se devolverá un error HTTP 400 - Solicitud errónea.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/createforward
Content-Type: application/json

{
  "Message":{  
    "IsDeliveryReceiptRequested": true,
    "ToRecipients":[
      {
        "EmailAddress": {
          "Address":"danas@contoso.onmicrosoft.com",
          "Name":"Dana Swope"
        }
      }
     ]
  },
  "Comment": "Dana, just want to make sure you get this; you'll need this if the project gets approved." 
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKqAAA=')",
  "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ\"",
  "Id": "AAMkADA1MTAAAH5JKqAAA=",
  "CreatedDateTime": "2016-03-15T08:42:10Z",
  "LastModifiedDateTime": "2016-03-15T08:42:10Z",
  "ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ",
  "Categories": [ ],
  "ReceivedDateTime": "2016-03-15T08:42:10Z",
  "SentDateTime": "2016-03-15T08:42:10Z",
  "HasAttachments": true,
  "InternetMessageId": "<DM2PR00MB0057E0EBC90EF37FC9233941F7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
  "Subject": "FW: Let's start a group",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<body>\r\nDana, just want to make sure you get this; you'll need this if the project gets approved.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:47:54 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group</body>\r\n</html>\r\n"
  },
  "BodyPreview": "Dana, just want to make sure you get this; you'll need this if the project gets approved.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
  "Importance": "Normal",
  "ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
  "Sender": {
    "EmailAddress": {
      "Name": "Admin",
      "Address": "admin@contoso.onmicrosoft.com"
    }
  },
  "From": null,
  "ToRecipients": [
    {
      "EmailAddress": {
        "Name": "Dana Swope",
        "Address": "danas@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients": [ ],
  "BccRecipients": [ ],
  "ReplyTo": [ ],
  "ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
  "ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAAAMtlIAAH+3c",
  "IsDeliveryReceiptRequested": true,
  "IsReadReceiptRequested": false,
  "IsRead": true,
  "IsDraft": true,
  "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKqAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
  "MentionedMe": null,
  "AppliedHashtagsPreview": null,
  "LikesPreview": null,
  "MentionsPreview": null,
  "Mentioned": [ ],
  "InferenceClassification": "Focused",
  "UnsubscribeData": [ ],
  "UnsubscribeEnabled": false,
  "Flag": { "FlagStatus": "NotFlagged" }
}

Tipo de respuesta

Elborrador Reenviar con IsDraft y otras propiedades apropiadas rellenadas previamente.

Actualizar mensajes

Cambie las propiedades grabables en un mensaje y guarde los cambios.

Actualizar un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Cambiar las propiedades grabables en un borrador o mensaje existente. Solo se modifican las propiedades que especifique.

PATCH https://outlook.office.com/api/beta/me/messages/{message_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena El Id. del mensaje a actualizar.

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

Solicitud de muestra

El siguiente ejemplo de solicitud establece dos categorías en un mensaje de correo y marca el mensaje con un inicio y una fecha de caducidad.

Nota

Nota: si FlagStatus se establece en Flagged, la propiedad Flag.CompletedDate no se debe establecer.

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

{
  "Categories": [
    "Orange category",
    "Green category"
  ],
  "IsRead": true,
  "Flag": {
    "FlagStatus": "Flagged",
      DueDateTime": {
      "DateTime": "2017-12-22T08:00:00.0000000",
      "TimeZone": "UTC"
    },
    "StartDateTime": {
      "DateTime": "2017-12-18T08:00:00.0000000",
      "TimeZone": "UTC"
    }
  }
}

Respuesta de muestra

Status code: 200


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

Solicitud de muestra

Los siguientes ejemplos de solicitud marcan un mensaje de correo previamente marcado como completado

PATCH https://outlook.office.com/api/beta/me/messages/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA= 
Content-Type: application/json; charset=utf-8
Content-Length: 164


{
  "Flag": {
    "CompletedDateTime":{
      "DateTime": "2018-02-05T18:00:00",
      "TimeZone": "Pacific Standard Time"
    },
    "FlagStatus": "Complete"
  }
}

Respuesta de muestra

HTTP/1.1 200 OK

{
    "Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=",
    "CreatedDateTime": "2017-12-15T22:11:41Z",
    "LastModifiedDateTime": "2017-12-16T00:49:44Z",
    "ChangeKey": "CQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/ThM",
    "Categories": [],
    "ReceivedDateTime": "2017-12-15T22:11:41Z",
    "SentDateTime": "2017-12-15T22:11:36Z",
    "HasAttachments": false,
    "InternetMessageId": "<e711230d-d066-469e-a128-c429c5789d97@SINGMEHUB02.gme.gbl>",
    "Subject": "An agent sent you a message in Microsoft Teams",
    "BodyPreview": "Hi John,\r\nYou're missing all the action in Microsoft Teams\r\n\r\n\r\nAn agent\r\nSent a new message to your chat\r\n\r\n         Open Microsoft Teams\r\n\r\nRather not receive these emails? Click your profile picture, select Options and then Notificatio",
    "Importance": "Normal",
    "ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAuAAAAAAB79HWXBjsTRocnYZpOfEpCAQCHGmLqkYhISaO_lSymODLQABa6L5YsAAA=",
    "ConversationId": "AAQkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAQAPQcMVQTnE5Aql13YD1jbQw=",
    "ConversationIndex": "AQHTdfGv9BwxVBOcTkCqXXdgPWNtDA==",
    "IsDeliveryReceiptRequested": null,
    "IsReadReceiptRequested": false,
    "IsRead": true,
    "IsDraft": false,
    "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADTvAAEwgCZNAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "InferenceClassification": "Other",
    "UnsubscribeData": [],
    "UnsubscribeEnabled": false,
    "Body": {
        "ContentType": "HTML",
        "Content": "<html style=\"font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:18px\"></html>\r\n"
    },
    "Sender": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Microsoft Teams",
            "Address": "noreply@email.teams.microsoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "John",
                "Address": "john@contoso.com"
            }
        }
    ],
    "CcRecipients": [],
    "BccRecipients": [],
    "ReplyTo": [],
    "MentionsPreview": null,
    "Flag": {
        "FlagStatus": "Complete",
        "CompletedDateTime": {
            "DateTime": "2018-02-06T00:00:00.0000000",
            "TimeZone": "UTC"
        }
    }
}

Tipo de respuesta

El mensaje actualizado.

Eliminar mensajes

Nota

Tenga cuidado al eliminar mensajes. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.

Eliminar un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

DELETE https://outlook.office.com/api/beta/me/messages/{message_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del mensaje a eliminar.

Solicitud de muestra

DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8TBAAA=

Respuesta de muestra

Status code: 204

Mover o copiar mensajes

Puede mover o copiar un mensaje a una carpeta.

Mover un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Mueve un mensaje a una carpeta. Se crea una nueva copia del mensaje en la carpeta de destino.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/move
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena ID. del mensaje a mover.
Parámetros de cuerpo
DestinationId cadena El ID de la carpeta de destino o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

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

{
  "DestinationId": "AAMkAGI2AAEJAAA="
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

El mensaje se ha movido.

Copiar un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Copia un mensaje a una carpeta.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/copy
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del mensaje a copiar.
Parámetros de cuerpo
DestinationId cadena El ID de la carpeta de destino o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

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

{
  "DestinationId": "inbox"
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

La nueva copia del mensaje.

Administrar Bandeja de entrada Prioritarios

La Bandeja de entrada Prioritarios permite ver mensajes importantes en la pestaña Focused de la Bandeja de entrada y el resto de los mensajes en la pestaña Other. El sistema de clasificación organiza inicialmente los mensajes de la Bandeja de entrada de manera predeterminada. Puede corregir y entrenar el sistema con el tiempo a través de la interfaz de usuario o mediante programación. Cuanto más se use, el sistema podrá deducir mejor qué mensaje entrante es importante.

En el nivel programático, la API REST de Bandeja de entrada priorizada funciona en los mensajes del usuario especificado, y es compatible con una propiedad InferenceClassification para cada mensaje. Los posibles valores son Focused y Other, que indican si el usuario considera ese mensaje, respectivamente, más importante y menos importante. Para corregir y entrenar el sistema de clasificación de mensajes, utilice la operación PATCH en la propiedad InferenceClassification en el nivel del mensaje

La API REST de Bandeja de entrada priorizada también le permite crear reemplazos. Cada reemplazo, que se representa mediante una instancia de InferenceClassificationOverride, es una instrucción para que el sistema de clasificación siempre designe mensajes de un remitente específico de una manera coherente (es decir, siempre como "Priorizado" o siempre como "Otro"), independientemente de cualquier enfoque previamente aprendido. Puede crear, obtener, actualizar y eliminar reemplazos para el usuario especificado. Los reemplazos de ese usuario, si los hay, son accesibles en una propiedad de navegación InferenceClassification, que es una colección de instancias de InferenceClassificationOverride. Los reemplazos permiten que el usuario tenga más control sobre la clasificación de los mensajes entrantes y crea una mayor confianza en el sistema de clasificación.

Tenga en cuenta que el sistema de clasificación aprende y aplica la clasificación solo en los mensajes entrantes en la Bandeja de entrada. De forma predeterminada, los mensajes en otras carpetas están "Priorizados". La configuración de un reemplazo afecta a los mensajes que lleguen en el futuro a la Bandeja de entrada; el reemplazo no modifica la propiedad InferenceClassification de los mensajes existentes de ninguna carpeta, incluida la Bandeja de entrada.

Entrenar el sistema de clasificación de mensajes

Uso de invalidaciones para clasificar de forma coherente según el remitente

Actualizar la clasificación de mensajes

Ámbito mínimo necesario

Uno de los siguientes:

Cambiar la propiedad InferenceClassification del mensaje especificado. Si el mensaje está en la Bandeja de entrada, el usuario verá ese mensaje debajo de la pestaña Focused o Other correspondiente. Este tipo de corrección también entrena el sistema de clasificación de mensajes para personalizar la futura clasificación para el usuario especificado.

PATCH https://outlook.office.com/api/beta/me/messages('{message_id}')

PATCH https://outlook.office.com/api/beta/Users('{user_id}')/messages('{message_id}')
Parámetro Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del borrador que se enviará.
user_id cadena La dirección de correo del usuario.

Tipo de respuesta

El mensaje actualizado.

Solicitud de muestra

Este ejemplo cambia la propiedad InferenceClassification a Other para el mensaje especificado del usuario con sesión iniciada.

PATCH https://outlook.office.com/api/beta/me/messages('AAMkADA1MTQBAAA=')

{
    "InferenceClassification": "Other"
}

Respuesta de muestra

El objeto de respuesta que se muestra aquí muestra la propiedad InferenceClassification actualizada y se trunca por motivos de brevedad. Una solicitud PATCH real devuelve todas las propiedades del mensaje.

Status code: 200 OK

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
    "@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
    "Id": "AAMkADA1MTQBAAA=",
    "Importance": "Normal",
    "Sender": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "From": {
        "EmailAddress": {
            "Name": "Fanny Downs",
            "Address": "fannyd@adatum.onmicrosoft.com"
        }
    },
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Admin",
                "Address": "admin@adatum.onmicrosoft.com"
            }
        }
    ],
    "InferenceClassification": "Other"
}

Crear un reemplazo para un remitente

Ámbito mínimo necesario

Uno de los siguientes:

Cree una invalidación para un remitente que se ha identificado mediante una dirección SMTP. Los mensajes futuros de esa dirección SMTP se clasificarán sistemáticamente como se especifica en la invalidación.

Nota

  • Si ya existe un reemplazo con la misma dirección SMTP, los campos ClassifyAs y Name de ese reemplazo se actualizan con los valores proporcionados.
  • El número máximo de invalidaciones que admite un buzón es de 1000, basado en direcciones SMTP de remitentes únicos.
  • La operación POST solo admite la creación de invalidaciones de una en una. Para crear varios reemplazos, puede enviar varias solicitudes POST o procesarlas por lotes.
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

POST https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parámetro Tipo Descripción
Parámetros de dirección URL
user_id cadena La dirección de correo del usuario.

Tipo de respuesta

La instancia de InferenceClassificationOverride que se acaba de crear o la instancia de InferenceClassificationOverride actualizada si ya existe una con la misma dirección SMTP.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

{
    "ClassifyAs": "Focused",
    "SenderEmailAddress": {
        "Name": "Fanny Downs",
        "Address": "fannyd@adatum.onmicrosoft.com"
    }
}

Respuesta de muestra

Status code: 201 Created

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

Obtener todos los reemplazos de usuario

Ámbito mínimo necesario

Uno de los siguientes:

Obtiene los reemplazos que un usuario ha configurado para clasificar siempre los mensajes de determinados remitentes de forma específica.

Cada reemplazo corresponde a una dirección SMTP de un remitente. Inicialmente, un usuario no tiene ningún reemplazo.

GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

GET https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Parámetro Tipo Descripción
Parámetros de dirección URL
user_id cadena La dirección de correo del usuario.

Tipo de respuesta

Una colección de instancias de InferenceClassificationOverride. Se devuelve una colección vacía si el usuario no tiene ningún reemplazo configurado.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides

Respuesta de muestra

Status code: 200 OK

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

Actualizar un reemplazo para un remitente

Ámbito mínimo necesario

Uno de los siguientes:

Cambie el campo ClassifyAs de un reemplazo tal y como se especifica.

No puede utilizar PATCH para cambiar ningún otro campo de una instancia de inferenceClassificationOverride.

Si hay un reemplazo para un remitente y este cambia su nombre para mostrar, puede utilizar POST para forzar una actualización en el campo Nombre del reemplazo existente.

Si hay una invalidación para un remitente y este cambia su dirección SMTP, la única forma de "actualizar" la invalidación de este remitente es eliminar la invalidación existente y crear una nueva con la nueva dirección SMTP.

PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('{override_id}')

PATCH https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro Tipo Descripción
Parámetros de dirección URL
override_id cadena Id. del reemplazo a actualizar.
user_id cadena La dirección de correo del usuario.

Tipo de respuesta

La instancia de InferenceClassificationOverride actualizada.

Solicitud de muestra

El siguiente ejemplo cambia un reemplazo para el usuario que ha iniciado sesión. El reemplazo es para el remitente con la dirección SMTP randiw@adatum.onmicrosoft.com, cambiado de Other a Focused.

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

{
    "ClassifyAs": "Focused"
}

Respuesta de muestra

Status code: 200 OK

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

Eliminar un reemplazo de remitente

Ámbito mínimo necesario

Uno de los siguientes:

Elimina un reemplazo especificado por su identificador.

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

DELETE https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro Tipo Descripción
Parámetros de dirección URL
override_id cadena Id. del borrador que se enviará.
user_id cadena La dirección de correo del usuario.

Solicitud de muestra

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

Respuesta de muestra

Status code: 204 No Content

Administrar @-Mentions (versión preliminar)

Llamar a un destinatario para llamar su atención en un mensaje es un gesto social habitual. El recurso Mention proporciona un mecanismo ligero para notificar a otro destinatario, o para recibir una notificación de un remitente en un mensaje.

Mediante la interfaz de usuario, una aplicación puede permitir que un usuario inserte una mención en un mensaje precediendo la mención con @ (lo que se utiliza habitualmente en escenarios similares en otras aplicaciones, de ahí el término @ -mention). Programáticamente, la aplicación puede crear la mención agregándolo a la propiedad Mentions en al misma llamada POST para crear el mensaje.

La aplicación puede permitir que los usuarios comprueben si han sido notificados en cualquier mensaje en su Bandeja de entrada. Los usuarios pueden encontrar detalles de cada mención en un mensaje. También pueden eliminar una mención en un mensaje.

Crear menciones en un nuevo mensaje

Obtener información sobre menciones en un mensaje

Eliminar una mención en un mensaje

Crear y enviar menciones como parte de un nuevo mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Cree y envíe un mensaje proporcionado en el cuerpo de la solicitud que incluya una colección de una o varias instancias de Mention.

Esto utiliza la misma acción SendMail disponible en el recurso Message; Además, incluye la propiedad Mentions como parte del parámetro del cuerpo Message

POST https://outlook.office.com/api/beta/me/sendmail
Parámetro obligatorio Tipo Descripción
Parámetros de cuerpo
Mensaje Mensaje El mensaje que se enviará.
SaveToSentItems booleano Indica si se debe guardar el mensaje en Elementos enviados. El valor predeterminado es True. Necesario solo si es false.

Especifique el parámetro Message con la propiedad ToRecipients necesaria, la propiedad Mentions y cualquier propiedad messagegrabable en el cuerpo de la solicitud.

Y, por cada mención en la propiedad Mentions, debe especificar las propiedades Mentioned y CreatedBy.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json

{
  "Message": {
    "Subject": "Project kickoff",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
  }
}

Respuesta de muestra

Status code: 202 Accepted

Crear menciones como parte de un borrador

Ámbito mínimo necesario

Uno de los siguientes:

Cree un borrador de un nuevo mensaje que incluya una colección de una o más instancias de Mention. Puede crear el borrador en cualquier carpeta y, opcionalmente, actualizarlo antes de enviarlo.

Esto utiliza el mismo método POST disponible en el recurso Message; además, incluye su propiedad Mentions en el cuerpo de la solicitud.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts.

Especifica la propiedad Mentions propiedad y cualquier propiedad message grabable en el cuerpo de la solicitud.

Y, por cada mención en la propiedad Mentions, debe especificar las propiedades Mentioned y CreatedBy.

Tipo de respuesta

El borrador.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json

{
    "Subject": "Party planning",
    "ToRecipients":[
      {
          "EmailAddress":{
          "Name":"Fanny Downs",
          "Address":"fannyd@contoso.onmicrosoft.com"
          }
      }
    ],
    "Mentions":[
      {    
        "Mentioned":{
          "Name":"Dana Swope",
          "Address":"danas@contoso.onmicrosoft.com"
         },
        "CreatedBy": {
            "Name":"Randi Welch",
            "Address":"randiw@contoso.onmicrosoft.com"
        }
      }
    ]
}

Respuesta de muestra

A continuación, se muestra el borrador creado.

Nota

El objeto de respuesta que aparece aquí esté truncado para abreviarlo. Todas las propiedades se devolverán desde una llamada real.

Status code: 201 Created

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAbYj7\"",
  "Id":"AQMkADJmMTUAAAW1fsAAAAA==",
  "Body":{
    "ContentType":"Text",
    "Content":""
  },
  "BodyPreview":"",
  "Sender":null,
  "From":null,
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com"
      }
    }
  ],
  "MentionsPreview":{
    "IsMentioned":false
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAW1fsAAAAA%3D%3D')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')/Mentions('4577bba4-b063-4cea-9073-6f7ca815fcec')",
      "Id":"4577bba4-b063-4cea-9073-6f7ca815fcec",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-22T02:22:44Z",
      "ServerCreatedDateTime":"2016-07-22T02:22:44.201Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

Obtener todos los mensajes que mencionan al usuario que ha iniciado sesión

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga todos los mensajes en el buzón del usuario que ha iniciado sesión, o en la carpeta especificada, que contienen una propiedad Mention de este usuario.

Esto utiliza el mismo método GET disponible en el recurso Message; Además, incluye un parámetro de consulta $filter en la propiedad MentionsPreview.

De manera predeterminada, una llamada GET /me/messages no devuelve la propiedad Mentions. Utilice el $expandparámetro de consulta para encontrar detalles de cada mención en un mensaje.

Nota

Asegúrese de que su llamada real codifique correctamente los caracteres de espacio en la cadena del parámetro de consulta.

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned eq true

GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages?$filter=MentionsPreview/IsMentioned eq true
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El Id. de la carpeta de destino o el nombre de carpeta conocido Inbox o Drafts.

Tipo de respuesta

La colección de mensajes solicitada.

Solicitud de muestra

El ejemplo siguiente filtra todos los mensajes del buzón del usuario que ha iniciado sesión a aquellos que mencionan al usuario. Utiliza $select para devolver un subconjunto de las propiedades de cada mensaje en la respuesta. También incorpora la codificación URL para los caracteres de espacio en la cadena del parámetro de consulta.

GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview

Respuesta de muestra

La respuesta contiene 2 mensajes que mencionan al usuario que ha iniciado sesión.

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages(Subject,Sender,ReceivedDateTime,MentionsPreview)",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
      "Id":"AQMkADJmMTUAAAgVZAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:21Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAjwVAAAA')",
      "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAEGj\"",
      "Id":"AQMkADJmMTUAAAjwVAAAA",
      "ReceivedDateTime":"2016-07-21T07:40:20Z",
      "Subject":"Re: Start planning soon",
      "Sender":{
        "EmailAddress":{
          "Name":"Randi Welch",
          "Address":"randiw@contoso.onmicrosoft.com"
        }
      },
      "MentionsPreview":{
        "IsMentioned":true
      }
    }
  ]
}

Obtener detalles de cada mención en un mensaje

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga un mensaje con los detalles de cada Mention en el mensaje expandido

Esto utiliza el mismo método GET disponible en el recurso Message; además, incluye un parámetro de consulta $expand en la propiedad de navegación Mentions.

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena El Id. del mensaje solicitado.

Tipo de respuesta

El mensaje solicitado.

Solicitud de muestra

En el siguiente ejemplo, el usuario que ha iniciado sesión es Dana Swope. El ejemplo muestra cómo obtener los detalles de todas las menciones en el mensaje especificado en el buzón de Dana.

GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions 

Respuesta de muestra

A continuación, se muestra el mensaje solicitado, incluidos los detalles de cada mención en la propiedad Mentions. Este mensaje incluye 2 menciones, una para el usuario que ha iniciado sesión, Dana, y la otra para Randi Welch.

Nota

El objeto de respuesta que se muestra aquí se trunca por razones de brevedad para centrarnos en las propiedades relacionadas con el soporte de propiedad Mention.

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
  "@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
  "Id":"AQMkADJmMTUAAAgVZAAAA",
  "Subject":"Start planning soon",
  "Body":{
    "ContentType":"HTML",
    "Content":"<html><head></head><body"><p><a href=\"mailto:danas@contoso.onmicrosoft.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.onmicrosoft.com\">@Randi Welch</a>, forgot to mention, I will be away&nbsp;this weekend. I can start on Monday though.</p></body></html>"
  },
  "BodyPreview":"@Dana Swope<mailto:danas@contoso.onmicrosoft.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
  "Sender":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "From":{
    "EmailAddress":{
      "Name":"Fanny Downs",
      "Address":"fannyd@contoso.onmicrosoft.com"
    }
  },
  "ToRecipients":[
    {
      "EmailAddress":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com"
      }
    },
    {
      "EmailAddress":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com"
      }
    }
  ],
  "CcRecipients":[
  ],
  "BccRecipients":[
  ],
  "MentionsPreview":{
    "IsMentioned":true
  },
  "Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions",
  "Mentions":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('138f4c0a-1130-4776-b780-bf79d73abb3f')",
      "Id":"138f4c0a-1130-4776-b780-bf79d73abb3f",
      "Mentioned":{
        "Name":"Dana Swope",
        "Address":"danas@contoso.onmicrosoft.com",
        "ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.152Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.152Z",
      "DeepLink":null,
      "Application":null
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('7b94df1a-0086-482a-b0da-e62fae12f983')",
      "Id":"7b94df1a-0086-482a-b0da-e62fae12f983",
      "Mentioned":{
        "Name":"Randi Welch",
        "Address":"randiw@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "MentionText":null,
      "ClientReference":null,
      "CreatedBy":{
        "Name":"Fanny Downs",
        "Address":"fannyd@contoso.onmicrosoft.com",
        "ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
      },
      "CreatedDateTime":"2016-07-21T07:40:20.158Z",
      "ServerCreatedDateTime":"2016-07-21T07:40:20.158Z",
      "DeepLink":null,
      "Application":null
    }
  ]
}

Eliminar una mención

Ámbito mínimo necesario

Uno de los siguientes:

Elimina la mención especificada en el mensaje especificado en el buzón del usuario que ha iniciado sesión.

DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
mention_id cadena El Id. de la mención a eliminar.
id_mensaje cadena El Id. del mensaje que contiene la mención.

Solicitud de muestra

DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')

Respuesta de muestra

Status code: 204 No Content

Administrar reglas (versión preliminar)

En Outlook, puede configurar reglas para los mensajes entrantes en la Bandeja de entrada para llevar a cabo acciones específicas en determinadas condiciones.

Mediante programación, tiene acceso a las reglas mediante la propiedad de navegación messageRules de la carpeta Bandeja de entrada. Cada regla se representa mediante el recurso MessageRule, las acciones de regla disponibles se representan mediante el tipo complejo MessageRuleActions y las condiciones y excepciones de regla disponibles se representan mediante el tipo complejo MessageRulePredicates.

Crear reglas (versión preliminar)

Ámbito mínimo necesario

Cree una regla especificando un conjunto de condiciones y acciones. Outlook lleva a cabo esas acciones si un mensaje entrante en la Bandeja de entrada del usuario cumple las condiciones especificadas.

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Los siguientes son parámetros del cuerpo que se suelen utilizar al crear reglas; puede especificar cualquier otra propiedad MessageRule grabable, según corresponda en el cuerpo de la solicitud.

Parámetros de cuerpo Tipo Descripción
Acciones MessageRuleActions Acciones que se van a realizar en un mensaje cuando las condiciones correspondientes, si las hubiera, se cumplan. Necesario.
Condiciones MessageRulePredicates Condiciones que, cuando se cumplan, activarán las acciones correspondientes a esa regla. Opcional.
DisplayName Cadena Nombre para mostrar de la regla. Necesario.
Excepciones MessageRulePredicates Representa las condiciones de excepción de la regla. Opcional.
IsEnabled Booleano Indica si la regla está habilitada para que se aplique a los mensajes. Opcional.
Secuencia Int32 Indica el orden en que se ejecuta la regla entre otras reglas. Necesario.

Solicitud de muestra

La siguiente regla reenvía un mensaje entrante a Alex Wilbur si el nombre del remitente incluye el término "adele".

POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Content-Type: application/json

{      
    "DisplayName": "From partner",      
    "Sequence": 2,      
    "IsEnabled": true,          
    "Conditions": {
        "SenderContains": [
          "adele"       
        ]
     },
     "Actions": {
        "ForwardTo": [
          {
             "EmailAddress": {
                "Name": "Alex Wilbur",
                "Address": "AlexW@MOD154847.onmicrosoft.com"
              }
           }
        ],
        "StopProcessingRules": true
     }    
}

Respuesta de muestra

Status code: 201 Created

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

Obtener reglas (versión preliminar)

Ámbito mínimo necesario

Puede obtener todas las reglas definidas para la Bandeja de entrada del usuario u obtener una regla determinada especificando su Id.

Obtener todas las reglas para una Bandeja de entrada

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules

Respuesta de muestra

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules",
  "value":[
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZp8=')",
      "Id":"AQAAAJ5dZp8=",
      "DisplayName":"Remove spam",
      "Sequence":1,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SubjectContains":[
          "enter to win"
        ]
      },
      "Actions":{
        "Delete":true,
        "StopProcessingRules":true
      }
    },
    {
      "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
      "Id":"AQAAAJ5dZqA=",
      "DisplayName":"From partner",
      "Sequence":2,
      "IsEnabled":true,
      "HasError":false,
      "IsReadOnly":false,
      "Conditions":{
        "SenderContains":[
          "ADELE"
        ]
      },
      "Actions":{
        "StopProcessingRules":true,
        "ForwardTo":[
          {
            "EmailAddress":{
              "Name":"Alex Wilbur",
              "Address":"AlexW@MOD154847.onmicrosoft.com"
            }
          }
        ]
      }
    }
  ]
}

Obtener una regla específica

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL Tipo Descripción
rule_id Cadena El Id. de la regla a obtener.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')

Respuesta de muestra

Status code: 200 OK

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules/$entity",
  "@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"From partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "StopProcessingRules":true,
      "ForwardTo":[
        {
          "EmailAddress":{
            "Name":"Alex Wilbur",
            "Address":"AlexW@MOD154847.onmicrosoft.com"
          }
        }
      ]
  }
}

Actualizar reglas (versión preliminar)

Ámbito mínimo necesario

Cambie las propiedades grabables en una regla y guarde los cambios.

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL Tipo Descripción
rule_id Cadena El Id. de la regla a actualizar.

Solicitud de muestra

En el ejemplo siguiente se cambia el nombre de la regla, y las acciones que se realizan para esa regla en el último ejemplo, desde reenviarla a una dirección hasta marcar su importancia como alta.

PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Content-Type: application/json

{
    "DisplayName": "Important from partner",
    "Actions": {
        "MarkImportance": "High"
     }
}   

Respuesta de muestra

Status code: 200 OK

{
  "Id":"AQAAAJ5dZqA=",
  "DisplayName":"Important from partner",
  "Sequence":2,
  "IsEnabled":true,
  "HasError":false,
  "IsReadOnly":false,
  "Conditions":{
    "SenderContains":[
      "ADELE"
    ]
  },
  "Actions":{
      "MarkImportance": "High"
  }
}

Eliminar reglas (versión preliminar)

Ámbito mínimo necesario

Elimine la regla especificada.

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Parámetros de dirección URL Tipo Descripción
rule_id Cadena Id. de la regla a eliminar.

Solicitud de muestra

DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')

Respuesta de muestra

Status code: 204 No Content

Cancelar suscripción (versión preliminar)

Ámbito mínimo necesario

Uno de los siguientes:

Envía una solicitud por correo electrónico en nombre del usuario que ha iniciado sesión para cancelar su suscripción de una lista de distribución de correo electrónico. Utiliza la información del encabezado List-Unsubscribe.

POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. del borrador que se enviará.

Los remitentes de mensajes pueden utilizar listas de correo más fácilmente si incluyen la opción para que los destinatarios opten por no participar. Para ello, deben especificar el encabezado List-Unsubscribe en cada mensaje que aparece después de a RFC-2369.

Nota

En concreto, para que la acción Cancelar suscripción funcione, el remitente debe especificar mailto: y no información de cancelación de suscripción basada en URL.

Si se establece ese encabezado también se establecería la propiedad UnsubscribeEnabled de la instancia Message en true, y la propiedad UnsubscribeData en los datos del encabezado.

Si la propiedad UnsubscribeEnabled de un mensaje es true, puede utilizar la acción Cancelar suscripción para cancelar la suscripción del usuario de mensajes similares futuros administrados por el remitente del mensaje.

Una acción Cancelar suscripción correcta mueve el mensaje a la carpeta Elementos eliminados. La exclusión real del usuario de la distribución futura de correo la administra el remitente.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe

Respuesta de muestra

Status code: 202 Accepted

Obtener opciones de idioma (versión preliminar)

Ámbito mínimo necesario

Uno de los siguientes:

Obtener una lista de idiomas y configuraciones regionales compatibles con el usuario, según la configuración del servidor de buzones del usuario.

El idioma preferido del usuario se selecciona de esta lista compatible. Puede obtener el idioma preferido obteniendo la configuración del buzón del usuario.

GET https://outlook.office.com/api/beta/me/SupportedLanguages

Tipo de respuesta

Colección de LocaleInfo.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/SupportedLanguages

Respuesta de muestra

El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.LocaleInfo)",
  "value":[
    {
      "Locale":"af-ZA",
      "DisplayName":"Afrikaans (Suid-Afrika)"
    },
    {
      "Locale":"en-US",
      "DisplayName":"English (United States)"
    },
    {
       "Locale":"en-CA",
       "DisplayName":"English (Canada)"
    }
  ]
}

Obtener opciones de zona horaria (versión preliminar)

Ámbito mínimo necesario

Uno de los siguientes:

Obtener la lista de zonas horarias compatibles con el usuario, según la configuración del servidor de buzones del usuario.

Opcionalmente, puede especificarse que las zonas horarias se devuelvan en el formato de zona horaria de Windows o el formato de zona horaria Internet Assigned Numbers Authority (IANA) (también conocida como "zona horaria Olson"). Si no especifica ningún formato, las zonas horarias se revuelven en el formato de zona horaria de Windows.

El idioma preferido del usuario se selecciona de esta lista compatible. Puede obtener la zona horaria preferida obteniendo la configuración del buzón del usuario.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Parámetro opcional Tipo Descripción
Parámetros de dirección URL
timezone_format TimeZoneStandard Formato de una zona horaria. Los valores admitidos son: Windows y Iana.

Tipo de respuesta

Colección de TimeZoneInformation.

Solicitud de muestra

El siguiente ejemplo obtiene la lista de zonas horarias admitidas para el usuario con sesión iniciada en formato Windows.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')

Respuesta de muestra

El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Dateline Standard Time",
      "DisplayName":"(UTC-12:00) International Date Line West"
    },
    {
      "Alias":"Samoa Standard Time",
      "DisplayName":"(UTC+13:00) Samoa"
    },
    {
       "Alias":"UTC-11",
       "DisplayName":"(UTC-11:00) Coordinated Universal Time-11"
    },
    {
      "Alias":"Aleutian Standard Time",
      "DisplayName":"(UTC-10:00) Aleutian Islands"
    }
  ]
}

Solicitud de muestra

El siguiente ejemplo obtiene la lista de zonas horarias compatibles en formato IANA.

GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')

Respuesta de muestra

El siguiente ejemplo de respuesta se trunca por motivos de brevedad para centrarnos en el formato JSON de la respuesta.

Status code: 200

{
  "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
  "value":[
    {
      "Alias":"Etc/GMT+12",
      "DisplayName":"Etc/GMT+12"
    },
    {
      "Alias":"US/Samoa",
      "DisplayName":"US/Samoa"
    },
    {
      "Alias":"Etc/GMT+11",
      "DisplayName":"Etc/GMT+11"
    },
    {
      "Alias":"US/Aleutian",
      "DisplayName":"US/Aleutian"
    }
  ]
}

Obtener configuración del buzón

Ámbito mínimo necesario

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

El idioma y la zona horaria preferidos del usuario se encuentran entre las opciones con las que se ha configurado el servidor de buzones. Puede obtener las listas de estos idiomas admitidos y las zonas horarias admitidas para el usuario.

GET https://outlook.office.com/api/beta/me/MailboxSettings

Tipo de respuesta

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/beta/me/MailboxSettings

Respuesta de muestra

Status code: 200

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

Obtener la configuración de respuesta automática

Ámbito mínimo necesario

Obtenga la configuración de respuesta automática del buzón del usuario que ha iniciado sesión.

Las respuestas automáticas le permiten notificar automáticamente a las personas con un mensaje cuando les envían un correo electrónico. Por ejemplo, puede notificarles cuando no está disponible y no les puede responder.

Dado que las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa mediante MailboxSettings), puede ver la configuración de respuestas automáticas obteniendo todas las configuraciones del buzón, que incluyen configuraciones de respuestas automáticas, u obteniendo específicamente la configuración de respuestas automáticas.

Puede utilizar el encabezado HTTP Prefer: outlook.timezone para especificar la zona horaria preferida para mostrar los valores ScheduledStartDateTime y ScheduledEndDateTime.

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

Tipo de respuesta

AutomaticRepliesSetting.

Solicitud de muestra

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

Respuesta de muestra

Status code: 200

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

Actualizar la configuración de respuesta automática

Ámbito mínimo necesario

Las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa MailboxSettings) Puede habilitar, configurar o inhabilitar respuestas automáticas actualizando la configuración de buzón correspondiente.

Nota

No puede crear ni eliminar ninguna configuración del buzón.

PATCH https://outlook.office.com/api/beta/me/MailboxSettings

Tipo de respuesta

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/beta/me/MailboxSettings
Content-Type: application/json

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

Respuesta de muestra

Status code: 200

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


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

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga las sugerencias de correo electrónico de uno o más destinatarios como disponibles para el usuario que ha iniciado sesión. Tenga en cuenta que esto se lleva a cabo como una operación POST para la acción GetMailTips.

POST https://outlook.office.com/api/beta/me/GetMailTips
Parámetro obligatorio Tipo Descripción
Parámetros de cuerpo
EmailAddresses Collection(String) Una colección de direcciones SMTP de destinatarios de las que obtener sugerencias de correo electrónico.
MailTipsOptions MailTipsType Los tipos de sugerencias de correo electrónico a obtener para los destinatarios especificados.

Tipo de respuesta

Colección de sugerencias de correo electrónico.

Solicitud de muestra

El siguiente ejemplo obtiene sugerencias de correo electrónico para los destinatarios especificados, para cualquier configuración de respuesta automática y estado completo del buzón.

POST https://outlook.office.com/api/beta/me/GetMailTips
Content-Type: application/json

{
    "EmailAddresses": [
        "danas@contoso.onmicrosoft.com", 
        "fannyd@contoso.onmicrosoft.com"
    ],
    "MailTipsOptions": "AutomaticReplies, MailboxFullStatus"
}

Respuesta de muestra

Status code: 200 OK

{
    "@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.MailTips)",
    "value":[
        {
            "EmailAddress":{
                "Name":"",
                "Address":"danas@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":"<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n<div dir=\"ltr\">\r\n<div id=\"x_divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Hi, I am on vacation right now. I'll get back to you after I return.<br>\r\n</p>\r\n</div>\r\n</div>",
                "MessageLanguage":{
                    "Locale":"en-US",
                    "DisplayName":"English (United States)"
                }
            },
            "MailboxFull":false
        },
        {
            "EmailAddress":{
                "Name":"",
                "Address":"fannyd@contoso.onmicrosoft.com"
            },
            "AutomaticReplies":{
                "Message":""
            },
            "MailboxFull":false
        }
    ]
}

Obtener datos adjuntos

Puede obtener una colección de datos adjuntos o recibir datos adjuntos.

Recibir una recopilación de datos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga los datos adjuntos de un mensaje determinado.

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

Nota

De forma predeterminada, cada elemento de datos adjuntos en la respuesta incluye todas sus propiedades correspondientes a ese tipo de datos adjuntos. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Tipo de respuesta

Una recopilación de datos adjuntos que puede ser del tipo FileAttachment, ItemAttachment o ReferenceAttachment.

Ejemplo de solicitudes y respuestas

El siguiente ejemplo muestra cómo utilizar $select para especificar que se devuelva solo la propiedad Nombre de cada archivo adjunto en la respuesta. Consulte la respuesta de ejemplo en Obtener datos adjuntos para obtener una lista completa de las propiedades que se devolverían para datos adjuntos si no se utiliza $select.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name

Respuesta de muestra

Status code: 200

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

El siguiente ejemplo muestra cómo obtener el único elemento de datos adjunto que es un elemento de correo de Outlook. La respuesta incluye un Id. de datos adjuntos que también es el Id. del mensaje adjunto.

GET https://outlook.office.com/api/beta/me/messages('AAMkADFiNTPAAA=')/attachments

Content-Type: application/json

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

Recibir datos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Obtener datos adjuntos de un mensaje determinado.

GET https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. de mensaje.
attachment_id cadena El identificador de los datos adjuntos.

Nota

De forma predeterminada, la respuesta incluye todas las propiedades de los datos adjuntos. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. Consulte Obtener una colección de datos adjuntos para ver un ejemplo. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Tipo de respuesta

El archivo adjunto, elemento adjunto o referencia adjunta solicitado.

Ejemplo de solicitud (archivo adjunto)

El siguiente ejemplo obtiene el archivo adjunto a un mensaje específico.

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

Respuesta de muestra

Status code: 200

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

Ejemplo de solicitud (referencia adjunta)

El siguiente ejemplo obtiene la referencia adjunta de un mensaje.

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

Respuesta de muestra

Status code: 200

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

Ejemplo de solicitud ($expand en datos adjuntos)

El siguiente ejemplo obtiene y expande las 3 referencias adjuntas insertadas en las propiedades del mensaje.

GET https://outlook.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments

Respuesta de muestra

Status code: 200

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

Ejemplo de solicitud ($expand en elementos adjuntos anidados)

El siguiente ejemplo recibe un elemento adjunto anidado.

GET https://outlook-sdf.office.com/api/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item

Respuesta de muestra

Status code: 200

{
    "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
    "LastModifiedDateTime": "2017-04-25T20:05:55Z",
    "Name": "RE: Changes to GetConditionMetadata handler",
    "ContentType": null,
    "Size": 78927,
    "IsInline": false,
    "Item": {
        "Id": "", 
        "Name": "How to retrieve item attachment using Outlook REST API",
        "ContentType": message/rfc822,
        "Size": 71094,
        "IsInline": false,
        "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
}

Crear adjuntos

Puede crear un archivo adjunto o crear un elemento adjunto para un mensaje

Crear un archivo adjunto

Ámbito mínimo necesario

Uno de los siguientes:

Agregue un archivo adjunto a un mensaje.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. de mensaje.
Parámetros de cuerpo
@odata.type cadena #Microsoft.OutlookServices.FileAttachment
Nombre cadena El nombre de los datos adjuntos.
ContentBytes binario El archivo a adjuntar.

Especifique los parámetros Name y ContentBytes y cualquier propiedad file attachment grabable en el cuerpo de la solicitud.

Tipo de respuesta

El nuevo archivo adjunto.

Crear un elemento adjunto

Ámbito mínimo necesario

Uno de los siguientes:

Agregue un elemento adjunto a un mensaje.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje cadena Id. de mensaje.
Parámetros de cuerpo
@odata.type cadena #Microsoft.OutlookServices.ItemAttachment
Nombre cadena El nombre de los datos adjuntos.
Artículo Una entidadMessage o Event. El elemento a adjuntar.

Especifique los parámetros Name e Item y cualquier propiedad iteme attachment grabable en el cuerpo de la solicitud.

Tipo de respuesta

El nuevo elemento adjunto.

Crear una referencia adjunta

Ámbito mínimo necesario

Uno de los siguientes:

Agregue una referencia adjunta a un mensaje.

POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
id_mensaje Cadena Id. de mensaje.
Parámetros de cuerpo
@odata.type Cadena #Microsoft.OutlookServices.ReferenceAttachment
Nombre Cadena Nombre para mostrar de los datos adjuntos. Necesario.
SourceUrl Cadena URL para obtener el contenido del archivo adjunto. Si se trata de una URL a una carpeta, para que la carpeta se muestre correctamente en Outlook o Outlook en la web, configure IsFolder en true. Necesario.

Especifique los parámetros Name y SourceUrl y cualquier parámetro reference attachment grabable en el cuerpo de la solicitud.

Tipo de respuesta

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

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

Respuesta de muestra

Status code: 201 Created

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

Solicitud de muestra

El siguiente ejemplo agrega una referencia adjunta en la misma llamada que la creación de un borrador. Los datos adjuntos son un vínculo a un archivo en OneDrive para la Empresa.

POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json

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

Respuesta de muestra

Status code: 201 Created

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

Eliminar archivos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Elimine los datos adjuntos especificados de un mensaje. Los datos adjuntos pueden ser un archivo adjunto, elemento adjunto o referencia adjunta.

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

Solicitud de muestra

DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=

Respuesta de muestra

Status code: 204

Obtener carpetas

Puede obtener una colección de carpetas u obtener una carpeta del buzón del usuario.

Obtener una colección de carpetas

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga todas las carpetas de correo del buzón del usuario que ha iniciado sesión (.../me/MailFolders), u obtenga la colección de carpetas en la carpeta especificada.

GET https://outlook.office.com/api/beta/me/MailFolders
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El Id. de carpeta, o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems, si recibe mensajes de una carpeta específica.

Solicitud de muestra

GET https://outlook.office.com/api/beta/me/MailFolders

Respuesta de muestra

Status code: 200

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

Tipo de respuesta

La colección de carpetas solicitada.

Obtener una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga una carpeta por Id.

Obtenga la carpeta del usuario que ha iniciado sesión:

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

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

GET https://outlook.office.com/api/beta/users/{user_id}/mailFolders/{folder_id}

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

Obtener la bandeja de entrada del usuario que ha iniciado sesión

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

Respuesta de muestra

Status code: 200

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

Solicitud de muestra

Obtener una carpeta compartida por otro usuario

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

Respuesta de muestra

HTTP/1.1 200 OK

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

Tipo de respuesta

La carpeta solicitada.

Sincronizar jerarquía de carpetas

Puede obtener una tabla plana de todas las carpetas de un buzón. Cuando sincronice una jerarquía de carpetas de correo, solicite esta categoría.

Punto de conexión Categoría de carpeta
Me/MailFolders Carpetas de correo

Solo puede sincronizar el nivel superior de cada categoría de carpeta. Por ejemplo, puede solicitar Me/MailFolders pero no Me/MailFolders ('inbox').

La sincronización admite tanto la sincronización completa, que recupera todas las carpetas de una jerarquía, como la sincronización incremental,que recupera todas las carpetas que han cambiado desde la última sincronización completa.

Ámbito mínimo necesario

Uno de los siguientes:

GET https://outlook.office.com/api/beta/me/MailFolders
Parámetro obligatorio Tipo Descripción
Parámetro de encabezado
Prefer odata.trackchanges Indica que la solicitud es una solicitud de sincronización.
Parámetros de cuerpo
odata.deltaLink cadena El token que indica la última vez que se sincronizó la jerarquía de carpetas.

Si alguno de los siguientes parámetros de consulta están incluidos en la solicitud, se ignoran: $filter, $orderby, $search, $top.

Tipo de respuesta

Una lista plana de las carpetas en la categoría solicitada.

Crear carpetas

Agregue una nueva carpeta a una colección de carpetas.

Crear una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Cree una carpeta secundaria por el nombre especificado en DisplayName. DisplayName es la única propiedad grabable para un carpeta.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/childfolders
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.
Parámetros de cuerpo
DisplayName cadena Nombre para mostrar de la carpeta.

Solicitud de muestra

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

{
  "DisplayName": "Company"
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

La nueva carpeta.

Comentarios

No puede crear una carpeta de nivel superior. Solo puede agregar una carpeta a un extremo childfolders.

Actualizar carpetas

Cambie el nombre de una carpeta.

Actualizar una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Cambie el nombre de la carpeta al nombre especificado en DisplayName. El nombre es la única propiedad grabable para una carpeta.

PATCH https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.
Parámetros de cuerpo
DisplayName cadena El nuevo nombre para mostrar de la carpeta.

Solicitud de muestra

PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
  "DisplayName": "Business"
}

Respuesta de muestra

Status code: 200

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

Tipo de respuesta

La carpeta actualizada.

Eliminar carpetas

Elimine una carpeta y todo su contenido.

Nota

Tenga cuidado al eliminar carpetas. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.

Eliminar una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Elimine la carpeta especificada en folder_id.

DELETE https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

DELETE https://outlook.office.com/api/BETA/me/MailFolders/AAMkAGE0Mz-l_AAA=

Respuesta de muestra

Status code: 204

Mover o copiar carpetas

Puede mover o copiar una carpeta a otra carpeta.

Mover una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Mueva una carpeta y su contenido a otra carpeta mediante el método Move.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/move
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.
Parámetros de cuerpo
DestinationId cadena El ID de la carpeta de destino o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json

{
  "DestinationId": "AAMkAGE0MyxQ9AAA="
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

La carpeta se ha movido.

Copiar una carpeta

Ámbito mínimo necesario

Uno de los siguientes:

Copie una carpeta y su contenido a otra carpeta mediante el método Copy.

POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
folder_id
cadena El ID de la carpeta o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.
Parámetros de cuerpo
DestinationId cadena El ID de la carpeta de destino o el nombre de carpeta conocido Inbox, Drafts, SentItems o DeletedItems.

Solicitud de muestra

POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json

{
  "DestinationId": "inbox"
}

Respuesta de muestra

Status code: 201

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

Tipo de respuesta

La nueva copia de la carpeta.

Pasos siguientes

Tanto si está listo para empezar a compilar una aplicación como si simplemente desea obtener más información, tenemos todo lo que necesita.

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