Compartir a través de


Crear invitación

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 nueva invitación o restablezca el estado de canje de un usuario invitado que ya haya canjeado su invitación. La invitación agrega un usuario externo a la organización.

Las siguientes opciones están disponibles para crear una invitación:

  1. Al crear la invitación, Microsoft Graph puede enviar automáticamente un correo electrónico de invitación directamente al usuario invitado, o bien la aplicación puede usar el valor de inviteRedeemUrl devuelto en la respuesta para crear su propia invitación (a través del mecanismo de comunicación que prefiera) al usuario invitado. Si decide que Microsoft Graph envíe automáticamente un correo electrónico de invitación, puede especificar el contenido y el idioma del correo electrónico mediante invitedUserMessageInfo.
  2. Cuando se invita al usuario, se crea una entidad de usuario (de userTypeGuest) y 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 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) 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

Los permisos de aplicación (solo aplicación) no funcionan si las invitaciones B2B están deshabilitadas en el inquilino o si las invitaciones B2B están restringidas a los administradores.

Al restablecer el estado de canje de un usuario invitado, el permiso User.ReadWrite.All es el permiso con privilegios mínimos para la operación.

Para escenarios delegados, el usuario que ha iniciado sesión debe tener al menos el rol Invitador de invitado, Escritores de directorios o Administrador de usuarios Microsoft Entra. Para restablecer el estado de canje, el usuario que ha iniciado sesión debe tener al menos el rol Administrador del departamento de soporte técnico o Administrador de usuarios .

Solicitud HTTP

POST /invitations

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la 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 Dirección de correo electrónico del usuario al que invita.
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"
    }
}

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"
    }
}