From dad1abf30b404a894b64419de931a5d41795bc75 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Thu, 13 Aug 2026 14:14:40 -0300 Subject: [PATCH] fix: parametro correto da API de rows do n8n (limit, nao take) Testado contra a instancia real (devn8n.gtigrupo.com.br) com uma API key de verdade: 'take' retorna 400 'Unknown query parameter'; o nome certo e 'limit'. Confirmado end-to-end - /log agora mostra os envios reais (ERRO_ENVIO, CLIENTE_NAO_CADASTRADO etc.) da Data Table pagamentos_processados. --- app/n8n_client.py | 2 +- tests/test_n8n_client.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/n8n_client.py b/app/n8n_client.py index 2d70fd4..1150a9b 100644 --- a/app/n8n_client.py +++ b/app/n8n_client.py @@ -37,7 +37,7 @@ def listar_envios(limite: int = 50) -> list[dict]: resposta = httpx.get( url, headers={"X-N8N-API-KEY": os.environ["N8N_API_KEY"], "accept": "application/json"}, - params={"take": limite, "sortBy": "data_processamento:desc"}, + params={"limit": limite, "sortBy": "data_processamento:desc"}, timeout=5.0, ) resposta.raise_for_status() diff --git a/tests/test_n8n_client.py b/tests/test_n8n_client.py index 2cf3ccf..84859f9 100644 --- a/tests/test_n8n_client.py +++ b/tests/test_n8n_client.py @@ -46,6 +46,7 @@ def test_listar_envios_sucesso_retorna_linhas(monkeypatch): def _get_falso(url, headers=None, params=None, timeout=None): capturado["url"] = url capturado["headers"] = headers + capturado["params"] = params return _RespostaFalsa() monkeypatch.setattr(n8n_client.httpx, "get", _get_falso) @@ -54,3 +55,6 @@ def test_listar_envios_sucesso_retorna_linhas(monkeypatch): assert resultado == linhas assert capturado["url"] == "https://devn8n.exemplo.com/api/v1/data-tables/bJHhFUDwFJ30YJVt/rows" assert capturado["headers"]["X-N8N-API-KEY"] == "chave-teste" + # Regression guard: a API do n8n usa "limit", não "take" (achado real + # testando contra a instância de verdade — "take" retorna 400). + assert capturado["params"] == {"limit": 10, "sortBy": "data_processamento:desc"}