Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Como registrar um WebHook para receber as atualizações de eventos de consentimento

Para se manter atualizado sobre qualquer evento no ciclo de vida do consentimento, você deve registrar uma API de webhook para receber as informações de atualização.

O endpoint do webhook deve estar no método POST, em https. O domínio e a URI podem estar em qualquer formato que você tenha em sua plataforma, para os exemplos abaixo consideraremos o exemplo de endpoint POST https://www.my-domain.com/webhook

Depois de implementar esta API em sua plataforma, você precisa registrá-la para receber notificações por meio de nossa API de registro de webhook.

Mas para acessar essa API, você precisa realizar uma etapa anterior, que consiste em se autenticar usando as credenciais do seu aplicativo. Descreveremos o passo a passo neste tópico.

Acess Token Request (usando as credenciais do My First App)

curl --location --request POST 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/token' \ --header 'Content- Type: application/json' \ --data-raw '{	"client_id":"64b51075-45bf-46cc-aed4-29b69b51816d", "client_secret": "9257b897-01ca- 4ebd-9fd4-************"}'

Acess Token Response

{

"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSY0hYOGxFRl93QmxFNUF3eXY2TV9JQUFEUm1pSzV5SWlnW "expires_in": 3600,

"refresh_expires_in": 0, "token_type": "Bearer", "not-before-policy": 0, "scope": "email profile"

}

Agora você precisa obter o conteúdo do parâmetro "access_token" e incluí-lo como um cabeçalho Authentication Bearer para todas as futuras chamadas de API.

Gerado o access_token, vamos registrar seu webhook usando a solicitação abaixo.

API de registro de webhook

curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/smart-keys/interceptors' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{your_generated_access_token_here}}' \
--data '{
    "endpoint": "https://www.my-domain.com/webhook",
    "isAuthenticated": false,
    "authenticationType": "",
    "user": "",
    "password": "",
    "type": "PAYMENT"
}'

 

A solicitação retornará os seguintes códigos de status Http.

HTTP Status Code

 

201

Webhook succesfully registered.

400

Bad Request - error at request field validations.

401

The used token is not allowed to access the resource.

 

Isso é tudo! Agora, a qualquer atualização de status de consentimento, o API POST https://www.my-domain.com/webhook receberá uma solicitação com o campo body conforme abaixo:

{
  "event": "before:consent:create",
  "data": { ... }
}

 

O campo data traz detalhes sobre o evento de consentimento. Já o evento de campo traz o novo status de consentimento, que pode ser uma das possibilidades abaixo.

Evento

Detalhes

before : consent : create

Recebemos uma solicitação para uma criação de consentimento.

after : consent : create

Todos os campos de consentimento foram validados, está seguindo todos os padrões necessários e foi criado.

consent : approved

O consentimento foi aprovado pelo usuário.

consent : rejected

O consentimento foi rejeitado pelo usuário.

consent : consumed

O consentimento foi consumido pela Instituição Financeira.

consent : polling

Sondagem para verificar a situação do pagamento na Instituição Financeira.

consent : finish

O dinheiro foi transferido com sucesso ou houve algum erro relatado por uma das Instituições Financeiras envolvidas na transação. Mais informações são fornecidas dentro dos dados de campo.

consent : expired

O consentimento expirou. Não foi aprovado ou rejeitado após 5 minutos da criação OU após aprovação/rejeição não foi consumido em 70 minutos.

consent : revoke

Consentimento revogado pelo usuário (geralmente após aprovação)

 

Testando o webhook

Para testar o processo do WebHook, ele também pode ser configurado na seção Gestão de Endpoints do portal de desenvolvimento. Utilizaremos o Site WebHook (https://webhook.site/) para simular o processo. O site irá gerar um URL WebHook conforme mostrado abaixo.

 

Copie a URL do WebHook gerada e registre-se nas Configurações do aplicativo na seção "Gerenciamento de endpoints". Você deve inserir como método POST e receberá um Json no body.

 

Em seguida, clique no botão Salvar.

  • No labels