###### tags: `Public` `API` `Documentation`

# Painel PHP - API Cliente (Boletos)
Uma API com ações para Boletos de Clientes Hostweb e Secrelnet.
#### Lista de recursos/ações disponíveis:
* Obtenha uma Lista de Boletos Vencidos para um Cliente;
* Obtenha uma Lista de Boletos Vencidos para um Cliente a mais de 120 dias;
* Obtenha PDFs de Boletos dos Clientes;
* Obtenha Código de Barras de Boletos dos Clientes;
#### Token de Autorização
Todas as ações possíveis nesta API necessitam de Autenticação por token.
O token é do tipo 'Basic' conforme descrito no [MDN](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers/Authorization)
Para obter o login e a senha entre em contato com o **Suporte Hostweb**
#### Parametros
* Para **testar** a API em ambiente de **Produção**, subistitua {{parametro}} pelo valor correspondente:
| Param | value |
| ------------- | ------------------------------------------ |
| {{base_url}} | `https://my.hostweb.com.br/index.php/api/` |
| {{token}} | Token de Autorização |
| {{contrato}} | 2000 |
| {{duplicata}} | obtenha na rota `getBoletosVencidos` |
#### Exceptions
Todas as rotas desta API retornam um cabeçalho HTTP descrevendo o tipo e o motivo da excessão.
É retornado um cabeçalho HTTP contendo o status da excessão e o detalhe (detail) descrevendo o motivo da excessão.

(Alguns códigos retornados em caso de excessão)
| Status | Motivo |
| ------ | ------------------------------ |
| 500 | Erro interno na aplicação |
| 403 | Ação solicitada não autorizada |
---
## GET - GetBoletosVencidos
```
{{base_url}}ApiCliente/getBoletosVencidos?contrato={{contrato}}
```
Obtenha uma Lista de Boletos(duplicatas) vencidos a menos de 120 dias da data de vencimento.
##### Retorno
```
[
{
"numerodup": "...", // variável do parametro {{duplicata}}
"nocontrato": "...",
},
...
]
```
##### Headers
| header | value |
| ------------- | ---------------- |
| Authorization | Basic {{token}} |
---
## GET - GetBoletosExpirados
```
{{base_url}}ApiCliente/getBoletosExpirados?contrato={{contrato}}
```
Obtenha uma Lista de Boletos(duplicatas) vencidos a **mais** de 120 dias.
> As duplicatas retornadas não possuem autorização para ser acessadas, servindo apenas para informar que existem débitos a mais de 120 da data de vencimento.
##### Retorno
```
[
{
"numerodup": "...", // variável do parametro {{duplicata}}
"nocontrato": "...",
},
...
]
```
##### Headers
| header | value |
| ------------- | ---------------- |
| Authorization | Basic {{token}} |
---
## GET - DownloadBoletoPDF
```
{{base_url}}apicliente/downloadBoletoPDF?noContrato={{contrato}}&duplicata={{duplicata}}
```
Obtenha o arquivo PDF do Boleto via Download.
> Obs: Boletos com mais de 120 dias de atraso não podem ser baixados, retornando o status HTTP **403 Forbidden**.
##### Retorno
```
Documento PDF
```
##### Headers
| header | value |
| ------------- | ---------------- |
| Authorization | Basic {{token}} |
---
## POST - GetCodigoBoleto
```
{{base_url}}apicliente/getCodigoBoleto?contrato={{contrato}}&duplicata={{duplicata}}
```
Obtenha o número do código de barras do boleto.
> Obs: Código de Boletos com mais de 120 dias de atraso não podem ser obtidos, retornando o status HTTP **403 Forbidden**.
##### Retorno
```
{
"code": "0000.00000 0000.00000 00000.000000 0 0000000000000",
"truncated": "0000000000000000000000000000000000000000000"
}
```
##### Headers
| header | value |
| ------------- | ---------------- |
| Authorization | Basic {{token}} |
---