allgood / APInter-PHP

Biblioteca PHP para acesso à API do Banco Inter
GNU Lesser General Public License v3.0
104 stars 52 forks source link

ExtratoCompleto e Webhook #47

Closed kravetz closed 1 year ago

kravetz commented 1 year ago

1) Criada a função createWebhook($url)

Referência do Banco Inter: https://developers.bancointer.com.br/reference/criarwebhookboleto

Escopo necessário: boleto-cobranca.write

A função tentará criar o webhook, apontando para $url. Este webhook, da minha experiência, é acionado pelo Inter diariamente, por volta das 1h00min atá 01h30min, informando todos boletos PAGOS e EXPIRADOS.

Para que essa função funcionasse, o método ControllerPost foi modificado para aceitar requisições PUT também. Outra opção seria criar um método específico ControllerPut, para não ficar um método muito complexo com muitos parâmetros. A nova função aumentaria em mais umas 50 linhas o código, seguindo a lógica dos outros métodos de retentar a requisição várias vezes. Me avise se seria mais interessante um método próprio ControllerPut.

2) Criada a função getExtratoCompleto

O Inter chama de extrato enriquecido

Referência do Banco Inter: https://developers.bancointer.com.br/reference/extratocomplete

Retornar as transações em um intervalo de datas. Além disso, permite filtrar por tipo de operação (crédito/débido), tipo de transação, (PIX, CAMBIO, ESTORNO, INVESTIMENTO, TRANSFERENCIA, PAGAMENTO, BOLETO_COBRANCA, OUTROS), e também tem paginação.

Não defini constantes para o tipoTransacao pois não sei com que frequência isso muda.

A função retorna uma stdClass igual a função getExtrato.

3) Função getWebhook()

Retorna o webhook cadastrado junto ao Inter.

4) Função deleteWebhook()

Deletará o webhook cadastrado junto ao Inter.

Para auxiliar estas funções principais, foi criada a função privada controllerDelete, e foi modificada a função controllerPost para aceitar mais um parâmetro opcional ($methodPut).