Usar la API de Microsoft Graph para obtener notificaciones de cambios

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Precaución

Las aplicaciones existentes que usan esta característica con baseTask o baseTaskList deben actualizarse, ya que el conjunto de API de tareas pendientes creado a partir de estos recursos está en desuso a partir del 31 de mayo de 2022. Ese conjunto de API dejará de devolver datos el 31 de agosto de 2022. Utilice el conjunto de API creado en todoTask.

La API de REST de Microsoft Graph puede enviar notificaciones de cambios a los clientes a través de varios puntos de conexión, como webhooks, Event Hubs y Event Grid. Para obtener información sobre cómo suscribirse y recibir notificaciones de su aplicación, consulte Configurar notificaciones para cambios en los datos de usuario.

Una aplicación puede suscribirse a los cambios en los recursos de Microsoft Graph enumerados en la tabla. Las suscripciones a recursos marcados con un asterisco (*) solo están disponibles en el punto de /beta conexión.

Nota:

Para los recursos de Microsoft Teams, el límite por organización de 10 000 suscripciones totales se comparte acumulativamente entre todas las suscripciones de notificación de cambio de Teams en el inquilino. Incluye suscripciones creadas para diferentes recursos de Teams, como chats, mensajes de chat, transcripciones de llamadas, grabaciones de llamadas, canales, equipos y miembros de conversaciones, que cuentan para la misma cuota organizativa. Cuando el número combinado de suscripciones activas de Teams alcanza este límite, se produce un 403 Forbidden error en cualquier solicitud de creación de suscripción adicional para un recurso de Teams.

Recurso Rutas de acceso de recursos admitidas Limitaciones
Impresora para impresión en la nube Cambios cuando un trabajo de impresión está listo para descargarse (evento jobFetchable): /print/printers/{id}/jobs -
Impresión en la nube printTaskDefinition Cambia cuando hay un trabajo válido en la cola (evento jobStarted): /print/printtaskdefinition/{id}/tasks -
Copilot aiInsights Información de IA de Copilot de las reuniones de las que forma parte un usuario determinado: /copilot/users/{userId}/onlineMeetings/getAllAiInsights

Información de IA de Copilot para una reunión en particular: /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights
Cuotas de suscripción máximas para AI Insights en todas las reuniones de un usuario:
  • Por aplicación y combinación de usuario: 1
  • Por usuario (delegado): 10
  • Por organización: 10 000 suscripciones en total.


Cuotas de suscripción máximas para obtener información de IA de una reunión específica:
  • Por combinación de aplicación y usuario + reunión: 1
  • Por usuario y combinación de reunión (delegada): 1
  • Por organización: 10 000 suscripciones totales (compartidas)
Copilot aiInteraction Interacciones de IA de Copilot de las que forma parte un usuario concreto: copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions

Interacciones de IA de Copilot en una organización: copilot/interactionHistory/getAllEnterpriseInteractions
Cuotas de suscripción permitidas:
  • Por combinación de aplicación y espacio empresarial (para suscripciones que realizan un seguimiento de las interacciones de IA en un espacio empresarial): 1
  • Por aplicación y combinación de usuario (para las suscripciones que realizan un seguimiento de las interacciones de IA de las que forma parte un usuario concreto): 1
  • Por usuario (para las suscripciones que realizan un seguimiento de las interacciones con IA de las que forma parte un usuario concreto): 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
driveItem en OneDrive (personal) Cambios en el contenido dentro de la jerarquía de cualquier carpeta: /users/{id}/drive/root -
driveItem en OneDrive para el trabajo o la escuela Cambios en el contenido dentro de la jerarquía de la carpeta raíz: /drives/{id}/root , /users/{id}/drive/root -
group Cambios en todos los grupos: /groups

Cambios en un grupo específico: /groups/{id}

Cambios en los propietarios de un grupo específico: /groups/{id}/owners

Cambios en los miembros de un grupo específico: /groups/{id}/members
Cuotas de suscripción permitidas:
  • Por aplicación (para todos los espacios empresariales combinados): 50 000 suscripciones en total.
  • Por inquilino (para todas las aplicaciones combinadas): 1000 suscripciones en total en todas las aplicaciones.
  • Por combinación de aplicación e inquilino: 100 suscripciones en total.


