| (21 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
| Linha 23: | Linha 23: | ||
<br> | <br> | ||
* RF01: | * RF01: | ||
** Luis Henrique | **Leitura de Arquivo de Entrada: O script deve ler um arquivo .csv contendo colunas obrigatórias: ID_CLIENTE, NOME, CPF, VALOR_1, VALOR_2. (Luis Henrique) | ||
<br> | <br> | ||
* RF02: | * RF02: | ||
** | **Aplicação de Regras e Validação e tratamento de dados: O sistema deve validar os dados da planilha antes do envio (ex: converter valor decimal para centavos inteiros, verificar caracteres inválidos). (João Gabriel) | ||
<br> | <br> | ||
* RF03: | |||
**Integração com Pagar.me V5: O script deve consumir a API do Pagar.me (Endpoint: POST /payment_links) autenticando-se via Basic Auth com a Secret Key. (Luis Henrique) | |||
<br> | |||
* RF04: | |||
**Geração de Payload JSON: O sistema deve montar o JSON de requisição contendo os objetos "payment_settings" e "cart_settings" conforme documentação da V5. (Luis Henrique) | |||
<br> | |||
* | * RF05: | ||
**Gravação do Link: O sistema deve capturar a URL do link retornada pela API e gravá-la em uma nova coluna na planilha ("Link de Pagamento"). (Luis Henrique) | |||
<br> | |||
* RF06: | |||
**Tratamento de Erros de API: O sistema deve capturar erros HTTP (400, 401, 429) e registrar o motivo da falha na planilha de saída (ex: "Erro: Valor inválido"), sem interromper o processamento dos demais itens. (João Gabriel) | |||
<br> | |||
* RF07: | |||
**Exportação de Resultado: Ao final, gerar um arquivo "resultado_[data].csv" contendo os dados originais acrescidos do Link Gerado ou Mensagem de Erro. (João Gabriel) | |||
<br> | <br> | ||
| Linha 39: | Linha 55: | ||
* RNF01: | * RNF01: | ||
**Linguagem: O sistema deve ser desenvolvido em Python 3.x. | |||
<br> | |||
* RNF02: | |||
**Bibliotecas: Utilizar bibliotecas padrão de mercado como "pandas" (manipulação de dados) e "requests" (comunicação HTTP). | |||
<br> | |||
* RNF03: | |||
**Rate Limiting (Throttling): O script deve implementar um intervalo (sleep) entre as requisições para respeitar o limite da API Pagar.me (evitar erro HTTP 429 - Too Many Requests). Sugestão: máx 10 requisições/segundo. | |||
<br> | |||
* RNF04: | |||
**Segurança: A Chave de API (Secret Key) não deve estar "chumbada" (hardcoded) no código, devendo ser lida de um arquivo de configuração (.env) ou input do usuário. | |||
<br> | |||
* RNF05: | |||
**Portabilidade: O script deve ser executável em ambientes Windows e Linux. | |||
<br> | |||
= Cronograma = | = Cronograma = | ||
| Linha 48: | Linha 82: | ||
!RF!!Descrição!! Início !! Tempo em dias !! Data Real entrega !! Maker !! % | !RF!!Descrição!! Início !! Tempo em dias !! Data Real entrega !! Maker !! % | ||
|- | |- | ||
|01|| Criar script a partir de uma planilha || 22/12/2025 || 3 || | |01|| Criar script a partir de uma planilha || 22/12/2025 || 3 || 02/01/2026 || Luis Henrique|| 100% | ||
|- | |- | ||
|02||Gerar interface para seleção da planilha || | |02|| Gerar interface para seleção da planilha || 02/01/2026 || 5 || 07/01/2026 || João Gabriel|| 100% | ||
|- | |||
|03|| Gravar link de pagamento na planilha || 24/12/2025 || 3 || 02/01/2026 || Luis Henrique|| 100% | |||
|- | |||
|04|| Aplicação de Regras de Validação || 07/01/2026 || 1 || 08/01/2026 || João Gabriel|| 100% | |||
|- | |||
|05|| Tratamento de Erros da API || 08/01/2025 || 2 || 10/01/2026 || João Gabriel|| 100% | |||
|- | |- | ||
| | |06|| Criação de executável para ambientes de Linux e Windows || 10/01/2025 || 3 || 13/01/2026 || João Gabriel|| 100% | ||
|} | |} | ||
Edição atual tal como às 18h55min de 13 de janeiro de 2026
Escopo
Resolução feita em 17/12/25
O sistema, denominado Automação de Geração de Links de Pagamento, tem como propósito otimizar o processo de criação de cobranças, substituindo a geração manual individual por um processamento em lote automatizado via script Python.
Dentre os principais objetivos de negócio destacam-se a redução drástica de erros operacionais (como digitação incorreta de valores ou dados de clientes) e o ganho de eficiência operacional na emissão de cobranças em grande escala.
O software permitirá ao usuário:
- Carregar arquivos de dados (planilhas formato .csv) contendo as informações dos clientes e valores.
- Processar essas informações integrando-se automaticamente ao Gateway de Pagamento Pagar (via API V5).
- Gerar e extrair os links de pagamento correspondentes para um arquivo de saída consolidado.
Escopo Negativo: É fundamental estabelecer que este sistema não realizará o envio das cobranças aos clientes finais (via e-mail, SMS ou WhatsApp) e não manterá registro ou controle de quem realizou ou não o pagamento (status da transação/baixa bancária). A responsabilidade do software encerra-se na geração e disponibilização do link de pagamento válido.
Requisitos
Prioridade
Requisitos Funcionais
- RF01:
- Leitura de Arquivo de Entrada: O script deve ler um arquivo .csv contendo colunas obrigatórias: ID_CLIENTE, NOME, CPF, VALOR_1, VALOR_2. (Luis Henrique)
- RF02:
- Aplicação de Regras e Validação e tratamento de dados: O sistema deve validar os dados da planilha antes do envio (ex: converter valor decimal para centavos inteiros, verificar caracteres inválidos). (João Gabriel)
- RF03:
- Integração com Pagar.me V5: O script deve consumir a API do Pagar.me (Endpoint: POST /payment_links) autenticando-se via Basic Auth com a Secret Key. (Luis Henrique)
- RF04:
- Geração de Payload JSON: O sistema deve montar o JSON de requisição contendo os objetos "payment_settings" e "cart_settings" conforme documentação da V5. (Luis Henrique)
- RF05:
- Gravação do Link: O sistema deve capturar a URL do link retornada pela API e gravá-la em uma nova coluna na planilha ("Link de Pagamento"). (Luis Henrique)
- RF06:
- Tratamento de Erros de API: O sistema deve capturar erros HTTP (400, 401, 429) e registrar o motivo da falha na planilha de saída (ex: "Erro: Valor inválido"), sem interromper o processamento dos demais itens. (João Gabriel)
- RF07:
- Exportação de Resultado: Ao final, gerar um arquivo "resultado_[data].csv" contendo os dados originais acrescidos do Link Gerado ou Mensagem de Erro. (João Gabriel)
Requisitos Não-Funcionais
- RNF01:
- Linguagem: O sistema deve ser desenvolvido em Python 3.x.
- RNF02:
- Bibliotecas: Utilizar bibliotecas padrão de mercado como "pandas" (manipulação de dados) e "requests" (comunicação HTTP).
- RNF03:
- Rate Limiting (Throttling): O script deve implementar um intervalo (sleep) entre as requisições para respeitar o limite da API Pagar.me (evitar erro HTTP 429 - Too Many Requests). Sugestão: máx 10 requisições/segundo.
- RNF04:
- Segurança: A Chave de API (Secret Key) não deve estar "chumbada" (hardcoded) no código, devendo ser lida de um arquivo de configuração (.env) ou input do usuário.
- RNF05:
- Portabilidade: O script deve ser executável em ambientes Windows e Linux.
Cronograma
| RF | Descrição | Início | Tempo em dias | Data Real entrega | Maker | % |
|---|---|---|---|---|---|---|
| 01 | Criar script a partir de uma planilha | 22/12/2025 | 3 | 02/01/2026 | Luis Henrique | 100% |
| 02 | Gerar interface para seleção da planilha | 02/01/2026 | 5 | 07/01/2026 | João Gabriel | 100% |
| 03 | Gravar link de pagamento na planilha | 24/12/2025 | 3 | 02/01/2026 | Luis Henrique | 100% |
| 04 | Aplicação de Regras de Validação | 07/01/2026 | 1 | 08/01/2026 | João Gabriel | 100% |
| 05 | Tratamento de Erros da API | 08/01/2025 | 2 | 10/01/2026 | João Gabriel | 100% |
| 06 | Criação de executável para ambientes de Linux e Windows | 10/01/2025 | 3 | 13/01/2026 | João Gabriel | 100% |
Diagramas
Projeto
Plano de Testes
Ambiente
Histórico
- 19/12/2025:
- Leonardo deve entregar os RFs
- Ambiente sendo montando entre Time e Sophia
- Luis montou link estático. Ainda não está rodando em cima das tabelas.
Equipe
- João Gabriel Santos Rodrigues
- Luis Henrique Bonini Santiago
- Euller Moreira de Santana
- Laryssa Eugênia de Oliveira