1 Visão geral
São dois WebServices SOAP: Consulta (consultar CPF/CNPJ) e Inclusão/Exclusão (negativar/retirar). Autenticação por HTTP Basic. Content-Type text/xml; charset=utf-8.
Pré-requisito de rede (crítico): o SPC só aceita requisições de um IP nacional (Brasil) liberado no WAF dele. Sem isso, a chamada nem chega no SPC. Ver seção 4.
Operações disponíveis por serviço:
| Serviço | Operações |
|---|---|
| Consulta | consultar, consultaScore, consultaComplementar, consultaInsumoOpcional, listarProdutos, detalharProduto |
| Inclusão/Exclusão | incluirSpc, excluirSpc, incluirSpcMobile, excluirSpcMobile, listarNaturezaInclusao, listarMotivoExclusao, listarTipoDevedor |
Não existe operação de "listar todas as consultas/inclusões" — o WebService é transacional. Relatórios em massa só pelo portal do SPC.
2 Endpoints (WSDL)
Homologue primeiro no TREINA, depois aponte para produção. O ?wsdl serve para importar a definição; a chamada real é um POST na mesma URL sem o ?wsdl.
| Operação | Homologação (TREINA) | Produção |
|---|---|---|
| Consulta | https://treinamento.spcbrasil.com.br/spc/remoting/ws/consulta/consultaWebService?wsdl | https://api.spcbrasil.com.br/spc/remoting/ws/consulta/consultaWebService?wsdl |
| Inclusão / Exclusão | https://treinamento.spcbrasil.com.br/spc/remoting/ws/insumo/spc/spcWebService?wsdl | https://api.spcbrasil.com.br/spc/remoting/ws/insumo/spc/spcWebService?wsdl |
O TREINA é lento (~15 s a 2 min por chamada) e rotaciona os dados (o mesmo CPF retorna nomes diferentes). Use timeout generoso na homologação.
3 Autenticação
HTTP Basic: header Authorization: Basic base64(usuario:senha).
| Ambiente | Usuário (login) | Senha |
|---|---|---|
| Produção | 147114786 (código do operador) | senha do meio de acesso Web Service (definida no portal SPC) |
| Homologação | usuário de treino do SPC | senha de treino do SPC |
A senha do Web Service é diferente da senha do portal/site — é um "meio de acesso" separado. Se der o fault CN_INT005.E3.2 – "Usuário não possui senha para meio de acesso permitido", é porque a senha do meio de acesso Web Service não foi definida para o operador (definir no portal SPC).
4 IP nacional / proxy (leia antes de tudo)
O WAF do SPC (Incapsula) bloqueia IPs não liberados e exige IP brasileiro. Duas formas de resolver:
n8n com IP nacional liberado
Peça ao SPC para liberar o IP do servidor do n8n no WAF. Aí conecta direto, sem proxy.
Rotear por um proxy nacional já liberado
A DeclaTrack usa um proxy (Squid, IP nacional) que o SPC já liberou. Para o n8n usar esse proxy, é preciso liberar o IP do n8n no firewall do proxy (hoje ele só aceita o IP do CRM) — falar com o Rodrigo. No n8n, configure o proxy no node HTTP Request.
Sem uma das duas opções, a requisição sofre timeout / é bloqueada pelo WAF antes de chegar na aplicação do SPC.
5 Consultar CPF/CNPJ
consultaWebServiceoperação consultar<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://webservice.consulta.spcjava.spcbrasil.org/">
<SOAP-ENV:Body>
<ns1:filtro>
<codigo-produto>323</codigo-produto>
<tipo-consumidor>F</tipo-consumidor>
<documento-consumidor>12345678909</documento-consumidor>
</ns1:filtro>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Parâmetros
| Campo | Valor |
|---|---|
codigo-produto | 323 = SPC MIXMAIS (serve PF e PJ). Outros: 7 SPC TOP FÍSICA, 8 SPC TOP JURÍDICO |
tipo-consumidor | F (física) ou J (jurídica) — não use "FISICA" |
documento-consumidor | CPF (11) ou CNPJ (14) — só dígitos |
Interpretação da resposta (XML)
| Campo | Significado |
|---|---|
restricao (boolean, no topo) | true = COM restrição · false = SEM restrição |
protocolo → numero + digito | NSU do SPC (ex.: 15224640702-0) |
consumidor.consumidor-pessoa-fisica (ou -juridica) | dados cadastrais: nome, endereço, telefones, situação do CPF/CNPJ, data de nascimento… |
spc, protesto, ccf, cheque-lojista, credito-concedido, informacao-poder-judiciario… | cada seção tem resumo.quantidade-total (0 = sem ocorrência) e, quando houver, o detalhe |
consulta-realizada | quantas vezes o documento foi consultado e por quem (detalhe-consulta-realizada[]) |
dados-adicionais-de-contato | telefones/emails/endereços alternativos |
Score não vem no produto 323 — é a operação separada consultaScore. Cada consultar gera cobrança.
6 Incluir (negativar / registrar débito)
spcWebServiceoperação incluirSpc<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://webservice.spc.insumo.spcjava.spcbrasil.org/">
<SOAP-ENV:Body>
<ns1:incluirSpc>
<insumoSpc>
<tipo-pessoa>F</tipo-pessoa>
<dados-pessoa-fisica>
<cpf numero="12345678909"/>
<nome>FULANO DE TAL</nome>
<data-nascimento>1990-01-01T00:00:00</data-nascimento>
</dados-pessoa-fisica>
<data-compra>2026-05-16T00:00:00</data-compra>
<data-vencimento>2026-06-15T00:00:00</data-vencimento>
<codigo-tipo-devedor>C</codigo-tipo-devedor>
<numero-contrato>CONTR-001</numero-contrato>
<valor-debito>150.00</valor-debito>
<natureza-inclusao><id>104</id></natureza-inclusao>
<endereco-pessoa>
<cep>30525490</cep>
<logradouro>RUA EXEMPLO</logradouro>
<bairro>CENTRO</bairro>
<numero>100</numero>
<complemento/>
<cidade nome="BELO HORIZONTE"><estado sigla-uf="MG"/></cidade>
</endereco-pessoa>
<notificar-via-email>N</notificar-via-email>
</insumoSpc>
</ns1:incluirSpc>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Para PJ, troque o bloco de pessoa por:
<dados-pessoa-juridica> <cnpj numero="12345678000199"/> <razao-social>EMPRESA EXEMPLO LTDA</razao-social> </dados-pessoa-juridica>
Regras (o SPC recusa se errar)
- ✓ Datas em dateTime (
YYYY-MM-DDThh:mm:ss), nãodate. - ✓ Ordem obrigatória:
data-compra<data-vencimento< hoje (dívida vencida). - ✓ CPF/CNPJ vai como atributo:
<cpf numero="…"/>, não como texto. - ✓
endereco-pessoaé obrigatório (cep, logradouro, bairro, número, cidade + UF). - ✓
natureza-inclusao.id: 104 = ATRASO DE PAGAMENTO (lista completa emlistarNaturezaInclusao). - ✓
codigo-tipo-devedor: C = titular (lista emlistarTipoDevedor).
A resposta retorna o protocolo da inclusão (nomes possíveis: protocolo, numero-protocolo, nsu).
7 Excluir negativação
spcWebServiceoperação excluirSpcMesma estrutura do insumo da inclusão — só muda o wrapper (excluir em vez de insumoSpc) e a operação. O SPC casa o registro pelos dados (documento + contrato + valor + datas + natureza).
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://webservice.spc.insumo.spcjava.spcbrasil.org/">
<SOAP-ENV:Body>
<ns1:excluirSpc>
<excluir>
<!-- MESMOS campos do insumo da inclusão -->
<tipo-pessoa>F</tipo-pessoa>
<dados-pessoa-fisica><cpf numero="12345678909"/><nome>FULANO DE TAL</nome></dados-pessoa-fisica>
<numero-contrato>CONTR-001</numero-contrato>
<valor-debito>150.00</valor-debito>
<data-vencimento>2026-06-15T00:00:00</data-vencimento>
<natureza-inclusao><id>104</id></natureza-inclusao>
</excluir>
</ns1:excluirSpc>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Se precisar informar motivo de exclusão, consulte os códigos em listarMotivoExclusao.
8 Passo a passo no n8n
Node HTTP Request → Method POST, URL = o endpoint (sem ?wsdl).
Authentication: Basic Auth (usuário / senha da seção 3).
Headers: Content-Type: text/xml; charset=utf-8. SOAPAction: normalmente vazio (JAX-WS) — confira no WSDL (soap:operation soapAction).
Body: Raw / XML = o envelope da operação (seções 5–7).
Proxy: se necessário (seção 4), configure o proxy nacional no node.
Parse da resposta (node XML → JSON) e leia restricao / protocolo.
Homologue no TREINA antes de apontar para produção. Consultas e inclusões em produção geram cobrança.
9 Tabelas de referência
Operações "listar*" (não precisam de documento) — use para popular selects e validar códigos.
| Operação | Retorna |
|---|---|
listarProdutos | produtos contratados (ex.: 323 SPC MIXMAIS) |
listarNaturezaInclusao | naturezas da negativação (104 = atraso de pagamento…) |
listarTipoDevedor | tipos de devedor (C = titular…) |
listarMotivoExclusao | motivos de exclusão |