Seção 1 finalizar retorna 422 „Contagens de dados finais inválidas

Oi, estou trabalhando em N8N102 - Seção 1 (Pipeline de Integração de API) e travei no checkpoint final.

Meu nó FinalizePipeline envia este payload para /course/n8n102/finalize:

{
“total_orders”: 50,
“enterprise_count”: 12,
“batch_size”: 10,
“retry_enabled”: true
}

Recebo um erro 422:
“Invalid final data counts. One or more of your counts is incorrect.” (Contagens de dados finais inválidas. Uma ou mais de suas contagens estão incorretas.)

O que verifiquei:

  • A paginação do GetOrders está funcionando corretamente e retorna exatamente 50 pedidos
  • FilterDelivered retorna corretamente 12 pedidos de empresas não entregues
  • SendToOrdersQueue e SendToPriorityQueue retornaram respostas bem-sucedidas na minha execução completa mais recente
  • Todos os valores no payload de finalização são do tipo correto (números/booleano, não strings)

Minha suposição é que isso pode estar relacionado a um envio anterior durante a depuração - completei originalmente o “Order Queue Assessment Checkpoint” antes de adicionar paginação, quando orders_queued era 10 em vez de 50. É possível que o servidor ainda esteja comparando com essa contagem anterior em vez da minha execução mais recente.

Alguém poderia me ajudar a verificar o estado do backend para minha avaliação, ou me informar como redefinir o progresso desta seção para que eu possa reenviar de forma limpa?

ID da Avaliação: 7369d82545c8b10f9f5ae4f1b3579603

Obrigado antecipadamente!

Oi @muktern8n Bem-vindo!
O erro nomeia suas contagens, não seu progresso, então este é o payload em vez de estado de backend obsoleto. batch_size é o único valor que não corresponde ao Step 2.7, que usa 5. Configure BatchPriorityOrders com um tamanho de lote de 5, execute o fluxo de trabalho inteiro de uma só vez e finalize com batch_size: 5.
Veja isto:

@muktern8n Você pode encontrar a resposta aqui!

Complementando o que Anshul disse, como há uma thread com sua mensagem de erro exata (não a “Progress incompleted”) onde Jamie da equipe n8n confirmou o tamanho do lote e publicou uma captura de tela da execução de referência:

Duas coisas dessa thread que eu teria aberta quando você executar novamente.

A captura de tela oferece uma maneira de verificar a execução antes de você até chamar finalize. Com 12 pedidos enterprise e um tamanho de lote de 5, BatchPriorityOrders deve mostrar 4 execuções e SendToPriorityQueue deve mostrar 3 (5, 5, 2). Se o nó priority queue ainda mostrar 2, então o loop ainda está em 10 e eu não confiaria na chamada finalize até esse número mudar. Seus total_orders 50 e enterprise_count 12 estão alinhados com o que a execução de referência mostra, então batch_size realmente é o único número que está errado.

A outra coisa que Jamie continuava apontando, tanto nessa thread quanto naquela “Missing required parameter: total_orders” da semana passada, é tipos. Se o corpo do FinalizePipeline estiver em “Using Fields Below” e você digitou 50 e true direto nos campos de valor, eles saem como strings, mesmo que pareçam corretos na UI.

Oi @muktern8n

Acho que o problema é o batch_size.

Para o checkpoint final, deveria ser 5, não 10. Seus outros valores parecem corretos:

{
“total_orders”: 50,
“enterprise_count”: 12,
“batch_size”: 5,
“retry_enabled”: true
}
Eu mudaria BatchPriorityOrders para um tamanho de lote de 5, depois executaria o fluxo de trabalho completo novamente do início ao fim e submeteria o checkpoint final.

Então não acho que está relacionado ao orders_queued: 10 anterior ou ao estado do backend em cache. O erro 422 que você está recebendo aponta especificamente para as contagens finais, e batch_size: 10 é o valor que não corresponde ao requisito do curso.

Obrigado, Subham, batch_size: 5 foi realmente a solução, e SendToPriorityQueue agora executa com sucesso (todos os lotes verdes, 12 itens confirmados).

Porém, FinalizePipeline agora voltou a apresentar um erro diferente: “Progress incompleted. You have not completed all steps in this assessment.” Isso é confuso porque nessa mesma execução completa: - SendToOrdersQueue confirmou orders_queued: 50 - SendToPriorityQueue executou com sucesso para todos os lotes (12 itens no total) - FinalizePipeline payload: { “total_orders”: 50, “enterprise_count”: 12, “batch_size”: 5, “retry_enabled”: true } Tudo teve sucesso nessa execução, mas a etapa finalize ainda diz que o progresso está incompleto.

Isso parece similar ao que outro usuário relatou acima com um problema parecido. Alguém poderia verificar o estado do checkpoint do backend para meu Assessment ID?

Assessment ID: 7369d82545c8b10f9f5ae4f1b3579603

@muktern8n Uma verificação backend não é necessária, o erro está no seu fluxo. Você listou pedidos na fila como 50, como prova de que o passo 1 foi bem-sucedido, porém, em outro tópico, foi dito que a parte do passo 1 quer apenas 10, então você precisa desabilitar a paginação.

e

Obrigado pela resposta, mas acho que isso pode não estar correto — o documento do curso diz explicitamente na Etapa 2.1-2.2 que a paginação deve retornar 50 pedidos, e o código de confirmação para esse checkpoint contém literalmente “PAGED-ORDERS-QUEUE” no seu nome, que recebi com sucesso. O resto do exercício (20 Enterprise / 30 outros, 12 não entregues) só faz sentido com 50 pedidos, não 10.

Você poderia compartilhar o thread específico onde “apenas 10” foi mencionado? Quero ter certeza de que não estou perdendo algum outro contexto, mas baseado na minha cópia do material do curso, paginação para 50 parece ser uma etapa obrigatória, não opcional.

@muktern8n Este é o link @jamiemadden_n8n é o assistente oficial da academy, então o que ele disse deve funcionar!

desculpa, não é um link literal, o link fica truncado, só clica no laranja e scroll para cima