Personalización y API de colaboración B2B de Microsoft Entra

Con la API REST de Microsoft Graph, puede personalizar el proceso de invitación de la forma que mejor se adapte a su organización.

Funcionalidades de la API de invitación

La API ofrece las siguientes funcionalidades:

  1. Invite a un usuario externo con cualquier dirección de correo electrónico.

    "invitedUserDisplayName": "Taylor"
    "invitedUserEmailAddress": "taylor@fabrikam.com"
    
  2. Personalice a qué página desea que lleguen los usuarios finales después de aceptar la invitación.

    "inviteRedirectUrl": "https://myapps.microsoft.com/"
    
  3. Seleccione enviar el correo electrónico de invitación estándar por medio de nosotros.

    "sendInvitationMessage": true
    

    con un mensaje al destinatario que pueda personalizar.

    "customizedMessageBody": "Hello Sam, let's collaborate!"
    
  4. Luego, ponga en copia a los usuarios a los que informar de que ha invitado a este colaborador.

  5. También puede personalizar completamente su invitación y el flujo de trabajo de incorporación decidiendo no enviar notificaciones a través de Microsoft Entra ID.

    "sendInvitationMessage": false
    

    En este caso, obtendrá una URL de canje a través de la API, que puede incrustar en una plantilla de correo electrónico, mensaje instantáneo u otro método de distribución que prefiera.

  6. Finalmente, si es administrador, puede invitar al usuario como miembro.

    "invitedUserType": "Member"
    

Determinación de si ya se invitó a un usuario a su directorio

Puede usar la API de invitación para determinar si ya existe un usuario en el inquilino de recursos. Esto puede ser útil cuando está desarrollando una aplicación que usa la API de invitación para invitar a un usuario. Si el usuario ya existe en el directorio de recursos, no recibirá una invitación, por lo que puede ejecutar primero una consulta para determinar si el correo electrónico ya existe como nombre principal de usuario u otra propiedad de inicio de sesión.

  1. Asegúrese de que el dominio de correo electrónico del usuario no forma parte del dominio comprobado del inquilino de recursos.

  2. En el inquilino de recursos, use la consulta get user siguiente, donde {0} es la dirección de correo electrónico a la que va a invitar:

    “userPrincipalName eq '{0}' or mail eq '{0}' or proxyAddresses/any(x:x eq 'SMTP:{0}') or signInNames/any(x:x eq '{0}') or otherMails/any(x:x eq '{0}')"
    

Modelo de autorización

La API se puede ejecutar en los siguientes modos de autorización:

Aplicación y modo de usuario

En este modo, el usuario que usa la API debe tener los permisos necesarios para crear invitaciones de B2B.

Modo de solo aplicación

En el contexto de solo aplicación, la aplicación necesita el ámbito User.Invite.All para que la invitación se realice correctamente.

Para obtener más información, vea:https://developer.microsoft.com/graph/docs/authorization/permission_scopes

PowerShell

Puede usar PowerShell para agregar e invitar a usuarios externos a una organización fácilmente. Cree una nueva invitación mediante el cmdlet:

New-MgInvitation

Puede utilizar las siguientes opciones:

  • -InvitedUserDisplayName
  • -InvitedUserEmailAddress
  • -SendInvitationMessage
  • -InvitedUserMessageInfo

Estado de la invitación

Después de enviar una invitación a un usuario externo, puede usar el cmdlet Get-MgBetaUser para ver si ya la ha aceptado. Cuando se envía una invitación a un usuario externo, se rellenan las propiedades siguientes de Get-MgBetaUser:

  • externalUserState indica si la invitación está en el estado PendingAcceptance o Accepted.
  • externalUserStateChangeDateTime muestra la marca de tiempo del cambio más reciente de la propiedad externalUserState.

Puede usar la opción Filter para filtrar los resultados por externalUserState. En el ejemplo siguiente se muestra cómo filtrar resultados para mostrar solo a los usuarios que tienen una invitación pendiente. En el ejemplo también se muestra la opción Format-List, que le permite especificar las propiedades que se van a mostrar.

Get-MgBetaUser -Filter "externalUserState eq 'PendingAcceptance'" | Format-List -Property DisplayName,UserPrincipalName,externalUserState,externalUserStateChangeDateTime

Nota:

Asegúrese de tener la versión más reciente del módulo de PowerShell de Microsoft Graph.

Consulte también

Consulte la referencia de API de invitación en https://developer.microsoft.com/graph/docs/api-reference/v1.0/resources/invitation.

Pasos siguientes