No se admite para inquilinos de Azure AD B2C.

NOTA: La creación y la eliminación temporal de grupos también activan changeTypeupdated.
Alerta de supervisión de mantenimiento de Microsoft Entra Cambios en todas las alertas de supervisión de estado: /reports/healthmonitoring/alerts

Cambios en un tipo específico de alerta: /reports/healthmonitoring/alert con la propiedad en Carga útil notificationQueryOptions de la solicitud establecida como $filter=alertType eq '{alertType}'
-
lista en un sitio de SharePoint Cambios en el contenido de la lista: /sites/{site-id}/lists/{list-id} -
conversación de grupo de Microsoft 365 Cambios en las conversaciones de un grupo: groups/{id}/conversations -
mensaje de Outlook Cambios en todos los mensajes del buzón de un usuario: /users/{id}/messages , /me/messages

Cambios en los mensajes de la bandeja de entrada de un usuario: /users/{id}/mailFolders('inbox')/messages , /me/mailFolders('inbox')/messages
Se permite un máximo de 1000 suscripciones activas por buzón para todas las aplicaciones.
evento de Outlook Cambios en todos los eventos del buzón de un usuario: /users/{id}/events , /me/events Se permite un máximo de 1000 suscripciones activas por buzón para todas las aplicaciones.
contacto personal de Outlook Cambios en todos los contactos personales del buzón de un usuario: /users/{id}/contacts , /me/contacts Se permite un máximo de 1000 suscripciones activas por buzón para todas las aplicaciones.
alerta de seguridad Cambios en una alerta específica: /security/alerts/{id}

Cambios en las alertas filtradas: /security/alerts/?$filter={parameters}
Para obtener más información, consulte Alertas de la API para seguridad.
Aprobaciones de Teams Cambios en todas las aprobaciones de un espacio empresarial: /solutions/approval/approvalItems Cuotas de suscripción permitidas:
  • Por empresa (para todas las aplicaciones combinadas): 1000 suscripciones totales en todas las aplicaciones
  • Por combinación de aplicación e inquilino: 1 suscripción.
callRecord de Teams Cambios en todos los registros de llamadas: /communications/callRecords

Cambios en los registros de llamadas filtrados: /communications/callRecords?$filter={parameters}
Para obtener más información, consulte Cambiar notificaciones para registros de llamadas.

Cuotas de suscripción permitidas:
  • Por organización: 100 suscripciones en total.


NOTA: La creación de registros de llamada también activa el updatedchangeType.
Grabación de llamadas de Teams Todas las grabaciones de una organización: communications/onlineMeetings/getAllRecordings

Todas las grabaciones de una reunión específica: communications/onlineMeetings/{onlineMeetingId}/recordings

Una grabación de llamada que está disponible en una reunión organizada por un usuario específico: users/{id}/onlineMeetings/getAllRecordings

Una grabación de llamada que está disponible en una reunión en la que está instalada una aplicación de Teams determinada: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings *
Cuotas de suscripción permitidas:
  • Por aplicación y combinación de reunión en línea: 1
  • Por aplicación y combinación de usuario: 1
  • Por usuario (para las suscripciones que realizan un seguimiento de las grabaciones en todas las reuniones en línea organizadas por el usuario): 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Teams callTranscript Todas las transcripciones de una organización: communications/onlineMeetings/getAllTranscripts

Todas las transcripciones de una reunión específica: communications/onlineMeetings/{onlineMeetingId}/transcripts

Una transcripción de llamada que está disponible en una reunión organizada por un usuario específico: users/{id}/onlineMeetings/getAllTranscripts

Una transcripción de llamada que está disponible en una reunión en la que está instalada una aplicación de Teams determinada: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts *
Cuotas de suscripción permitidas:
  • Por aplicación y combinación de reunión en línea: 1
  • Por aplicación y combinación de usuario: 1
  • Por usuario (para las suscripciones que realizan un seguimiento de las transcripciones en todas las reuniones en línea organizadas por el usuario): 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Chat de Teams Cambios en cualquier chat del espacio empresarial: /chats

Cambios en un chat específico: /chats/{id}

Cambios en un chat específico con el parámetro de consulta notifyOnUserSpecificProperties : /chats/{id}?notifyOnUserSpecificProperties={Boolean}

