Compartilhar via


Criar convite

Namespace: microsoft.graph

Utilize esta API para criar um novo convite ou repor o status de resgate para um utilizador convidado que já resgatou o convite. O convite adiciona o utilizador externo à organização como parte da colaboração B2B. A colaboração B2B é suportada tanto em ID externa do Microsoft Entra na força de trabalho como em inquilinos externos.

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

  1. Durante a criação do convite, o Microsoft Graph pode enviar automaticamente um e-mail de convite diretamente para o utilizador convidado ou a sua aplicação pode utilizar o conviteRedeemUrl devolvido na resposta para criar o seu próprio convite (através do mecanismo de comunicação escolhido) para o utilizador convidado. Se decidir que o Microsoft Graph envia automaticamente um e-mail de convite, pode especificar o conteúdo e o idioma do e-mail utilizando invitedUserMessageInfo.
  2. Quando o utilizador é convidado, é criada uma entidade de utilizador (de userTypeGuest) e pode ser utilizada 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.

Esta API está disponível nas seguintes implementações de cloud nacionais.

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

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
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 escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação:

  • Para convidar convidados:
    • Tanto os utilizadores membros não administradores como os utilizadores convidados podem convidar convidados se o administrador de inquilinos não tiver restringido as permissões de utilizador predefinidas.
    • Convidado, Escritores de Diretórios ou Administrador de Utilizadores.
  • Para repor o status de resgate: Administrador de Suporte Técnico ou Administrador de Utilizadores.
  • As permissões de aplicação (apenas aplicações) não funcionam se os convites B2B estiverem desativados no inquilino ou se os convites B2B estiverem restritos aos administradores.
  • Ao repor o status de resgate de um utilizador convidado, a permissão User.ReadWrite.All é a permissão com menos privilégios 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 seguinte lista os parâmetros que são necessários quando cria um convite.

Parâmetro Tipo Descrição
invitedUserEmailAddress string O endereço de e-mail do utilizador que está a convidar.
inviteRedirectUrl string A URL para a qual o usuário será redirecionado após o resgate.

Resposta

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

Exemplo

Exemplo 1: Convidar um utilizador convidado

Solicitação

O exemplo seguinte mostra um pedido para adicionar e convidar um utilizador 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"
    }
}

Exemplo 2: Repor o status de resgate de um utilizador convidado

Solicitação

O exemplo seguinte mostra um pedido para repor a status de resgate de um utilizador convidado. O pedido altera o endereço de e-mail do utilizador, mas mantém o ID de utilizador atual. Antes de executar o pedido, tem de adicionar o novo endereço de e-mail à propriedade otherMails do objeto de utilizador 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"
    }
}