HTTPRequest enviando variável única como JSON

Descreva o problema/erro/pergunta

Qual é a mensagem de erro (se houver)? Bad request - please check your parameters

Por favor compartilhe seu workflow

{
“nodes”: [
{
“parameters”: {
“method”: “POST”,
“url”: “http://host.docker.internal:8082/api/assistant/intent”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Content-Type”,
“value”: “application/json”
},
{
“name”: “Accept”,
“value”: “application/json”
}
]
},
“sendBody”: true,
“contentType”: “raw”,
“body”: “={{ $json.cleanOutput }}”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.4,
“position”: [
240,
-112
],
“id”: “bc555ae5-8565-4c9b-b871-4d3f4a20899b”,
“name”: “HTTP Request”
}
],
“connections”: {},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “02f1001f8f2d972f69be23b2f2dcfdcc65885dd6f6ff6d04c911329ee6f7f3dd”
}
}

Informações sobre sua configuração n8n

  • versão n8n: latest / local
  • Banco de dados (padrão: SQLite): N/A
  • Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main): padrão
  • Executando n8n via (Docker, npm, n8n cloud, app desktop): Docker
  • Sistema operacional: Windows 10

Oi @GeoForeman

Mude seu campo Body para isso:

{
  "intent": "{{ $json.cleanOutput }}"
}

(Substitua "intent" pelo nome de chave real exigido pela sua API).

Oi @GeoForeman Bem-vindo!
O tipo de conteúdo raw envia o valor literal da expressão como o corpo. Se cleanOutput não for um JSON válido, host.docker.internal:8082 recebe texto simples sob um cabeçalho Content-Type: application/json, e seu analisador o rejeita antes que a lógica do seu endpoint seja executada.
Envolva o valor com JSON.stringify em vez de digitar aspas ao redor da expressão, aspas manuais quebram no momento em que cleanOutput contém uma aspas ou uma quebra de linha:

{{ JSON.stringify({ yourKey: $json.cleanOutput }) }}

Como este é seu próprio serviço local, o corpo da resposta real ou o log do servidor mostrarão a razão da validação real em vez da mensagem genérica do n8n.

Obrigado, funcionou