Meus 2 cents:
Ja tive problema semelhante, a solucao foi webscrapping.
No caso, mesmo que a empresa de onde voce precisa buscar a informacao nao fornece uma API publica ou integracao direta, geralmente tem uma pagina de pesquisa para saber o status da carga (fornecendo o CNPJ ou semelhante).
O que fiz fui criar um wrapper que lia esta pagina de status, fazia o scrapping e inseria os dados na minha aplicacao. Em caso de nova consulta, as novas leituras da pagina apenas buscavam dados de atualizacao.
Na epoca fiz isso para alternativa, ascbrasil, exactsales, jmklog, linx, datafrete, moip, moskitcrm, intelipost, tntbrasil, translovato, modular, bertolini, ehagora, solistica, jamef, bauer, mann, tpl (deve ter outras, mas peguei o que estava facil na documentacao).
Mas eh por ai - veja o sistema que a empresa que sera tua cliente usa e crie o scrapping necessario.
Que massa! Fiz bem em postar isso aqui, deu uma boa clareada dos caminhos possíveis.
Uma última dúvida se puder responder, a empresa proprietária que está "sofrendo" a webscrapping, não pode barrar isso de alguma forma ou processar ou algo nesse sentido? Na sua experiência já aconteceu algo assim?
Desde já, obrigado pela ajuda meu amigo.