> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SOAP

> Faça requisições SOAP para serviços externos e capture a resposta no seu fluxo

O nó **SOAP** permite conectar seu fluxo a serviços web SOAP, um protocolo comum em sistemas legados e corporativos. É um nó de execução real: faz a requisição e expõe saídas de **sucesso** e **erro** para continuar o fluxo, assim como o nó API.

<Note>
  O nó SOAP compartilha a infraestrutura de credenciais e execução com o nó **[API](/pt/guias/nodos/api)** — se você já conhece esse nó, essa configuração vai parecer familiar.
</Note>

## Configuração básica

* **URL** — o endereço do serviço SOAP.
* **Operation Name** — o nome da operação SOAP que você quer invocar (texto livre; não é validado contra um WSDL).

<Warning>
  Tanto a URL quanto o Operation Name são obrigatórios — o nó é marcado como inválido se algum deles ficar vazio.
</Warning>

O método HTTP é sempre **POST**.

## Namespaces

Defina os namespaces do envelope SOAP em uma tabela reordenável (arraste para mudar a ordem):

| Campo  | Descrição                                     |
| :----- | :-------------------------------------------- |
| Scope  | `envelope` ou `functionName`                  |
| Prefix | Prefixo do namespace (por exemplo, `soapenv`) |
| URI    | A URI do namespace                            |

Você pode usar variáveis do workflow ao definir a URI.

## Headers

Adicione headers personalizados como pares chave-valor.

<Note>
  O header `Content-Type` é gerenciado automaticamente de acordo com a versão de SOAP escolhida em Settings, e não pode ser editado manualmente.
</Note>

## Body

O corpo da requisição é editado em um editor de código livre (JSON ou XML). O nó não constrói visualmente o envelope SOAP — a montagem final do envelope é resolvida pelo motor de execução.

## Autenticação

Três opções disponíveis:

| Método               | Configuração    |
| :------------------- | :-------------- |
| **Sem autenticação** | Opção padrão    |
| **Basic Auth**       | Usuário e senha |
| **Bearer Token**     | Token de acesso |

## Settings

* **Versão do SOAP** — `1.1` ou `1.2`. Alterá-la reescreve automaticamente o header `Content-Type`.
* **Timeout** — em milissegundos, padrão de `30000` (30s).
* **Transformação de resposta** — extraia apenas a parte da resposta que você precisa definindo um `extractPath` (por exemplo, `GetUserResponse.Data`).

## Salvar a resposta

Ative **"Salvar resposta"** e defina um nome de variável para armazenar a resposta do serviço SOAP.

### Acessar a resposta a partir de um nó Código

```javascript theme={null}
let soapResponse = $context.getSoapResponse('minhaVariavel')
soapResponse = soapResponse.json()
```

Você também pode ler a requisição original com `$context.getSoapRequest('minhaVariavel')`. Ambos os acessores suportam `.headers()` e `.json()`; `getSoapResponse` também inclui `.status()`.

## Testar a requisição

O botão **"Send"** executa a requisição e mostra o resultado: código de status, e abas Body e Headers da resposta, com opção de copiar para a área de transferência.

## Tratamento de erros

O nó expõe duas saídas: **sucesso** e **erro**. Conecte a saída de erro à próxima etapa que deve tratar a falha, sem interromper o restante do fluxo.
