Compartir a través de


orgContact: delta

Espacio de nombres: microsoft.graph

Obtenga contactos de la organización recién creados, actualizados o eliminados sin tener que realizar una lectura completa de toda la colección. Para obtener más información, consulte Uso de la consulta delta para realizar un seguimiento de los cambios en los datos de Microsoft Graph para obtener más información.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) OrgContact.Read.All Directory.Read.All, Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación OrgContact.Read.All Directory.Read.All, Directory.ReadWrite.All

Importante

En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.

  • Lectores de directorio: leer propiedades básicas
  • Lector global
  • Escritores de directorios
  • Administrador de Intune
  • Administrador de usuarios

Solicitud HTTP

Para comenzar a realizar el seguimiento de los cambios, realice una solicitud que incluya la función delta en el recurso de contactos.

GET /contacts/delta

Parámetros de consulta

El seguimiento de los cambios en los contactos de la organización genera una ronda de una o varias llamadas de función delta . Si usa cualquier parámetro de consulta (distinto de $deltatoken y $skiptoken), debe especificarlo en la solicitud delta inicial. Microsoft Graph codifica automáticamente cualquier parámetro especificado en la parte del token de la URL @odata.nextLink o @odata.deltaLink proporcionada en la respuesta.

Solo tiene que especificar los parámetros de consulta una vez por adelantado.

En solicitudes posteriores, copie y aplique la @odata.nextLink dirección URL o @odata.deltaLink de la respuesta anterior. Esa dirección URL ya incluye los parámetros codificados.

Parámetro de consulta Tipo Descripción
$deltatoken string Un token de estado devuelto en la @odata.deltaLink dirección URL de la llamada de función delta anterior para la misma colección de contactos de la organización, que indica la finalización de esa ronda de seguimiento de cambios. Guarde y aplique toda @odata.deltaLink la dirección URL, incluido este token, en la primera solicitud de la siguiente ronda de seguimiento de cambios para esa colección.
$skiptoken string Token de estado devuelto en la @odata.nextLink dirección URL de la llamada a la función delta anterior, lo que indica que hay más cambios de los que realizar un seguimiento en la misma colección de contactos de la organización.

Parámetros de consulta de OData

Este método admite parámetros de consulta opcionales de OData para ayudar a personalizar la respuesta.

  • Puede utilizar un parámetro de consulta $select como en cualquier solicitud GET para especificar solo las propiedades que necesita para un mejor rendimiento. Siempre se devuelve la propiedad id.
  • Hay compatibilidad limitada con $filter:
    • La única expresión $filter admitida es para realizar un seguimiento de los cambios en un objeto específico: $filter=id+eq+{value}. Puede filtrar varios objetos. Por ejemplo, https://graph.microsoft.com/v1.0/contacts/delta/?$filter= id eq '477e9fc6-5de7-4406-bb2a-7e5c83c9ffff' or id eq '004d6a07-fe70-4b92-add5-e6e37b8affff'. Hay un límite de 50 objetos filtrados.

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Prefer return=minimal.

Especificar este encabezado con una solicitud que utiliza un @odata.deltaLink devolverá solo las propiedades del objeto que han cambiado desde la última ronda. Opcional.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si se ejecuta correctamente, este método devuelve un 200 OK código de respuesta y un objeto de colección orgContact en el cuerpo de la respuesta. La respuesta también incluye una dirección URL @odata.nextLink o @odata.deltaLink.

  • Si se devuelve una dirección URL @odata.nextLink:

    • Esto indica que hay páginas adicionales de datos que se recuperarán en la sesión. La aplicación continúa realizando solicitudes mediante la dirección URL @odata.nextLink hasta que se incluya dirección URL @odata.deltaLink en la respuesta.
    • La respuesta incluye el mismo conjunto de propiedades que la solicitud de consulta delta inicial. Esto le permite capturar el estado actual completo de los objetos al iniciar el ciclo delta.
  • Si se devuelve una dirección URL @odata.deltaLink:

    • Esto indica que no hay más datos sobre el estado existente del recurso que se va a devolver. Guarde y use la dirección URL @odata.deltaLink para obtener más información sobre los cambios al recurso en la siguiente ronda.
    • Existe una opción para especificar el encabezado Prefer:return=minimal, para incluir en la respuesta solo los valores de las propiedades que han cambiado desde el momento en el que se emitió @odata.deltaLink.

