Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dúvida] Sobre parâmetros inicio e fim no endpoint GET /webhook #250

Open
renatofrota opened this issue Dec 10, 2020 · 16 comments
Open

[Dúvida] Sobre parâmetros inicio e fim no endpoint GET /webhook #250

renatofrota opened this issue Dec 10, 2020 · 16 comments
Assignees
Labels
bug Algo não está funcionando como deveria. Documentação Issues relacionados à documentação, versões, melhorias de texto, etc...

Comments

@renatofrota
Copy link

Entendo que cada chave só pode ter 1 webhook associado por vez.

A existência dos parâmetros inicio e fim no endpoint GET /webhook me faz entender que há uma necessidade por parte do PSP de registrar o histórico de webhooks já associados a cada chave, ou seja, as datas de cadastramento e descadastramento (remoção/substituição por outra). É isso mesmo?

@rubenskuhl
Copy link

Eu acho que essa consulta por /webhook sem chave não faz muito sentido.

@renatofrota
Copy link
Author

renatofrota commented Dec 10, 2020

Também acho.

Inclusive o retorno da consulta não esclarece nada com nada (como em qual chave o webhook foi cadastrado), exceto uma possível lista de webhooks.

image

Deve ser mero resquício anterior à decisão de atender o pedido que fiz em #62 de tornar os webhooks vinculados à chaves e não aos client_id (e vários concordaram comigo):

seria interessante que o QR Code utilizado para realizar as cobranças (ou a chave que está vinculada a ele) tivesse um webhook vinculado

Será essencial para a maioria das pessoas que querem, efetivamente, adotar o Pix como meio principal de pagamento em seus estabelecimentos comerciais, receber as notificações de pagamento (e poder escolher o endereço de forma simplificada). Isso poderia estar vinculado à própria chave, no meu ponto de vista. Recebeu um Pix na chave X -> manda uma notificação no webhook dela.

etc...

e atendido no #120, já às vésperas do Go Live 🥳

@ninrod
Copy link
Member

ninrod commented Dec 14, 2020

Entendo que cada chave só pode ter 1 webhook associado por vez.

A existência dos parâmetros inicio e fim no endpoint GET /webhook me faz entender que há uma necessidade por parte do PSP de registrar o histórico de webhooks já associados a cada chave, ou seja, as datas de cadastramento e descadastramento (remoção/substituição por outra). É isso mesmo?

A ideia aqui era só "seguir o padrão" e prover um local onde se possa verificar "onde estão os meus webhooks, e como estão configurados neste momento".

Talvez o "inicio" e "fim" estejam sobrando, mas a ideia aqui era possibilitar alguma espécie de filtro para casos em que houvesse muitos webhooks, por exemplo.

Dito isto, continua sendo um problema?

@renatofrota
Copy link
Author

Entendo que cada chave só pode ter 1 webhook associado por vez.

A existência dos parâmetros inicio e fim no endpoint GET /webhook me faz entender que há uma necessidade por parte do PSP de registrar o histórico de webhooks já associados a cada chave, ou seja, as datas de cadastramento e descadastramento (remoção/substituição por outra). É isso mesmo?

A ideia aqui era só "seguir o padrão" e prover um local onde se possa verificar "onde estão os meus webhooks, e como estão configurados neste momento".

Talvez o "inicio" e "fim" estejam sobrando, mas a ideia aqui era possibilitar alguma espécie de filtro para casos em que houvesse muitos webhooks, por exemplo.

Dito isto, continua sendo um problema?

Claro que não. Sem a exigência de inicio e fim e retornando todos os webhooks ativos no momento da consulta (com identificação de qual chave se refere cada um deles), não apenas faria total sentido como seria muito útil, na minha opinião.

@rubenskuhl
Copy link

Entendo que cada chave só pode ter 1 webhook associado por vez.

A existência dos parâmetros inicio e fim no endpoint GET /webhook me faz entender que há uma necessidade por parte do PSP de registrar o histórico de webhooks já associados a cada chave, ou seja, as datas de cadastramento e descadastramento (remoção/substituição por outra). É isso mesmo?

A ideia aqui era só "seguir o padrão" e prover um local onde se possa verificar "onde estão os meus webhooks, e como estão configurados neste momento".

Mas seria necessário mostrar a que chaves eles se referenciam, não ? Como está parece estar mostrando apenas quais são e não a que chaves se referem.

Talvez o "inicio" e "fim" estejam sobrando, mas a ideia aqui era possibilitar alguma espécie de filtro para casos em que houvesse muitos webhooks, por exemplo.

O máximo de chaves por CNPJ já é 20...

Dito isto, continua sendo um problema?

Talvez o pessoal dos PSPs possam comentar se implementarem de fato isso com inicio/fim... pois isso é bastante oneroso em requerer armazenamento de histórico, não apenas de situação operacional atual.

@renatofrota
Copy link
Author

O máximo de chaves por CNPJ já é 20...

E não é mais fácil consultar 1x todos os webhook (retornados em um array com pares de chave/URL) do que enviar 1 consulta para cada chave (sendo então, até 20 consultas)?

Dito isto, continua sendo um problema?

Talvez o pessoal dos PSPs possam comentar se implementarem de fato isso com inicio/fim... pois isso é bastante oneroso em requerer armazenamento de histórico, não apenas de situação operacional atual.

Pelo que eu entendi, o @ninrod disse que os parâmetros estão mesmo "sobrando" na documentação (e sem eles, o histórico não seria necessário para atender às consultas, os dados retornados seriam sempre os atuais ao momento da consulta).

@rubenskuhl
Copy link

rubenskuhl commented Dec 14, 2020

O máximo de chaves por CNPJ já é 20...

