Para este passo vamos precisar apenas do conteúdo do arquivo de retorno vindo do banco. Esse conteúdo será tratado internamente em nossa API, pois é agora que vamos conciliar em nossa base de dados a resposta do banco, ou seja, é nesse momento que nosso banco de dados será atualizado com as informações do boleto vindas do sistema bancário.
É através desse passo que vamos saber se o boleto foi Registrado, Liquidado, Rejeitado, etc..
*Observação: Você também pode realizar o upload de retorno utilizando o conteúdo do arquivo convertido em Base64 para realizar a inclusão desta forma siga os passos da documentação: Realizando o upload do arquivo de retorno
POST
A solicitação é feita através de uma requisição POST. A rota chamada deve ter a seguinte URL:
Homologação:
https://homologacao.plugboleto.com.br/api/v1/retornos/multipart
Produção:
https://plugboleto.com.br/api/v1/retornos/multipart
Headers
| Nome | Descrição | Exemplo |
|---|---|---|
| Content-Type | Indica o tipo de arquivo | application/x-www-form-urlencoded |
| cnpj-cedente | CNPJ do Cedente | 01001001000113 |
| cnpj-sh | CNPJ da Software House | 01001001000113 |
| token-sh | Token da Software House | f22b97c0c9a3d41ac0a3875aba69e5aa |
Headers (Opcional)
Utilizar esses header em caso de autenticação direto com as credenciais do cedente:
| Nome | Descrição | Exemplo |
|---|---|---|
| Content-Type | Indica o tipo de arquivo | application/x-www-form-urlencoded |
| cnpj-cedente | CNPJ do Cedente | 01001001000113 |
| token-cedente | Token do Cedente | f22b97c0c9a3d41ac0a3875aba69e5aa1 |
Objeto
Para solicitar a impressão, o objeto form-data pode ter os seguintes campos:
| Campo | Tipo | Descrição |
|---|---|---|
| file | File | Arquivo anexado na solicitação. (É permitido apenas o upload de arquivos com a extensão .RET) |
Body
Exemplo de Form Data:
O processamento do arquivo de retorno é feito individualmente. Sendo assim, se houver mais de um arquivo para ser processado, a rota deve ser chamada mais de uma vez.
Retorno
Exemplo de retorno:
{
"_status": "sucesso",
"_mensagem": "Retorno pendente de processamento",
"_dados": {
"situacao": "PROCESSANDO",
"protocolo": "SkR1z8B-G"
}
}
Exemplo de retorno com erro:
{
"_status": "erro",
"_mensagem": "Erro de validação.",
"_dados" : [
{
"_campo": "arquivo",
"_erro": "Campo obrigatório.",
}
]
}
Exemplo de retorno caso um arquivo de retorno Idêntico tenha sido upado há menos de 2 minutos (cache):
{
"_status": "erro",
"_mensagem": "Erro de validação.",
"_dados" : [
{
"_campo": "arquivo",
"_erro": "Já existe um retorno Processando ou Processado. Restrição de reenvio de arquivos idênticos com liberação após 2 minuto(s).",
}
]
}
Em caso de sucesso, a rota irá retornar um número de protocolo através do campo protocolo. Isso acontece pois a rota é assíncrona. Usando esse número de protocolo, nosso próximo passo é consultá-lo e verificar o resultado do processamento do envio do arquivo de retorno.


Comentários
0 comentário
Por favor, entre para comentar.