Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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 um endpoint de webhook no painel da sua aplicação, no menu configurações, para receber as informações de atualização.

...

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)

Code Block
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

Code Block
{

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

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

}

Panel
panelIconIdatlassian-check_mark
panelIcon:check_mark:
bgColor#C0B6F2

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.

Info

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

Request Webhook - APIDepreciada ⚠️

Code Block
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"
}'

Note

Esta API não suporta isAuthenticated com valor “true”.

 

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.

 

Info

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:

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

 

Info

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)

 

Info

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.

Image Added

 

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.

Image Added

 

Note

Em seguida, clique no botão Salvar.

...