Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado (editado)

Bom dia,

o retorno da api cobrança fracesinha v3 do itau para movimentações trás o seguinte:
{
"agencia": "",
"conta": "",
"data_movimentacao": "2026-03-26",
"numero_carteira": "",
"codigo_status": "",
"nosso_numero": "",
"seu_numero": "",
"dac_titulo": "",
"tipo_cobranca": "",
"pagador": "",
"agencia_recebedora": "",
"data_movimentacao_titulo_carteira": "2026-03-26",
"data_inclusao_titulo_cobranca": "2026-02-13",
"data_vencimento": "2026-03-26",
"valor_titulo": "",
"valor_liquido_lancado": "",
"valor_acrescimo": "",
"valor_decrescimo": "",
"indicador_pagamento_reserva_administrativa": "",
"indicador_rateio_credito": "",
"dac_agencia_conta_beneficiario": "",
"operacoes_cobranca": [
{
"codigo": "",
"descricao": "",
"valor": ""
}
]
}
Eu gostaria de entender como funciona a "data_movimentacao_titulo_carteira"  ela é diferente da 
compensação bancária ?

Preciso adicionar em meu sistema a data exata que o título foi compensando mas eu não consigo usar a estratégia de D+1 por conta de pagamentos fora do horário e feriados.

Já tentei olhar na documentação do banco mas isso não está claro.

Desde já agradeço pela ajuda.

...

Editado por Diego Lobato
Edit
  • Diego Lobato changed the title to API BOLETO FRACESINHAS ITAU 2
  • 2 semanas depois ...
  • Consultores
Postado

Chegou a abrir chamado junto ao banco para que eles possam auxiliar no entendimento, pois eles pomde ter um

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Eu resolvi com uma função


 

function getEasterDate(year) {
  const a = year % 19;
  const b = Math.floor(year / 100);
  const c = year % 100;
  const d = Math.floor(b / 4);
  const e = b % 4;
  const f = Math.floor((b + 😎 / 25);
  const g = Math.floor((b - f + 1) / 3);
  const h = (19 * a + b - d - g + 15) % 30;
  const i = Math.floor(c / 4);
  const k = c % 4;
  const l = (32 + 2 * e + 2 * i - h - k) % 7;
  const m = Math.floor((a + 11 * h + 22 * l) / 451);
  const month = Math.floor((h + l - 7 * m + 114) / 31);
  const day = ((h + l - 7 * m + 114) % 31) + 1;
  return new Date(year, month - 1, day);
}

function getBankNonBusinessDays(year) {
  const set = new Set();
  function add(date) { set.add(formatDateISO(date)); }

  add(new Date(year, 0, 1));
  add(new Date(year, 3, 21));
  add(new Date(year, 4, 1));
  add(new Date(year, 8, 7));
  add(new Date(year, 9, 12));
  add(new Date(year, 10, 2));
  add(new Date(year, 10, 15));
  add(new Date(year, 10, 20));
  add(new Date(year, 11, 25));

  const easter = getEasterDate(year);
  add(addDays(easter, -48));
  add(addDays(easter, -47));
  add(addDays(easter, -2));
  add(addDays(easter, 60));

  return set;
}

function isWeekend(date) {
  const day = date.getDay();
  return day === 0 || day === 6;
}

function isBankNonBusinessDay(date) {
  const iso = formatDateISO(date);
  const holidays = getBankNonBusinessDays(date.getFullYear());
  return isWeekend(date) || holidays.has(iso);
}

function nextBusinessDay(date) {
  let d = new Date(date.getFullYear(), date.getMonth(), date.getDate());
  while (isBankNonBusinessDay(d)) {
    d = addDays(d, 1);
  }
  return d;
}

function plusBusinessDays(date, qtd) {
  let d = nextBusinessDay(date);
  let added = 0;

  while (added < qtd) {
    d = addDays(d, 1);
    d = nextBusinessDay(d);
    added++;
  }

  return d;
}

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.