public static void APIPartnerSample(PartnerSDK.ServiceClient client)
            {
                Console.WriteLine("Get token for invitee");
                var inviteeToken = client.OAuth2.GetAccessTokenForInvitee(SampleParameters.Invitee1_FirstName, SampleParameters.Invitee1_LastName, SampleParameters.Invitee1_Email, SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.Basic | SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.SmartTag);
                client.AccessToken = inviteeToken.Access_Token;
                Console.WriteLine("Upload smart tag document");
                var docRef = client.uploadDocumentFile(new System.IO.FileInfo(SampleParameters.Path2SmartTagDocument));
                Console.WriteLine("Send smart tag");
                var stResp = client.sendSmartTagDocument(new List<string> { docRef }, DateTime.Now.AddDays(3), true);
                Console.WriteLine("Populate signing key to embedded html page");
                var signingKey = stResp.FirstOrDefault()?.Signers?.FirstOrDefault()?.SigningKey;
                Console.WriteLine(signingKey);
                var server = new Server.SampleServer()
                {
                    SDKClient = client
                };

                System.Diagnostics.Process.Start($"{SampleParameters.EmbeddedSigningUrl}?key={signingKey}");
                var runResult = server.StartOnce();
                Console.WriteLine("Go to browser to sign the document");
                bool signed = false;
                while (!signed)
                {
                    System.Threading.Thread.Sleep(5000);
                    Console.WriteLine("Check document status");
                    var status = client.getStatus(docRef);
                    if (status.Status == "Complete")
                    {
                        signed = true;
                    }
                }
                Console.WriteLine("Done");
                Console.Read();
            }
示例#2
0
 public static void TypeASample(PartnerSDK.ServiceClient client)
 {
     var partnerToken = client.OAuth2.GetAccessTokenForPartner(PartnerSDK.OAuth2Client.PartnerApiFeature.MembershipManagement);
     client.AccessToken = partnerToken.Access_Token;
     var linkResp = client.linkMembership(SampleParameters.Partner_TypeA_Code, true, SampleParameters.Partner_TypeA_AuthenticateCode);
     var companyToken = client.OAuth2.GetAccessTokenForMembership(linkResp.MembershipCode, linkResp.Reference);
     client.AccessToken = companyToken.Access_Token;
     var addUserResp = client.addUserToMembership(new PartnerSDK.Models.UserDetails
     {
         FirstName = SampleParameters.Partner_TypeA_User1_FirstName, //required
         LastName = SampleParameters.Partner_TypeA_User1_LastName,  //required
         Email = SampleParameters.Partner_TypeA_User1_Email,  //required
         #region additional detail
         JobTitle = "",
         CompanyName = "",
         LegalName = "",
         Website = "",
         Industry = "",
         Employees = "",
         Street = "",
         Suburb = "",
         City = "",
         Postcode = "",
         Country = "", //full country name, such as New Zealand, United States, not nz or us.
         State = "",
         PhoneCountry = "", //international phone code, such as 64 for New Zealand, 1 for United States.
         PhoneArea = "",
         PhoneNumber = "",
         Title = ""
         #endregion
     });
     var userToken = client.OAuth2.GetAccessTokenFromUserKey(addUserResp,SampleParameters.OAuth2State,SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.Basic|SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.SmartTag);
     client.AccessToken = userToken.Access_Token;
     var user = client.getAccountInfo();
     userToken = client.OAuth2.RefreshToken(userToken.Refresh_Token);
     // token for company,partner can only be used once, so get a new one.
     companyToken = client.OAuth2.GetAccessTokenForMembership(linkResp.MembershipCode, linkResp.Reference);
     client.AccessToken = companyToken.Access_Token;
     client.removeUserFromMembership(user.UserID);
 }
示例#3
0
            public static void TypeBSample(PartnerSDK.ServiceClient client)
            {
                var partnerToken = client.OAuth2.GetAccessTokenForPartner(PartnerSDK.OAuth2Client.PartnerApiFeature.AccountManagement);
                client.AccessToken = partnerToken.Access_Token;
                var createResp = client.createAccount(new PartnerSDK.Models.PlanDetails
                {
                    PlanUsers = 5,
                    PlanDocuments = 50
                }, new PartnerSDK.Models.UserDetails
                {
                    FirstName = SampleParameters.Partner_TypeB_Admin1_FirstName, //required
                    LastName = SampleParameters.Partner_TypeB_Admin1_LastName,  //required
                    Email = SampleParameters.Partner_TypeB_Admin1_Email,  //required
                    #region additional detail
                    JobTitle = "",
                    CompanyName = "",
                    LegalName = "",
                    Website = "",
                    Industry = "",
                    Employees = "",
                    Street = "",
                    Suburb = "",
                    City = "",
                    Postcode = "",
                    Country = "", //full country name, such as New Zealand, United States, not nz or us.
                    State = "",
                    PhoneCountry = "", //international phone code, such as 64 for New Zealand, 1 for United States.
                    PhoneArea = "",
                    PhoneNumber = "",
                    Title = ""
                    #endregion
                });
                if (createResp.Result != "OK")
                    return;
                //the account admin user need to setup credit card to continue
                Console.ReadLine();
                var companyToken = client.OAuth2.GetAccessTokenForAccountManagement(createResp.ConnectKey, SampleParameters.OAuth2State);
                client.AccessToken = companyToken.Access_Token;
                var addUserResp = client.addUserToAccount(new PartnerSDK.Models.UserDetails
                {
                    FirstName = SampleParameters.Partner_TypeB_User1_FirstName, //required
                    LastName = SampleParameters.Partner_TypeB_User1_LastName,  //required
                    Email = SampleParameters.Partner_TypeB_User1_Email,  //required
                    #region additional detail
                    JobTitle = "",
                    CompanyName = "",
                    LegalName = "",
                    Website = "",
                    Industry = "",
                    Employees = "",
                    Street = "",
                    Suburb = "",
                    City = "",
                    Postcode = "",
                    Country = "", //full country name, such as New Zealand, United States, not nz or us.
                    State = "",
                    PhoneCountry = "", //international phone code, such as 64 for New Zealand, 1 for United States.
                    PhoneArea = "",
                    PhoneNumber = "",
                    Title = ""
                    #endregion

                });
                var userToken = client.OAuth2.GetAccessTokenFromUserKey(addUserResp.ConnectKey, SampleParameters.OAuth2State, SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.Basic | SecuredSigningClientSdk.OAuth2Client.OAuth2Scope.SmartTag);
                client.AccessToken = userToken.Access_Token;
                var user = client.getAccountInfo();
                userToken = client.OAuth2.RefreshToken(userToken.Refresh_Token);
                // connectKey for company can only be used once, so you can refesh it.
                companyToken = client.OAuth2.RefreshToken(companyToken.Refresh_Token);
                client.AccessToken = companyToken.Access_Token;
                client.removeUserFromAccount(user.UserID);
            }