então, na primeira batida da api eu ja vou no titulo a receber e gravo o codigo de solicitação. A partir dai, se tem esse codigo, eu entro no bloco de envio antes mando consultar, e analiso o retorno, e nao entra mais no bloco de enviar, somente se tiver um retorno negativo lá, tipo, boleto cancelado (usuario pode entrar no portal e cancelar o boleto), entao eu cancelo meu processo dentro do titulo, e sigo para emissao normal. Ao terminar o bloco de enviar, se o banco pede consulta (eu parametrizo no cadastro da conta, se tem consulta apos enviar) eu já mando consultar se teve o boleto gerado, pois nem sempre vem no mesmo comando de envio. Costuma dar uns timeout brabo nessas api.
Trate seu codigo pelo codigo do banco: 756 (sicoob), 001 (bb) vc gera o nosso numero, a consulta já nao é pelo codigo correspondente, mas pelo numero do boleto que voce incrementou e salvou no seu receber. Os que retornam um codigo antes, como em inclusao, inter e C6, são esses 4 api que trato.
Valeria a pena até haver isso no documento que tem no acbr. Qual retorna codigo correspondente, para mandar consultar correto. Ou vai esse codigo ou vai o nosso numero.