{
    "tipo": "formato-conector",
    "nome": "formato-conector-email",
    "versao": "1.0.0",
    "conector": "conector-email",
    "descricao": "Contrato de payload aceito e produzido pelo conector conector-email. O conector aceita um endereco de email e uma acao: enviar mensagem ou receber emails daquele endereco.",
    "entrada": {
        "modelos": {
            "comando-email": {
                "campos": {
                    "email": {
                        "tipo": "string",
                        "obrigatorio": true,
                        "descricao": "Endereco de email usado como destino no envio ou como endereco monitorado na recepcao."
                    },
                    "acao": {
                        "tipo": "string",
                        "obrigatorio": true,
                        "valoresAceitos": ["enviar", "receber"],
                        "descricao": "Use enviar para mandar uma mensagem; use receber para buscar/receber emails do endereco informado."
                    },
                    "mensagem": {
                        "tipo": "string",
                        "obrigatorio": "quando acao=enviar",
                        "descricao": "Texto da mensagem a enviar. Nao deve ser informado como obrigatorio quando acao=receber."
                    },
                    "assunto": {
                        "tipo": "string",
                        "obrigatorio": false,
                        "padrao": "Mensagem do SISC",
                        "descricao": "Assunto do email quando acao=enviar. Se ausente, o handler usa Mensagem do SISC."
                    }
                },
                "regras": [
                    "email deve existir em todas as chamadas.",
                    "acao deve ser enviar ou receber.",
                    "mensagem e obrigatoria quando acao=enviar.",
                    "mensagem nao e obrigatoria quando acao=receber.",
                    "assunto e opcional e usado apenas quando acao=enviar."
                ],
                "exemplos": {
                    "enviar": {
                        "email": "destinatario@exemplo.com",
                        "acao": "enviar",
                        "assunto": "Assunto da mensagem",
                        "mensagem": "Texto da mensagem"
                    },
                    "receber": {
                        "email": "conta@exemplo.com",
                        "acao": "receber"
                    }
                }
            }
        }
    },
    "saida": {
        "modelos": {
            "resultado": {
                "campos": {
                    "sucesso": {"tipo": "bool", "obrigatorio": true},
                    "dados": {"tipo": "object", "obrigatorio": false},
                    "erro": {"tipo": "object", "obrigatorio": false}
                }
            }
        }
    }
}
