This content is not available in your language... So if you don't understand the language... well, at least you can appreciate the pictures of the post, right?

No /r/brdev, /u/sock_templar compartilhou um endpoint dos Correios que permite você rastrear pacotes dos Correios.

curl https://proxyapp.correios.com.br/v1/sro-rastro/CodigoDeRastreioAqui

Ela mostra os eventos sobre o pacote, parecido com os eventos que você recebe ao rastrear um pacote pelo website dos Correios, e inclusive esse endpoint é usado em várias libraries que existem pela internet.

Mas sabia que existe outro endpoint de rastreio dos Correios, que mostra mais informações sobre o pacote sendo rastreado, como também permite você rastrear vários pacotes em um único request?

Alguns anos atrás, eu queria implementar rastreio de pacotes na Loritta, então eu fiz engenharia reversa do app dos Correios na época (SRO-Mobile), assim encontrando como o app rastreia pacotes dos correios.

curl http://webservice.correios.com.br/service/rest/rastro/rastroMobile -H "Content-Type: application/xml" --data '<rastroObjeto>
	<usuario>TantoFaz</usuario>
	<senha>TantoFazTambem</senha>
	<tipo>L</tipo>
	<resultado>T</resultado>
	<objetos>CodigoDeRastreioAqui</objetos>
	<lingua>101</lingua>
	<token>TantoFazIsso</token>
</rastroObjeto>'

Enquanto o XML possui os parâmetros usuario, senha e token, os Correios não validam se esses parâmetros estão corretos, como o /u/sock_templar disse, "Blitz da PRF sem ninguém na viatura".

Você também pode rastrear vários pacotes em uma única requisição adicionando mais <objetos> no XML.

curl http://webservice.correios.com.br/service/rest/rastro/rastroMobile -H "Content-Type: application/xml" --data '<rastroObjeto>
	<usuario>TantoFaz</usuario>
	<senha>TantoFazTambem</senha>
	<tipo>L</tipo>
	<resultado>T</resultado>
	<objetos>CodigoDeRastreioAqui1</objetos>
	<objetos>CodigoDeRastreioAqui2</objetos>
	<objetos>CodigoDeRastreioAqui3</objetos>
	<objetos>CodigoDeRastreioAqui4</objetos>
	<objetos>CodigoDeRastreioAqui5</objetos>
	<lingua>101</lingua>
	<token>TantoFazIsso</token>
</rastroObjeto>'

O rastroMobile mostra mais informações sobre o pacote: Quem recebeu o pacote (mas normalmente preenchem com ?), para qual endereço o pacote foi entregue, etc.

Entretanto, a sro-rastro é mais fácil de usar e os dados são apresentados de uma forma melhor, afinal, o rastroMobile teve a brilhante ideia de chamar uma lista de eventos de... evento, ou guardar a data de cada evento no formato 07122021145000 (DiaMêsAnoHorasMinutosSegundos, tudo junto).

Exemplo (Kotlin): https://github.com/LorittaBot/Loritta/blob/2a5985ea7fc4b18d69da3b73c2d2f1c64ff574c8/discord/discord-common/src/main/kotlin/net/perfectdreams/loritta/cinnamon/discord/utils/correios/CorreiosClient.kt