Cambios en todos los chats de una organización donde está instalada una aplicación de Teams determinada: /appCatalogs/teamsApps/{id}/installedToChats

Cambios en todos los chats de los que forma parte un usuario concreto: /users/{id}/chats

Cambios en todos los chats de los que forma parte un usuario determinado con el parámetro de consulta notifyOnUserSpecificProperties : /users/{id}/chats?notifyOnUserSpecificProperties={Boolean}
Cuotas de suscripción permitidas:
  • Por combinación de aplicación y chat: 1 suscripción.
  • Por organización: 10 000 suscripciones en total.
  • Por usuario (para suscripciones que realizan un seguimiento de todos los chats de los que forma parte un usuario en particular): 10 suscripciones.
chatmessage de Teams Cambios en los mensajes de chat en todos los canales de todos los equipos: /teams/getAllMessages

Cambios en los mensajes de chat en un canal específico: /teams/{id}/channels/{id}/messages

Cambios en los mensajes de chat en todos los chats: /chats/getAllMessages

Cambios en los mensajes de chat en un chat específico: /chats/{id}/messages

Cambios en los mensajes de chat en todos los chats de los que forma parte un usuario determinado: /users/{id}/chats/getAllMessages

Cambios en los mensajes de chat para todos los chats de una organización donde está instalada una aplicación de Teams determinada: /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages
Cuotas de suscripción permitidas:
  • Por aplicación y combinación de canal o chat: 1 suscripción.
  • Por usuario (para las suscripciones que realizan un seguimiento de los mensajes de chat en todos los chats de los que forma parte el usuario): 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Canal de Teams Cambios en los canales de todos los equipos: /teams/getAllChannels

Cambios en el canal de un equipo específico: /teams/{id}/channels
Cuotas de suscripción permitidas:
  • Por combinación de aplicación y equipo: 1 suscripción.
  • Por organización: 10 000 suscripciones en total.
conversationMember de Teams Cambios en la pertenencia a un equipo específico: /teams/{id}/members

Cambios en la pertenencia a todos los canales de un equipo específico: teams/{id}/channels/getAllMembers

Cambios en la pertenencia a un chat específico: /chats/{id}/members

Cambios en la pertenencia de todos los chats de una organización donde está instalada una aplicación de Teams determinada: /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers

Cambios en la pertenencia a todos los chats: /chats/getAllMembers
Cuotas de suscripción permitidas:
  • Por combinación de aplicación y equipo: 1 suscripción.
  • Por organización: 10 000 suscripciones en total.
Reunión en línea de Teams* Cambios en una reunión en línea: /communications/onlineMeetings(joinWebUrl='{encodedJoinWebUrl}')/meetingCallEvents No se admite el uso $select para devolver solo las propiedades seleccionadas. La notificación enriquecida consta de todas las propiedades de la instancia modificada. Una suscripción permitida por aplicación por reunión en línea. Para obtener más información, consulte Obtener notificaciones de cambios para las actualizaciones de eventos de llamadas de reunión de Microsoft Teams.
Presencede Teams Cambios en la presencia de un solo usuario: /communications/presences/{id}

Cambios en la presencia de varios usuarios: /communications/presences?$filter=id in ({id},{id}...)
La suscripción para la presencia de varios usuarios está limitada a 650 usuarios distintos. No se admite el uso $select para devolver solo las propiedades seleccionadas. La notificación enriquecida consta de todas las propiedades de la instancia modificada. Una suscripción permitida por aplicación por usuario delegado. Para obtener más información, consulte Obtener notificaciones de cambios para las actualizaciones de presencia en Microsoft Teams.
Equipo de Teams Cambios en cualquier equipo del inquilino: /teams

Cambios en un equipo específico: /teams/{id}
Cuotas de suscripción permitidas:
  • Por combinación de aplicación y equipo: 1 suscripción.
  • Por organización: 10 000 suscripciones en total.
Oferta de turnos de TeamsShiftRequest Cambios en cualquier oferta solicitud de turno en un equipo: /teams/{id}/schedule/offerShiftRequests Cuotas de suscripción permitidas:
  • Combinación de ruta de acceso por aplicación y recurso: 1 suscripción por inquilino.
  • Por ruta de acceso de recursos y combinación de usuario: 10 suscripciones de usuario delegadas por inquilino.
