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(); }
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); }
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); }