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 | 05/01/2026 | 3 | João Gabriel | 100% | |
| 05 | Tratamento de Erros da API | 05/01/2025 | 4 | 02/01/2026 | João Gabriel | 50% |
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