Pular para o conteúdo principal

Solicitação de Webhooks

Uma vez que um evento de hook válido é emitido, o Logto encontrará os webhooks correspondentes e enviará uma solicitação POST por configuração de hook.

Cabeçalhos da solicitação

ChavePersonalizávelNotas
user-agentLogto (https://logto.io/) por padrão.
content-typeapplication/json por padrão.
logto-signature-sha-256a assinatura do corpo da solicitação, consulte securing your webhooks.

Você pode sobrescrever cabeçalhos personalizáveis customizando cabeçalhos de solicitação com a mesma chave.

Corpo da solicitação de eventos de hook de interação

Eventos disponíveis: PostRegister, PostSignIn, PostResetPassword

O corpo da solicitação é um objeto JSON que contém três tipos de campo de dados:

type UserEntity = {
id: string;
username?: string;
primaryEmail?: string;
primaryPhone?: string;
name?: string;
avatar?: string;
customData?: object;
identities?: object;
lastSignInAt?: string;
createdAt?: string;
applicationId?: string;
isSuspended?: boolean;
};
type ApplicationEntity = {
id: string;
name: string;
description?: string;
};
CampoTipoOpcionalNotas
hookIdstringO identificador no Logto.
eventstringQual evento aciona este hook.
createdAtstringO tempo de criação do payload em formato ISO.
interactionEventstringO evento de interação que aciona este hook.
sessionIdstringO ID da Sessão (não o ID de Interação) para este evento, se aplicável.
userAgentstringO user-agent para a solicitação que aciona este hook.
userIpstringO endereço IP para a solicitação que aciona este hook.
userIdstringO ID do Usuário relacionado para este evento, se aplicável.
userUserEntityA entidade de usuário relacionada para este evento, se aplicável.
applicationIdstringO ID do Aplicativo relacionado para este evento, se aplicável.
applicationApplicationEntityAs informações do aplicativo relacionadas para este evento, se aplicável.

Consulte as referências de Usuários e Aplicativos para explicações detalhadas dos campos.

Corpo da solicitação de eventos de mutação de dados

Campos padrão do corpo da solicitação

CampoTipoOpcionalNotas
hookIdstringO identificador no Logto.
eventstringQual evento aciona este hook.
createdAtstringO tempo de criação do payload em formato ISO.
userAgentstringO user-agent para a solicitação.
ipstringO endereço IP para a solicitação.

Campos do corpo do contexto da API de interação

Eventos de mutação de dados que são acionados por chamadas de API de interação do usuário.

Eventos disponíveis: User.Created, User.Data.Updated

CampoTipoOpcionalNotas
interactionEventstringO evento de interação que aciona este hook.
sessionIdstringO ID da Sessão (não o ID de Interação) para este evento, se aplicável.
applicationIdstringO ID do Aplicativo relacionado para este evento, se aplicável.
applicationApplicationEntityAs informações do aplicativo relacionadas para este evento, se aplicável.

Campos do corpo do contexto da Management API

Eventos de mutação de dados que são acionados por chamadas da Management API.

CampoTipoOpcionalNotas
pathstringO caminho da chamada de API que aciona este hook.
methodstringO método da chamada de API que aciona este hook.
statusnumberO código de status da resposta da chamada de API que aciona este hook.
paramsobjectOs parâmetros de caminho koa da solicitação da chamada de API que aciona este hook.
matchedRoutestringA rota koa correspondente da chamada de API que aciona este hook. O Logto usa este campo para corresponder aos eventos de hook habilitados.

Campos do corpo do payload de dados

Eventos de Usuário

EventoCampoTipoOpcionalNotas
User.CreateddataUserEntityA entidade de usuário criada para este evento.
User.Data.UpdateddataUserEntityA entidade de usuário atualizada para este evento.
User.Deleteddatanull/

Eventos de Papel (Role)

type Role = {
id: string;
name: string;
description: string;
type: 'User' | 'MachineToMachine';
isDefault: boolean;
};
type Scope = {
id: string;
name: string;
description: string;
resourceId: string;
createdAt: number;
};
EventoCampoTipoOpcionalNotas
Role.CreateddataRoleA entidade de papel criada para este evento.
Role.Data.UpdateddataRoleA entidade de papel atualizada para este evento.
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]Os escopos atualizados atribuídos ao papel.
Role.Scope.UpdatedroleIdstringO ID do papel ao qual os escopos são atribuídos. (Disponível apenas quando o evento foi acionado pela criação de novo papel com escopos pré-atribuídos)

Eventos de Permissão (Scope)

EventoCampoTipoOpcionalNotas
Scope.CreateddataScopeA entidade de escopo criada para este evento.
Scope.Data.UpdateddataScopeA entidade de escopo atualizada para este evento.
Scope.Deleteddatanull/

Eventos de Organização (Organization)

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
EventoCampoTipoOpcionalNotas
Organization.CreateddataOrganizationA entidade de organização criada para este evento.
Organization.Data.UpdateddataOrganizationA entidade de organização atualizada para este evento.
Organization.Deleteddatanull/
Organization.Membership.Updateddatanull/

Eventos de Papel da Organização (OrganizationRole)

type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
EventoCampoTipoOpcionalNotas
OrganizationRole.CreateddataOrganizationRoleA entidade de papel da organização criada para este evento.
OrganizationRole.Data.UpdateddataOrganizationRoleA entidade de papel da organização atualizada para este evento.
OrganizationRole.Deleteddatanull/
OrganizationRole.Scope.Updateddatanull/
OrganizationRole.Scope.UpdatedorganizationRoleIdstringO ID do papel ao qual os escopos são atribuídos. (Disponível apenas quando o evento foi acionado pela criação de novo papel com escopos pré-atribuídos)

Eventos de Permissão da Organização (OrganizationScope)

EventoCampoTipoOpcionalNotas
OrganizationScope.CreateddataOrganizationScopeA entidade de escopo da organização criada.
OrganizationScope.Data.UpdateddataOrganizationScopeA entidade de escopo da organização atualizada.
OrganizationScope.Deleteddatanull/