public HomeController() { //client= new IdentificationClient(Credentials.ClientId, Credentials.ClienttSecret,environment:IdentificationClient.Environment.TEST); client = new Idfy.RestClient.IdfyRestClientClient(Credentials.ClientId, Credentials.ClienttSecret); token = client.Auth.Authorize(scopes: new List <OAuthScope>() { OAuthScope.IDENTIFY }); cache = MemoryCache.Default; cache.Add("token", token, DateTimeOffset.FromUnixTimeSeconds(token.ExpiresIn.Value - 10)); Idfy.RestClient.Configuration.OAuthTokenUpdateCallback = tokenUpdate; baseUrl = "https://localhost:44335"; }
static void Main(string[] args) { var logger = new Serilog.LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.ColoredConsole() .CreateLogger(); Log.Logger = logger; OAuthToken token = null; IdfyRestClientClient client = new IdfyRestClientClient(Credentials.ClientId, Credentials.ClienttSecret); try { token = client.Auth.Authorize(scopes: new List <OAuthScope>() { OAuthScope.DOCUMENT_FILE, OAuthScope.DOCUMENT_READ, OAuthScope.DOCUMENT_WRITE }); } catch (OAuthProviderException e) { Console.WriteLine(e); Console.ReadLine(); return; } IDocumentsController documents = client.Documents; CreateDocumentRequestWrapper request = new CreateDocumentRequestWrapper { Title = "Test document", Description = "This is an important document", ExternalId = Guid.NewGuid().ToString(), DataToSign = new DataToSign { Base64Content = Convert.ToBase64String(File.ReadAllBytes("test.pdf")), FileName = "test.pdf", ConvertToPDF = false, Packaging = new Packaging() { PadesSettings = new PadesSettings() { PrimaryLanguage = PrimaryLanguage.NO, SecondaryLanguage = SecondaryLanguage.EN }, SignaturePackageFormats = new List <SignaturePackageFormat>() { SignaturePackageFormat.PADES } } }, ContactDetails = new ContactDetails { Email = "*****@*****.**", Url = "https://idfy.io" }, Signers = new List <SignerWrapper>(), Advanced = new Advanced { Tags = new List <string> { "develop", "fun_with_documents" }, Attachments = 0, RequiredSignatures = 0, GetSocialSecurityNumber = false, TimeToLive = new TimeToLive { Deadline = DateTime.Now.AddDays(1), DeleteAfterHours = 1 }, } }; SignerWrapper signer = new SignerWrapper { ExternalSignerId = Guid.NewGuid().ToString(), RedirectSettings = new RedirectSettings(), SignatureType = new SignatureType(), Ui = new UI(), Order = 0, Required = false, SignerInfo = new SignerInfo() { FirstName = "Rune", LastName = "Synnevåg", Email = "*****@*****.**", Mobile = new Mobile() { CountryCode = "+47", Number = "99716935", }, }, Notifications = new Notifications() { Setup = new Setup() { SignatureReceipt = SignatureReceipt.SENDEMAIL, Request = Request.SENDBOTH, Reminder = Reminder.OFF, FinalReceipt = FinalReceipt.OFF, Expired = Expired.OFF, Canceled = Canceled.OFF, }, }, }; signer.RedirectSettings.RedirectMode = RedirectMode.DONOT_REDIRECT; signer.SignatureType.Mechanism = Mechanism.PKISIGNATURE; signer.SignatureType.OnEacceptUseHandWrittenSignature = false; signer.Ui.Dialogs = new Dialogs { Before = new DialogBefore { UseCheckBox = false, Title = "Info", Message = "Please read the contract on the next pages carefully. Pay some extra attention to paragraph 5." } }; signer.Ui.Language = Language157.EN; signer.Ui.Styling = new SignatureStyling { ColorTheme = ColorTheme.PINK, Spinner = Spinner.CUBES }; request.Signers.Add(signer); try { client.Auth.UpdateAccessToken(token); var result = documents.DocumentsCreateAsync(request).Result; Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(result, Formatting.Indented)); Console.ReadLine(); var signedDocument = documents.DocumentsGetAsync(result.DocumentId.Value).Result; Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(signedDocument, Formatting.Indented)); } catch (APIException e) { Console.WriteLine(e); }; Console.ReadLine(); }