Criar convite

Namespace: microsoft.graph

Use essa API para criar um novo convite ou redefinir o status de resgate de um usuário convidado que já resgatou o convite. O convite adiciona o usuário externo à organização como parte da colaboração B2B. A colaboração B2B tem suporte na ID externa do Microsoft Entra na força de trabalho e nos locatários externos.

Ao criar um novo convite, você tem várias opções disponíveis:

  1. Na criação do convite, o Microsoft Graph pode enviar automaticamente um email de convite diretamente para o usuário convidado, ou seu aplicativo pode usar o inviteRedeemUrl retornado na resposta para criar seu próprio convite (por meio do mecanismo de comunicação de sua escolha) para o usuário convidado. Se você decidir que o Microsoft Graph enviará um email de convite automaticamente, poderá especificar o conteúdo e o idioma do email usando invitedUserMessageInfo.
  2. Quando o usuário é convidado, uma entidade de usuário (de userTypeGuest) é criada e pode ser usada para controlar o acesso aos recursos. O usuário convidado precisa passar pelo processo de resgate do convite para acessar quaisquer recursos para os quais foi convidado.

Essa API está disponível nas seguintes implantações de nuvem nacional.

Serviço global Governo dos EUA L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) User.Invite.All Directory.ReadWrite.All, User.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application User.Invite.All Directory.ReadWrite.All, User.ReadWrite.All

Importante

Em cenários delegados com contas corporativas ou de estudante, o usuário conectado deve receber uma função do Microsoft Entra com suporte ou uma função personalizada com uma permissão de função com suporte. As seguintes funções menos privilegiadas têm suporte para essa operação:

  • Para convidar convidados:
    • Tanto os usuários membros não administradores quanto os usuários convidados poderão convidar convidados se o administrador do locatário não tiver restringido as permissões de usuário padrão.
    • Emissor de convites independente do convite, roteiristas de diretório ou administrador do usuário.
  • Para redefinir o status de resgate: Administrador da Assistência Técnica ou Administrador de Usuários.
  • As permissões de aplicativo (somente aplicativo) não funcionam se os convites B2B estiverem desabilitados no locatário.
  • Ao redefinir o status de resgate para um usuário convidado, a permissão User.ReadWrite.All é a permissão menos privilegiada para a operação.

Solicitação HTTP

POST /invitations

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto invitation.

A tabela a seguir lista os parâmetros necessários ao criar um convite.

Parâmetro Tipo Descrição
invitedUserEmailAddress string O endereço de email do usuário que você está convidando.
inviteRedirectUrl string A URL para a qual o usuário será redirecionado após o resgate.

Resposta

Se for bem-sucedido, esse método retornará 201 Created o código de resposta e um objeto de convite no corpo da resposta.

Exemplo

Exemplo 1: Convidar um usuário convidado

Solicitação

O exemplo a seguir mostra uma solicitação para adicionar e convidar um usuário convidado.

POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json

{
  "invitedUserEmailAddress": "admin@fabrikam.com",
  "inviteRedirectUrl": "https://myapp.contoso.com"
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#invitations/$entity",
    "id": "9071bfde-35e0-47d2-a582-d244ab1b4af6",
    "inviteRedeemUrl": "https://login.microsoftonline.com/redeem?rd=https%3a%2f%2finvitations.microsoft.com%2fredeem%...d%26ver%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"
    }
}

Exemplo 2: Redefinir o status de resgate de um usuário convidado

Solicitação

O exemplo a seguir mostra uma solicitação para redefinir o status de resgate de um usuário convidado. A solicitação altera o endereço de email do usuário, mas mantém sua ID de usuário atual. Antes de executar a solicitação, você deve adicionar o novo endereço de email à propriedade otherMails do objeto de usuário convidado existente.

POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json

{
    "invitedUserEmailAddress": "AdeleV@fabrikam.com",
    "inviteRedirectUrl": "https://myapp.contoso.com",
    "invitedUser": {
        "id": "264e6d50-eaec-461e-b187-873b1bcf855f"
    },
    "resetRedemption": true
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$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"
    }
}