{
  "nome": "conector-cep-endereco",
  "titulo": "Conector CEP por endereço",
  "dependencias": {
    "fonteSeguraImportacao": true,
    "arquivos": [
      {"papel":"manifesto","origem":"conectores/conector-cep-endereco/conector-cep-endereco.json","destino":"conectores/conector-cep-endereco/conector-cep-endereco.json","obrigatorio":true},
      {"papel":"formato","origem":"conectores/conector-cep-endereco/formatos/formato-conector-cep-endereco.json","destino":"conectores/conector-cep-endereco/formatos/formato-conector-cep-endereco.json","obrigatorio":true},
      {"papel":"handler","origem":"conectores/conector-cep-endereco/handlers/conector-cep-endereco.php","destino":"conectores/conector-cep-endereco/handlers/conector-cep-endereco.php","obrigatorio":true},
      {"papel":"teste-sandbox","origem":"conectores/conector-cep-endereco/testes/mensagem-exemplo.json","destino":"conectores/conector-cep-endereco/testes/mensagem-exemplo.json","obrigatorio":true},
      {"papel":"catalogo-mensagens","origem":"siscconectores/web-api/catalogo-conector-cep-endereco.json","destino":"web-api/catalogo-conector-cep-endereco.json","obrigatorio":true},
      {"papel":"manual-usuario","origem":"conectores/conector-cep-endereco/manual-conector-cep-endereco.html","destino":"conectores/conector-cep-endereco/manual-conector-cep-endereco.html","obrigatorio":true},
      {"papel":"exemplo-uso","origem":"siscconectores/conector-cep-endereco-uso.php","destino":"siscconectores/conector-cep-endereco-uso.php","obrigatorio":true},
      {"papel":"exemplo-consumidor","origem":"siscconectores/conector-cep-endereco-cliente.php","destino":"siscconectores/conector-cep-endereco-cliente.php","obrigatorio":true},
      {"papel":"cliente-config","origem":"siscconectores/cabsisc.h","destino":"siscconectores/cabsisc.h","obrigatorio":true},
      {"papel":"cliente-biblioteca","origem":"siscconectores/sisc-api-cliente.php","destino":"siscconectores/sisc-api-cliente.php","obrigatorio":true}
    ]
  },
  "descricao": "Conector SISC que recebe endereço brasileiro e retorna o CEP mais provável usando consulta pública ViaCEP em modo somente leitura.",
  "versao": "1.0.0",
  "ativo": true,
  "tipo": "conector",
  "controlador": {
    "executavel": "./escuta/runtime-conector",
    "metodoLeitura": "ler-mensagem",
    "metodoEnvio": "POST api.php",
    "regraEnvio": "somente-via-api-sem-publicacao-direta-no-espaco",
    "handlerLerMensagem": "./conectores/conector-cep-endereco/handlers/conector-cep-endereco.php"
  },
  "protocoloEscuta": "formatos-escuta/protocolo-mensagem-siscore.v1.json",
  "formatoConector": "conectores/conector-cep-endereco/formatos/formato-conector-cep-endereco.json",
  "api.php": {
    "descricao": "Endpoint HTTP local para publicacao de respostas quando aplicavel.",
    "url": "./api.php",
    "metodo": "POST",
    "autenticacao": {"header":"Authorization: Bearer <token>","token":"token-sisc/<cliente>.txt"},
    "body": {"idmensagem":"string","dados":"object","origem":"conector__conector-cep-endereco","processoId":"preservar do recebido","respostaA":"mensagemId original"}
  },
  "mensagensEspaco": {
    "regraCentral": "O conector lê mensagens apenas pelo arquivo entregue pela escuta e publica saídas apenas via POST HTTP para api.php.",
    "leitura": {"metodo":"ler-mensagem","acionamentoPelaEscuta":"./escuta/runtime-conector ler-mensagem <arquivo-mensagem>","fonteDeVerdade":"Arquivo JSON da mensagem","camposObrigatorios":["_sistema","_protocolo","payload"]},
    "envio": {"metodo":"POST api.php","publicacaoDiretaNoEspaco":false,"preservarCorrelacao":["processoId","respostaA","escopo","idempotencia"]}
  },
  "testeSandbox": {"permitido":true,"semEfeitoReal":true,"mensagem":"conectores/conector-cep-endereco/testes/mensagem-exemplo.json","descricao":"A busca de CEP faz apenas consulta pública de leitura ao ViaCEP, não grava dados, não envia email, não cobra valores e não altera estado real."},
  "servicoExterno": {"nome":"ViaCEP","descricao":"API pública brasileira de consulta de CEP e endereço.","baseUrl":"https://viacep.com.br/ws/","credenciais":{"referencia":"siscconectores/secretos/conector-cep-endereco.json","tipo":"nao-necessarias-para-viacep-publico","permissaoRecomendada":"600"}},
  "operacoes": {"buscar-cep":{"descricao":"Recebe endereço livre ou campos uf/cidade/logradouro e retorna o CEP mais provável.","entradaObrigatoriaAlternativa":["endereco","uf+cidade+logradouro"],"entradaOpcional":["numero","bairro"],"regras":["operacao deve ser buscar-cep quando informada","se o endereço já contiver CEP, o CEP informado é retornado sem consulta externa","quando endereco não for suficiente, informe uf, cidade e logradouro separados"],"saida":"JSON no stdout com sucesso, cep, fonte, consulta e candidatos"}},
  "instrucoes": ["Use payload.dados.endereco no formato 'logradouro, cidade - UF' ou os campos uf, cidade e logradouro.","O handler consulta ViaCEP com timeout explícito e retorna JSON no stdout.","Não inclua credenciais reais; o serviço público usado no teste não exige token."],
  "manualUsuario": "conectores/conector-cep-endereco/manual-conector-cep-endereco.html"
}