Turnos de Teams openShiftChangeRequest Cambios en cualquier solicitud de turno abierto en un equipo: /teams/{id}/schedule/openShiftChangeRequests Cuotas de suscripción permitidas:
  • Combinación de ruta de acceso por aplicación y recurso: 1 suscripción por inquilino.
  • Combinación de ruta de acceso por usuario y recurso: 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Turno de Turnos de Teams Cambios en cualquier turno de un equipo: /teams/{id}/schedule/shifts Cuotas de suscripción permitidas:
  • Combinación de ruta de acceso por aplicación y recurso: 1 suscripción por inquilino.
  • Combinación de ruta de acceso por usuario y recurso: 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Cambios de turnos de Teams swapShiftsChangeRequest Cambios en cualquier solicitud de cambio de turno en un equipo: /teams/{id}/schedule/swapShiftsChangeRequests Cuotas de suscripción permitidas:
  • Combinación de ruta de acceso por aplicación y recurso: 1 suscripción por inquilino.
  • Combinación de ruta de acceso por usuario y recurso: 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
Turnos de Teams timeOffRequest Cambios en cualquier solicitud de tiempo libre en un equipo: /teams/{id}/schedule/timeOffRequests Cuotas de suscripción permitidas:
  • Combinación de ruta de acceso por aplicación y recurso: 1 suscripción por inquilino.
  • Combinación de ruta de acceso por usuario y recurso: 10 suscripciones.
  • Por organización: 10 000 suscripciones en total.
todoTask Cambios en todas las tareas de una lista de tareas específica: /me/todo/lists/{todoTaskListId}/tasks -
user Cambios para todos los usuarios: /users

Cambios en un usuario específico: /users/{id}
Cuotas de suscripción permitidas:
  • Por aplicación (para todos los espacios empresariales combinados): 50 000 suscripciones en total.
  • Por inquilino (para todas las aplicaciones combinadas): 1000 suscripciones en total en todas las aplicaciones
  • Por combinación de aplicación e inquilino: 100 suscripciones en total.


No se admite con cuentas personales de Microsoft como outlook.com.

No se admite para inquilinos de Azure AD B2C.

NOTA: La creación y la eliminación temporal de usuarios también activan changeTypeupdated.

Nota:

Muchos recursos tienen límites o cuotas en el número de suscripciones que se pueden realizar en ese recurso. Cuando se supere ese límite, los intentos de crear una suscripción producirán una respuesta de 403 Forbidden error. La propiedad message de la respuesta de error explicará el límite que se ha excedido.

Algunos de estos recursos admiten notificaciones enriquecidas (notificaciones con datos de recursos). Para obtener más información, consulte Configurar notificaciones de cambios que incluyan datos de recursos.

Nota: cualquiera de las rutas de acceso a los recursos que empiece por /users/{id} también pueden aceptar /me para hacer referencia al usuario que ha iniciado sesión.

Permissions

En general, las operaciones de suscripción requieren permiso de lectura en el recurso. Por ejemplo, para obtener notificaciones en mensajes, la aplicación necesita el permiso Mail.Read. En el artículo sobre cómo crear suscripciones se muestran los permisos necesarios para cada tipo de recurso. En la siguiente tabla aparecen los tipos de permisos que la aplicación puede solicitar para usar webhooks con tipos de recurso concretos.

Tipo de permiso Tipos de recursos admitidos
Delegado: cuenta profesional o educativa aiInsights, aiInteraction, alerta, callRecording, callTranscript, canal, chat, chatMessage (versión preliminar), contacto, conversación, conversationMember, driveItem, event, grupo, lista, mensaje, offerShiftRequest, openShiftChangeRequest, presencia, turno,swapShiftsChangeRequest, team, timeOffRequest, todoTask, user, baseTask (en desuso)
Delegado: cuenta de Microsoft personal contact, driveItem, event, list, message, todoTask, baseTask (obsoleto)
Aplicación aiInsights, aiInteraction, alerta, callRecord, aprobaciones, callRecording, callTranscript, canal, chat, chatMessage, contacto, conversationMember, driveItem, event, grupo, lista, mensaje, offerShiftRequest, onlineMeeting, openShiftChangeRequest, impresora, printTaskDefinition, shift, swapShiftsChangeRequest, team, timeOffRequest, user