//### callback check for Sample32
        public ActionResult publish_callback()
        {
            // Get user info
            String infoFile = AppDomain.CurrentDomain.BaseDirectory + "user_info.txt";
            System.IO.StreamReader userInfoFile = new System.IO.StreamReader(infoFile);
            String clientId = userInfoFile.ReadLine();
            String privateKey = userInfoFile.ReadLine();
            String email = userInfoFile.ReadLine();
            userInfoFile.Close();

            // Check is data posted
            if (Request.HttpMethod == "POST")
            {
                //Get data from request
                System.IO.StreamReader reader = new System.IO.StreamReader(Request.InputStream);
                String jsonString = reader.ReadToEnd();
                var data = System.Web.Helpers.Json.Decode(jsonString);
                //Get form Id
                String formId = data.SourceId;
                formId = formId.Replace(" ", "");
                // Create service for Groupdocs account
                GroupdocsService service = new GroupdocsService("https://api.groupdocs.com/v2.0", clientId, privateKey);
                //Make request to api for get document info by form id
                Groupdocs.Api.Contract.Signature.SignatureFormDocumentsResponse getDocument = service.GetFormDocuments(formId);
                //Get document name from form
                String name = getDocument.Result.Documents[0].Name;
                //Send email
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                mail.Subject = "Reminder: An envelope has to be signed on GroupDocs";
                mail.From = new System.Net.Mail.MailAddress("*****@*****.**");
                mail.To.Add(email);
                mail.Body = "Document" + name + " is signed";

                System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
                smtp.EnableSsl = true;
                System.Net.NetworkCredential netCre = new System.Net.NetworkCredential("*****@*****.**", "svarog07");
                smtp.Credentials = netCre;
                smtp.Send(mail);
                return View("publish_callback");
            }
            // If data not posted return to template for filling of necessary fields
            else
            {
                String jobId = clientId + ":" + privateKey + ":" + email;
                return View("publish_callback", null, jobId);
            }
        }