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 | ||||||
---|---|---|---|---|---|---|
| ||||||
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": "basic", "user": "", "authenticationpassword": "", "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: |
...
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.
...
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.
Note |
---|
Em seguida, clique no botão Salvar. |
...