Partilhar via


Criar convite

Namespace: microsoft.graph

Utilize esta API para criar um novo convite ou repor o estado de resgate de um utilizador convidado que já tenha resgatado o convite. O convite adiciona um usuário externo à organização.

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

As permissões de aplicação (apenas de aplicação) não funcionam se os convites B2B estiverem desativados no inquilino ou se os convites B2B estiverem restritos aos administradores.

Ao repor o estado de resgate de um utilizador convidado, a permissão User.ReadWrite.All é a permissão com menos privilégios para a operação.

Para cenários delegados, o utilizador com sessão iniciada tem de ter, pelo menos, a função Convidado,Escritores de Diretórios ou Administrador de Utilizadoresmicrosoft Entra. Para repor o estado de resgate, o utilizador com sessão iniciada tem de ter, pelo menos, a função Administrador de Suporte Técnico ou Administrador de Utilizadores .

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 estado de resgate de um utilizador convidado

Solicitação

O exemplo seguinte mostra um pedido para repor o estado 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"
    }
}