Ir para conteúdo
  • Cadastre-se

dev botao

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


Ver Solução Respondido por hugolmf,
  • Este tópico foi criado há 470 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á 470 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.