Pense nisso como uma carta. Às vezes, você recebe uma carta pedindo para preencher um formulário e, em seguida, devolvê-lo em um envelope pré-endereçado que está no envelope original que continha o formulário.
Assim que terminar de preencher o formulário, coloque-o no envelope de devolução fornecido e envie-o de volta.
O callbackUrl é como aquele envelope de retorno. Basicamente, você está dizendo que estou enviando esses dados. Assim que terminar, estou neste callbackUrl à espera da sua resposta. Portanto, a API processará os dados que você enviou e, em seguida, consulte o retorno de chamada para enviar a resposta.
Isso é útil porque às vezes pode demorar muito para processar alguns dados e não faz sentido deixar o chamador aguardar uma resposta. Por exemplo, digamos que sua API permite que os usuários enviem documentos para ela e façam uma varredura de vírus. Então você envia um relatório depois. A varredura pode levar cerca de 3 minutos. O usuário não pode ficar esperando por 3 minutos. Portanto, você reconhece que recebeu o documento e permite que o chamador prossiga com outros negócios enquanto você faz a varredura e, em seguida, usa callbackUrl quando terminar para informar o resultado da varredura.