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.