Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Cree una invitación nueva o restablezca el estado de canje para un usuario invitado que ya haya canjeado su invitación. La invitación agrega el usuario externo a la organización como parte de la colaboración B2B. La colaboración B2B es compatible tanto con el Id. externo de Microsoft Entra en los recursos de trabajo como con los inquilinos externos.
Las siguientes opciones están disponibles para crear una invitación:
- Al crear la invitación, Microsoft Graph puede enviar automáticamente un correo electrónico de invitación directamente al usuario invitado, o la aplicación puede usar el inviteRedeemUrl devuelto en la respuesta para crear su propia invitación (a través del mecanismo de comunicación de su elección) al usuario invitado. Si decide que Microsoft Graph envíe un correo electrónico de invitación automáticamente, puede especificar el contenido y el idioma del correo electrónico mediante invitedUserMessageInfo.
- Cuando se invita al usuario, se crea una entidad de usuario (de userType
Guest) que se puede usar para controlar el acceso a los recursos. El usuario invitado tiene que pasar por el proceso de canje para acceder a los recursos a los que se le ha invitado.
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global | Administración pública de EE. UU. | Gobierno de EE. UU. L5 (DOD) | China operado por 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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) | User.Invite.All | Directory.ReadWrite.All, User.ReadWrite.All |
| Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
| Aplicación | User.Invite.All | Directory.ReadWrite.All, User.ReadWrite.All |
Importante
En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado con un permiso de rol admitido. Para esta operación se admiten los siguientes roles con privilegios mínimos:
- Para invitar invitados:
- Tanto los usuarios miembro no administradores como los usuarios invitados pueden invitar a invitados si el administrador del espacio empresarial no ha restringido los permisos de usuario predeterminados.
- Invitador de invitados, escritores de directorios o administrador de usuarios.
- Para restablecer el estado de canje: Administrador del departamento de soporte técnico o Administrador de usuarios.
- Los permisos de aplicación (solo para aplicaciones) no funcionan si las invitaciones B2B están deshabilitadas en el espacio empresarial.
- Al restablecer el estado de canje para un usuario invitado, el permiso User.ReadWrite.All es el permiso con privilegios mínimos para la operación.
Solicitud HTTP
POST /invitations
Encabezados de solicitud
| Encabezado | Valor |
|---|---|
| Authorization | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
| Content-Type | application/json |
Cuerpo de solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto invitation.
En la tabla siguiente se enumeran los parámetros necesarios al crear una invitación.
| Parámetro | Tipo | Descripción |
|---|---|---|
| invitedUserEmailAddress | string | La dirección de correo electrónico del usuario al que está invitando. |
| inviteRedirectUrl | string | Dirección URL a la que se redirigirá al usuario después del canje. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 201 Created y un objeto invitation en el cuerpo de la respuesta.
Ejemplo
Ejemplo 1: Invitar a un usuario invitado
Solicitud
En el ejemplo siguiente se muestra una solicitud para agregar e invitar a un usuario invitado.
POST https://graph.microsoft.com/beta/invitations
Content-type: application/json
{
"invitedUserEmailAddress": "admin@fabrikam.com",
"inviteRedirectUrl": "https://myapp.contoso.com"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#invitations/$entity",
"id": "9071bfde-35e0-47d2-a582-d244ab1b4af6",
"inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%2f%3ften...6ver%3d2.0",
"invitedUserDisplayName": null,
"invitedUserType": "Guest",
"invitedUserEmailAddress": "admin@fabrikam.com",
"sendInvitationMessage": false,
"resetRedemption": false,
"inviteRedirectUrl": "https://myapp.contoso.com",
"status": "PendingAcceptance",
"invitedUserMessageInfo": {
"messageLanguage": null,
"customizedMessageBody": null,
"ccRecipients": [
{
"emailAddress": {
"name": null,
"address": null
}
}
]
},
"invitedUser": {
"id": "cbb896f9-8306-49d0-b56b-b8e39cd28825",
"userPrincipalName": "admin_fabrikam.com#EXT#@doc.onmicrosoft.com"
}
}
Ejemplo 2: Restablecer el estado de canje de un usuario invitado
Solicitud
En el ejemplo siguiente se muestra una solicitud para restablecer el estado de canje de un usuario invitado. La solicitud cambia la dirección de correo electrónico del usuario, pero mantiene su identificador de usuario actual. Antes de ejecutar la solicitud, debe agregar la nueva dirección de correo electrónico a la propiedad otherMails del objeto de usuario invitado existente.
POST https://graph.microsoft.com/beta/invitations
Content-type: application/json
{
"invitedUserEmailAddress": "AdeleV@fabrikam.com",
"inviteRedirectUrl": "https://myapp.contoso.com",
"invitedUser": {
"id": "264e6d50-eaec-461e-b187-873b1bcf855f"
},
"resetRedemption": true
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#invitations/$entity",
"id": "46d72876-dba6-4a05-b9ec-118faf16c4b7",
"inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%2f%3fte...3d2.0",
"invitedUserDisplayName": null,
"invitedUserType": "Guest",
"invitedUserEmailAddress": "AdeleV@fabrikam.com",
"sendInvitationMessage": false,
"resetRedemption": true,
"inviteRedirectUrl": "https://myapp.contoso.com",
"status": "PendingAcceptance",
"invitedUserMessageInfo": {
"messageLanguage": null,
"customizedMessageBody": null,
"ccRecipients": [
{
"emailAddress": {
"name": null,
"address": null
}
}
]
},
"invitedUser": {
"id": "264e6d50-eaec-461e-b187-873b1bcf855f",
"userPrincipalName": "AdeleV_fabrikam.com#EXT#@doc.onmicrosoft.com"
}
}