Predeterminado: devolver las mismas propiedades que la solicitud delta inicial

De forma predeterminada, las solicitudes que usan un @odata.deltaLink o un @odata.nextLink devuelven las mismas propiedades que las seleccionadas en la consulta delta inicial de las siguientes formas:

  • Si la propiedad ha cambiado, el nuevo valor se incluye en la respuesta. Esto incluye las propiedades a las cuales se les establece un valor nulo.
  • Si la propiedad no ha cambiado, el valor anterior se incluye en la respuesta.
  • Si la propiedad nunca se ha establecido antes, no se incluirá en la respuesta en absoluto.

Nota: Con este comportamiento, no es posible indicar si una propiedad está cambiando examinando la respuesta. Además, las respuestas diferenciales tienden a ser grandes porque contienen todos los valores de propiedad, como se muestra en el ejemplo 2.

Alternativa: devolver solo las propiedades que hayan cambiado

Agregar un encabezado de solicitud opcional, prefer:return=minimal, ocasiona el comportamiento siguiente:

  • Si la propiedad ha cambiado, el nuevo valor se incluye en la respuesta. Esto incluye las propiedades a las cuales se les establece un valor nulo.
  • Si la propiedad no ha cambiado, la propiedad no se incluye en la respuesta en absoluto. (Distinto del comportamiento predeterminado).

Nota: Se puede agregar el encabezado en una solicitud @odata.deltaLink en cualquier momento del ciclo delta. El encabezado solo afecta al conjunto de propiedades incluidas en la respuesta y no afecta a cómo se ejecuta la consulta delta. Vea el Ejemplo 3.

Ejemplos

Ejemplo 1: Propiedades predeterminadas

Solicitud

Este es un ejemplo de la solicitud. No hay ningún $select parámetro, por lo que se realiza un seguimiento y se devuelve un conjunto predeterminado de propiedades.

GET https://graph.microsoft.com/v1.0/contacts/delta

Respuesta

Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink obtenido de la inicialización de la consulta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "companyName": "companyName-value",
      "department": "department-value",
      "displayName": "displayName-value",
      "givenName": "givenName-value",
      "id": "string (identifier)",
      "jobTitle": "jobTitle-value",
      "mail": "mail-value",
      "mailNickname": "mailNickname-value",
      "surname": "surname-value"
    }
  ]
}

Ejemplo 2: seleccionar tres propiedades

Solicitud

El siguiente ejemplo muestra la solicitud inicial con la selección de tres propiedades para el control de cambios, con el comportamiento de respuesta predeterminado.

GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail

Respuesta

Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink obtenido de la inicialización de la consulta. Las tres propiedades se incluyen en la respuesta y no se sabe cuáles han cambiado desde @odata.deltaLink que se obtuvo.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "displayName-value",
      "jobTitle": "jobTitle-value",
      "mail": null
    }
  ]
}

Ejemplo 3: comportamiento alternativo de respuesta mínima

Solicitud

El siguiente ejemplo muestra la solicitud inicial con la selección de 3 propiedades para el control de cambios, con el comportamiento alternativo de respuesta mínima:

GET https://graph.microsoft.com/v1.0/contacts/delta?$select=displayName,jobTitle,mail
Prefer: return=minimal

Respuesta

Este es un ejemplo de la respuesta cuando se usa @odata.deltaLink obtenido de la inicialización de la consulta. La mail propiedad no está incluida, lo que significa que no ha cambiado desde la última consulta delta; displayName y jobTitle se incluyen, lo que significa que sus valores han cambiado.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#contacts",
  "@odata.nextLink":"https://graph.microsoft.com/v1.0/contacts/delta?$skiptoken=pqwSUjGYvb3jQpbwVAwEL7yuI3dU1LecfkkfLPtnIjsXoYQp_dpA3cNJWc",
  "value": [
    {
      "displayName": "displayName-value",
      "jobTitle": null
    }
  ]
}