You can use the Community Commons module to generate a UUID using the RandomHash action. You can then associate this value to a document, and use it as the parameter to the deeplink. When the deeplink is visited, just retrieve the document using this value.
You could then remove the UUID once the collected so the document couldn’t be retrieved again using that value.
Hope this helps.