Criar convite
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Crie um novo convite ou reponha o status de resgate para um utilizador convidado que já tenha resgatado 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.
As seguintes opções estão disponíveis para criar um convite:
- 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.
- Quando o utilizador é convidado, é criada uma entidade de utilizador (de userType
Guest
) 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 bem-sucedido, este método retorna um código de resposta 201 Created
e um objeto invitation 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/beta/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/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"
}
}
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/beta/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/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"
}
}