{
  "openapi": "3.0.0",
  "info": {
    "title": "API Propostas pendentes",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://sauto.dsv.bradescoseguros.com.br:443/V2/WSBL-GerenciaCarteiraCsp/service/",
      "description": "Homologação"
    },
    {
      "url": "https://sauto.hml.bradescoseguros.com.br:443/V2/WSBL-GerenciaCarteiraCsp/service/",
      "description": "Desenvolvimento"
    },
    {
      "url": "https://sauto.bradescoseguros.com.br:443/V2/WSBL-GerenciaCarteiraCsp/service/",
      "description": "Produção"
    }
  ],
  "paths": {
    "/pendentes": {
      "post": {
        "tags": [
          "Propostas Pendentes"
        ],
        "summary": "Listar Propostas Pendentes",
        "operationId": "listarPropostasPendentes",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "propostasPendentesRequestDTO": {
                    "$ref": "#/components/schemas/PropostasPendentesRequestDTO"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação bem-sucedida",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PropostasPendentesRestResponseDTO"
                }
              }
            }
          },
          "500": {
            "description": "Erro Interno do Servidor",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MensagemErroResponseDTO"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "PropostasPendentesRequestDTO": {
        "type": "object",
        "properties": {
          "cnpjProvedor": {
            "type": "string",
            "example": "12345678000195"
          },
          "cpfCnpjCorretor": {
            "type": "string",
            "example": "12345678000195"
          },
          "featureToggle": {
            "type": "string",
            "example": "0"
          }
        },
        "required": [
          "cnpjProvedor",
          "cpfCnpjCorretor"
        ]
      },
      "PropostasPendentesRestResponseDTO": {
        "type": "object",
        "properties": {
          "propostas": {
            "type": "array",
            "description": "Lista de propostas pendentes",
            "items": {
              "$ref": "#/components/schemas/PropostaRestResponseDTO"
            }
          },
          "mensagemErro": {
            "$ref": "#/components/schemas/MensagemErroResponseDTO"
          }
        }
      },
      "PropostaRestResponseDTO": {
        "type": "object",
        "properties": {
          "proponente": {
            "$ref": "#/components/schemas/ProponenteResponseDTO",
            "description": "Proponente da proposta"
          },
          "vigencia": {
            "$ref": "#/components/schemas/VigenciaResponseDTO",
            "description": "Vigência da proposta"
          },
          "sucursal": {
            "type": "string",
            "description": "Sucursal da proposta",
            "example": "1234"
          },
          "agencia": {
            "type": "string",
            "description": "Agência da proposta",
            "example": "5678"
          },
          "numProposta": {
            "type": "string",
            "description": "Número da proposta",
            "example": "20230001"
          },
          "tpProposta": {
            "type": "string",
            "description": "Tipo da proposta",
            "example": "Nova"
          },
          "origem": {
            "type": "string",
            "description": "Origem da proposta",
            "example": "Internet"
          },
          "modalidade": {
            "type": "string",
            "description": "Modalidade da proposta",
            "example": "Automóvel"
          },
          "veiculo": {
            "$ref": "#/components/schemas/VeiculoResponseDTO",
            "description": "Veículo da proposta"
          },
          "vencimento": {
            "$ref": "#/components/schemas/VencimentoResponseDTO",
            "description": "Vencimento da proposta"
          },
          "cartao": {
            "$ref": "#/components/schemas/CartaoResponseDTO",
            "description": "Cartão da proposta"
          },
          "debito": {
            "$ref": "#/components/schemas/DebitoResponseDTO",
            "description": "Débito da proposta"
          },
          "criticas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CriticaResponseDTO"
            },
            "description": "Lista de críticas da proposta"
          },
          "statusVistoria": {
            "type": "string",
            "description": "Status da vistoria",
            "example": "Aprovada"
          },
          "statusRastreador": {
            "type": "string",
            "description": "Status do rastreador",
            "example": "Instalado"
          },
          "statusRetificacao": {
            "type": "string",
            "description": "Status da retificação",
            "example": "Pendente"
          },
          "statusLivelo": {
            "$ref": "#/components/schemas/LiveloResponseDTO",
            "description": "Status do Livelo"
          }
        }
      },
      "ProponenteResponseDTO": {
        "type": "object",
        "properties": {
          "nome": {
            "type": "string",
            "description": "Nome do proponente",
            "example": "João Silva"
          },
          "cpfCnpjProponente": {
            "type": "integer",
            "description": "CPF ou CNPJ do proponente",
            "example": 12345678901
          }
        }
      },
      "VigenciaResponseDTO": {
        "type": "object",
        "properties": {
          "dtEfetivacao": {
            "type": "string",
            "description": "Data de efetivação",
            "example": "2023-10-01"
          },
          "dtInicioVigencia": {
            "type": "string",
            "description": "Data de início da vigência",
            "example": "2023-10-01"
          },
          "dtFimVigencia": {
            "type": "string",
            "description": "Data de fim da vigência",
            "example": "2024-10-01"
          }
        }
      },
      "VeiculoResponseDTO": {
        "type": "object",
        "properties": {
          "modelo": {
            "type": "string",
            "description": "Modelo do veículo",
            "example": "Civic"
          },
          "anoFabricacao": {
            "type": "integer",
            "description": "Ano de fabricação do veículo",
            "example": 2020
          },
          "anoModelo": {
            "type": "integer",
            "description": "Ano do modelo do veículo",
            "example": 2021
          },
          "placa": {
            "type": "string",
            "description": "Placa do veículo",
            "example": "ABC-1234"
          }
        }
      },
      "VencimentoResponseDTO": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Status do vencimento",
            "example": "ativo"
          },
          "dtVencimento": {
            "type": "string",
            "description": "Data de vencimento",
            "example": "2023-12-31"
          },
          "formaPagamento": {
            "type": "string",
            "description": "Forma de pagamento",
            "example": "cartão de crédito"
          }
        }
      },
      "CartaoResponseDTO": {
        "type": "object",
        "properties": {
          "numeroCartao": {
            "type": "string",
            "description": "Número do cartão",
            "example": "1234-5678-9012-3456"
          },
          "validade": {
            "type": "string",
            "description": "Data de validade do cartão",
            "example": "12/24"
          },
          "bandeira": {
            "type": "string",
            "description": "Bandeira do cartão",
            "example": "Visa"
          },
          "indCartaoBradSeg": {
            "type": "string",
            "description": "Indicador se o cartão é BradSeg",
            "example": "S"
          }
        }
      },
      "DebitoResponseDTO": {
        "type": "object",
        "properties": {
          "banco": {
            "type": "integer",
            "description": "Código do banco",
            "example": 123
          },
          "agencia": {
            "type": "string",
            "description": "Agência bancária",
            "example": "1234"
          },
          "contaCorrente": {
            "type": "string",
            "description": "Conta corrente",
            "example": "56789-0"
          }
        }
      },
      "CriticaResponseDTO": {
        "type": "object",
        "properties": {
          "numProposta": {
            "type": "string",
            "description": "Número da proposta",
            "example": "123456"
          },
          "numItem": {
            "type": "string",
            "description": "Número do item",
            "example": "1"
          },
          "descricao": {
            "type": "string",
            "description": "Descrição da crítica",
            "example": "Descrição detalhada da crítica"
          },
          "causa": {
            "type": "string",
            "description": "Causa da crítica",
            "example": "Causa identificada"
          },
          "acoes": {
            "type": "string",
            "description": "Ações recomendadas",
            "example": "Ações a serem tomadas"
          },
          "impacto": {
            "type": "string",
            "description": "Impacto da crítica",
            "example": "Impacto identificado"
          },
          "dtLiberacao": {
            "type": "string",
            "description": "Data de liberação",
            "example": "2023-10-01"
          }
        }
      },
      "LiveloResponseDTO": {
        "type": "object",
        "properties": {
          "pendente": {
            "type": "boolean",
            "description": "Indica se está pendente",
            "example": true
          },
          "mensagem": {
            "type": "string",
            "description": "Mensagem de resposta",
            "example": "Operação realizada com sucesso"
          }
        }
      },
      "MensagemErroResponseDTO": {
        "type": "object",
        "properties": {
          "cdErro": {
            "type": "integer",
            "description": "Código do erro",
            "example": 404
          },
          "dsErro": {
            "type": "string",
            "description": "Descrição do erro",
            "example": "Recurso não encontrado"
          },
          "cdSQLCode": {
            "type": "integer",
            "description": "Código SQL do erro",
            "example": 1001
          },
          "dsPrograma": {
            "type": "string",
            "description": "Nome do programa onde ocorreu o erro",
            "example": "ProgramaX"
          }
        }
      }
    }
  }
}