E não é mais fácil consultar 1x todos os webhook (retornados em um array com pares de chave/URL) do que enviar 1 consulta para cada chave (sendo então, até 20 consultas)?

Sim, é mais fácil e meus únicos pontos são remover o início/fim e na consulta mostrar pares chave/URL e não apenas URL.

Dito isto, continua sendo um problema?

Talvez o pessoal dos PSPs possam comentar se implementarem de fato isso com inicio/fim... pois isso é bastante oneroso em requerer armazenamento de histórico, não apenas de situação operacional atual.

Pelo que eu entendi, o @ninrod disse que os parâmetros estão mesmo "sobrando" na documentação (e sem eles, o histórico não seria necessário para atender às consultas, os dados retornados seriam sempre os atuais ao momento da consulta).

Remover o início/fim é sim interessante.

@renatofrota
Copy link
Author

E não é mais fácil consultar 1x todos os webhook (retornados em um array com pares de chave/URL) do que enviar 1 consulta para cada chave (sendo então, até 20 consultas)?

Sim, é mais fácil e meus únicos pontos são remover o início/fim e na consulta mostrar pares chave/URL e não apenas URL.

Por alguma razão, eu tinha interpretado errado essa parte anteriormente. Acho que era fome. Agora que estou bem alimentado, concordamos, então. 😁

@ninrod
Copy link
Member

ninrod commented Dec 15, 2020

Mas seria necessário mostrar a que chaves eles se referenciam, não ? Como está parece estar mostrando apenas quais são e não a que chaves se referem.

Tem razão. De fato. Há esse gap no objeto de retorno.

O máximo de chaves por CNPJ já é 20...

De fato. Como o client_id está ligado a um CNPJ, há um limite máximo (definido fora da API) de webhooks a serem configurados. Não faz sentido "inicio" e "fim" nesse contexto. Muito bem apontado.

Remover o início/fim é sim interessante.

Também acho e já estou convencido. Um problema bem grande, entretanto, é a preocupação de "não quebrar" os clientes e as implementações. Acredito que remover estes parâmetros seria uma "quebra". Ou não?

@rubenskuhl
Copy link

Mas seria necessário mostrar a que chaves eles se referenciam, não ? Como está parece estar mostrando apenas quais são e não a que chaves se referem.

Tem razão. De fato. Há esse gap no objeto de retorno.

O máximo de chaves por CNPJ já é 20...

De fato. Como o client_id está ligado a um CNPJ, há um limite máximo (definido fora da API) de webhooks a serem configurados. Não faz sentido "inicio" e "fim" nesse contexto. Muito bem apontado.

Remover o início/fim é sim interessante.

Também acho e já estou convencido. Um problema bem grande, entretanto, é a preocupação de "não quebrar" os clientes e as implementações. Acredito que remover estes parâmetros seria uma "quebra". Ou não?

Meu feeling/chute/especulação é que os PSPs não implementaram e os ECs não usaram essa chamada específica... mas a API pode especificar que se os campos inicio/fim opcionais forem especificados, devem ser ignorados.

@ninrod
Copy link
Member

ninrod commented Dec 15, 2020

Meu feeling/chute/especulação é que os PSPs não implementaram e os ECs não usaram essa chamada específica... mas a API pode especificar que se os campos inicio/fim opcionais forem especificados, devem ser ignorados.

Certo, uma boa saída para inclusão em uma eventual 2.2.1.

@ninrod ninrod self-assigned this Dec 15, 2020
@ninrod ninrod added bug Algo não está funcionando como deveria. Documentação Issues relacionados à documentação, versões, melhorias de texto, etc... melhoria algo está funcionando, mas poderia ser melhor labels Dec 15, 2020
@ninrod
Copy link
Member

ninrod commented Dec 15, 2020

Sim, é mais fácil e meus únicos pontos são remover o início/fim e na consulta mostrar pares chave/URL e não apenas URL.

Plenamente de acordo. Temos apenas que ver como faríamos essa adição sem quebrar as implementações. Talvez começar agregando a chave como opcional, de saída, para não quebrar implementações.

@ninrod ninrod removed the melhoria algo está funcionando, mas poderia ser melhor label Dec 29, 2020
@ninrod
Copy link
Member

ninrod commented Feb 8, 2021

@rubenskuhl ,

Mas seria necessário mostrar a que chaves eles se referenciam, não ? Como está parece estar mostrando apenas quais são e não a que chaves se referem.

O schema define que deve ser mostrado a que chaves os webhooks se referem. Me confundi olhando o exemplo quebrado pelo redoc-li. O schema está correto:

image

@ninrod
Copy link
Member

ninrod commented Feb 8, 2021

Você deve ter olhado o exemplo, que está quebrado pelo redoc-cli (o $href é sinal da quebra)

image

@renatofrota
Copy link
Author

@ninrod

Em relação a 2.2.1-rc0: os parâmetros inicio e fim passaram a ser opcionais. Tem alguma menção a eles serem ignorados pelo PSP, se presentes na consulta? Isso permitiria os PSPs deixarem de guardar histórico acerca dos cadastramentos de webhooks.

@ninrod
Copy link
Member

ninrod commented Feb 10, 2021

Tem alguma menção a eles serem ignorados pelo PSP, se presentes na consulta? Isso permitiria os PSPs deixarem de guardar histórico acerca dos cadastramentos de webhooks.

Não dizemos categoricamente que ele deve ser ignorado, não negociei isso para essa release (inclusive tem a ideia de colocar como deprecated para ficar categoricamente nítido que esse campo vai sair, etc...) Só consegui deixá-lo como opcional, por agora.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Algo não está funcionando como deveria. Documentação Issues relacionados à documentação, versões, melhorias de texto, etc...
Projects
None yet
Development

No branches or pull requests

3 participants