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.

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