I will use DeactivationRequestToFile to generate a file, send this file to the site and that's all?
The user presses some button, or menu in your app and your app calls the DeactivationRequestToFile() function. This immediately deactivates the computer. Then the user either sends the file to you or uses a webpage you created to submit this file.
Lastly, you submit this "deactivation file" to either the manual activate/deactivate page in the LimeLM dashboard (see: Manually activate or deactivate a product key) or use the web API function limelm.pkey.manualDeactivation. LimeLM will decide whether the deactivation is valid and whether to deactivate the computer within LimeLM.
Does that clarify things?