Ir para conteúdo
  • Cadastre-se

Boleto via api sicoob - "Propriedade inesperada: (cpfCnpj.)"


Ver Solução Respondido por hugolmf,
  • Este tópico foi criado há 1038 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Alguém sabe me dizer o que pode ser esse retorno ao tentar enviar um boleto em produção pelo sicoob

 

Retorno Envio: HTTPCode=406
Result={"mensagens":[{"mensagem":"Propriedade inesperada: (cpfCnpj.)","codigo":"0004"}]}

 

Desenvolvedor de Sistemas

RAD Studio Berlin | Sql Server | Firebird

Minas Gerais/Brazil

  • Consultores
Postado

Boa noite,

Analisando os fontes desse banco, antes do cpfCnpj ele espera a chave nome.

Se nome for de preenchimento obrigatório e você não preencher, pode ser o motivo do erro.

Confirme se está preenchendo a propriedade aTitulo.Sacado.SacadoAvalista.NomeAvalista

../trunk2/Fontes/ACBrBoleto/WS/ACBrBoletoW_Bancoob.pas

procedure TBoletoW_Bancoob.GerarBenificiarioFinal(AJson: TJsonObject);
var
  JsonSacadorAvalista: TJsonObject;
  JsonPairSacadorAvalista: TJSONPair;
begin
  if Assigned(aTitulo) then
  begin
    if aTitulo.Sacado.SacadoAvalista.CNPJCPF = EmptyStr then
      Exit;
    if Assigned(AJson) then
    begin
      JsonSacadorAvalista := TJsonObject.Create;
      try
        JsonSacadorAvalista.Add('nome').Value.asString       := aTitulo.Sacado.SacadoAvalista.NomeAvalista;
        JsonSacadorAvalista.Add('cpfCnpj').Value.asString    := OnlyNumber(aTitulo.Sacado.SacadoAvalista.CNPJCPF);
        JsonSacadorAvalista.Add('tipoPessoa').Value.asString := IfThen(Length(OnlyNumber(aTitulo.Sacado.SacadoAvalista.CNPJCPF)) = 11, 'FISICA', 'JURIDICA');

 

Postado
Em 11/08/2023 at 21:32, Renato Rubinho disse:

Boa noite,

Analisando os fontes desse banco, antes do cpfCnpj ele espera a chave nome.

Se nome for de preenchimento obrigatório e você não preencher, pode ser o motivo do erro.

Confirme se está preenchendo a propriedade aTitulo.Sacado.SacadoAvalista.NomeAvalista

../trunk2/Fontes/ACBrBoleto/WS/ACBrBoletoW_Bancoob.pas

procedure TBoletoW_Bancoob.GerarBenificiarioFinal(AJson: TJsonObject);
var
  JsonSacadorAvalista: TJsonObject;
  JsonPairSacadorAvalista: TJSONPair;
begin
  if Assigned(aTitulo) then
  begin
    if aTitulo.Sacado.SacadoAvalista.CNPJCPF = EmptyStr then
      Exit;
    if Assigned(AJson) then
    begin
      JsonSacadorAvalista := TJsonObject.Create;
      try
        JsonSacadorAvalista.Add('nome').Value.asString       := aTitulo.Sacado.SacadoAvalista.NomeAvalista;
        JsonSacadorAvalista.Add('cpfCnpj').Value.asString    := OnlyNumber(aTitulo.Sacado.SacadoAvalista.CNPJCPF);
        JsonSacadorAvalista.Add('tipoPessoa').Value.asString := IfThen(Length(OnlyNumber(aTitulo.Sacado.SacadoAvalista.CNPJCPF)) = 11, 'FISICA', 'JURIDICA');

 

Bom dia. Está preenchido. O comando enviar está como na imagem.

 

Screenshot_12.png

Desenvolvedor de Sistemas

RAD Studio Berlin | Sql Server | Firebird

Minas Gerais/Brazil

  • Solution
Postado

Consegui resolver atribuindo vazio para o cpfcnpj. Fazendo assim registrou o boleto. Se alguém tiver passando o mesmo problema, assim dá certo.

Quando estava fazendo teste do banco do brasil, funcionava informando o cpfcnpj normalmente, mas nesse do Sicoob tive que passar em branco para funcionar.

ACBrBoleto1.Cedente.CNPJCPF := '';

 

Desenvolvedor de Sistemas

RAD Studio Berlin | Sql Server | Firebird

Minas Gerais/Brazil

  • Este tópico foi criado há 1038 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...