SDK C#
Rydym yn argymell codio'n uniongyrchol yn erbyn yr API, mae'r cyfeirlyfr technegol a'ch AI chi yn ei gwneud hi'n syml iawn. Gellir creu SDK C# gan ddefnyddio maniffesto OpenAPI3 ein API a'r generadur openapi. Fodd bynnag, os ydych am gael SDK rydym yn argymell eich bod yn defnyddio'r prosiect a gynhyrchwyd a ddarperir, gan ei fod yn cynnwys trwsio rhai materion fel meysydd nullable.
Mae'r pecyn yn cynnwys ei ddogfennaeth ei hun (yn docs/), ond bydd y enghreifftiau isod yn dangos i chi sut i ddechrau.
Get your API Key
-
Cofrestrwch am gyfrif prawf.
-
Cyflunio ar gyfer API pan ofynnir, a anfonwch e-bost at Gefnogaeth i gael Allwedd API. Mae angen i chi ddangos lefel o ddealltwriaeth am ddefnyddio REST API, gan gynnwys yn eich e-bost: enw a chyfeiriad eich cwmni, eich enw a'ch rôl, disgrifiwch eich achos defnydd, a rhoi crynodeb byr o'ch profiad rhaglennu/REST.
-
Unwaith y caiff ei ddatgan, bydd eich allwedd API ar gael yn yr ap gwe. Byddwch yn gweld eich bod yn y modd sandbocs gyda chyfyngiad o 100 o alwadau yr awr.
Mae eich allwedd api yn mynd yn y pennawd "Authorization", ac mae'n cymryd y ffurf: Bearer <your-api-key>.
Bydd eich allwedd API yn cael ei harddangos yn glir yn y Porth Datblygwr.
Get the SDK and Example projects
Gyda'ch offer git o'ch dewis, clônwch y repositori SDK C#.
git clone https://github.com/legalesign/LegalesignCsharpSDK.git legalesignSDK
Configure the Example project:
Agorwch y LegalesignCsharpSDK.sln a chreu'r prosiect. Dylai tri phrif brosiect fod yn y datrysiad, byddwn yn canolbwyntio ar LegalesignTest a fydd yn eich cychwyn i wneud alwadau i'r REST api.
I arbed amser efallai y byddwch am ychwanegu eich enw defnyddiwr, cyfrinach, enw'r grŵp, e-bost targed, enw cyntaf a chyfenw fel eiddo Text ar gyfer txtUsername, txtSecretKey ac ati yn Form1. Os na fyddwch, bydd angen i chi ddarparu'r rhain wrth redeg y prosiect Winform (sicrhewch fod hwn wedi'i farcio fel y prosiect cychwyn). Os ydych yn codio'r rhain yn uniongyrchol, cofiwch ddileu’r wybodaeth honno pan fyddwch wedi gorffen â'r prosiect.
Gadewch i ni edrych ar y bloc cyntaf o god yn Form1.cs:
private Configuration makeConfig() {
Configuration c = new Configuration();
c.AddApiKey("Authorization", $"Bearer {txtSecretKey.Text}");
return c;
}
Gallwch weld sut mae hyn yn defnyddio'r enw defnyddiwr a'r cyfrinach rydych chi'n eu darparu ac yn eu pasio i'r cyfluniad ar gyfer pob galwad a wnawn yn nes ymlaen. Dyna sut mae galwadau API yn cael eu awdurdodi.
Test a GET request:
Gadewch i ni sicrhau y gallwch wneud cais GET syml, i wirio bod eich Awdurdodiad wedi'i ffurfweddu'n gywir.
Bydd y cod canlynol yn rhedeg pan fyddwch yn clicio'r botwm Get Groups. Cymerwch amser i sylwi ble mae'r wybodaeth Cyfluniad yn cael ei basio i mewn gan ddefnyddio makeConfig(). Rhedegwch y prosiect, nodwch eich enw defnyddiwr a'ch allwedd yn y blychau os nad ydych wedi'u codio yn eiddo Text a chliciwch y botwm Get Groups.
private void btnCall_Click(object sender, EventArgs e)
{
GroupApi group = new GroupApi(makeConfig());
GroupListResponse groupList = group.GetGroups();
richTextBox1.Text = groupList.ToJson();
}
Os yw'n llwyddiannus, byddwch yn cael rhestr JSON o'ch grwpiau.
Os nad ydyw, sicrhewch eich bod wedi rhoi'r gwerth Awdurdodiad yn gywir.
Mae'r cod hwn yn cael unrhyw ddogfennau sy'n aros i gael eu llofnodi, sef achos defnydd aml. Profwch trwy edrych arno ac yna rhedeg y botwm Get Documents.
private void button2_Click(object sender, EventArgs e)
{
DocumentApi docs = new DocumentApi(makeConfig());
DocumentListResponse documentList = docs.GetDocuments();
richTextBox1.Text = documentList.ToJson();
}
Mae'r galwadau 'get_statuses()' a 'get_status()' yn ffyrdd cyflymach i ymholi am wybodaeth sylfaenol am ddogfennau.
Dylech ddechrau deall sut mae SDK yn gweithio. Ewch yn ôl i'r ffeil Readme yn y pecyn, a byddwch yn gweld pob gwrthrych API i'w roi ar brawf, a'i holl ddulliau.
Test a POST request
Nesaf byddwn yn anfon rhywfaint o HTML wedi'i addasu i'w lofnodi mewn un alwad API, yna byddwn yn uwchlwytho PDF a'i anfon.
Send an HTML document to get signed:
Dyma swm bach o HTML ar gyfer demos, sy'n cynnwys elfen llofnod sengl. Disodli'r gwerthoedd grŵp, enw ac e-bost.
private void btnPost_Click(object sender, EventArgs e)
{
DocumentApi docs = new DocumentApi(makeConfig());
List<DocumentSignerPost> signers = new List<DocumentSignerPost>();
signers.Add(new DocumentSignerPost(email: txtEmail.Text, firstname: txtFirstname.Text, lastname: txtLastname.Text));
//You must provide group id as lowercase
DocumentPost dp = new DocumentPost(
group: $"/api/v1/group/{txtGroupName.Text.ToLower()}/",
name: "dotnetdocument",
text: rtbBodyHTML.Text,
signers: signers,
doEmail: true,
footerHeight:30,
footer: "Legalesign ID: {{doc_id}}");
try
{
InlineResponse201 resp = docs.PostDocument(dp);
richTextBox1.Text = resp.ToJson();
}
catch (Exception ex) {
throw ex;
}
}
Sut ydym yn gwybod ei fod wedi mynd drwodd? Mae OpenAPI yn taflu eithriad ar gyfer ymatebion nad ydynt yn 2XX. Byddwch am roi eich holl geisiadau i mewn i flwch try/catch.
Bob tro y byddwch yn POSTio, byddwch yn debygol o ddymuno cael ID'r gwrthrych newydd. Mae yn y pennawd Location o'r ymateb. Yn ein hachos nesaf rydym yn gweld sut i uwchlwytho PDF i ni ei anfon at lofnodwyr, a chael yr ID yn ôl ar gyfer y templed newydd hwnnw.
Upload and send a PDF
Byddwch wrth eich bodd yn defnyddio tagiau-testun o fewn eich PDFau, i ddiffinio ble fydd pobl yn llofnodi neu lenwi ffurflenni. Mae defnyddio'r paramedr processTags=true yn gadael i'r system wybod i edrych drwy'r ddogfen a chreu meysydd ar gyfer gwybodaeth a llofnodion ar gyfer y derbynnydd i'w llofnodi. Mae enghraifft sylfaenol o PDF gyda thagiau wedi'i gynnwys ym mhrif ffolder y prosiect SDK.
Gadewch i ni uwchlwytho PDF gan ddefnyddio'r fersiwn ‘with_http_info’ o'r cais POST i gael yr ID
private void btnUploadPdf_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == System.Windows.Forms.DialogResult.OK)
{
TemplatepdfApi pdf = new TemplatepdfApi(makeConfig());
// Get the file and convert the contents to a base64 byte array.
Byte[] bytes = File.ReadAllBytes(openFileDialog1.FileName);
String contents = Convert.ToBase64String(bytes);
Byte[] encodedBytes = Convert.FromBase64String(contents);
try
{
// Upload the pdf for our group to use with a title and a tag
ApiResponse <object> response = pdf.PostPdfTemplateWithHttpInfo(new TemplatePdfFieldPost(group: $"/api/v1/group/{txtGroupName.Text.ToLower()}/",
pdfFile: encodedBytes, processTags: true, title: "test tagged document"));
// Just to demonstrate how to read response headers we'll put the returned
// header in the output rich text box. The 'Location' header contains the new
// Template ID.
richTextBox1.Text = JsonConvert.SerializeObject(response.Headers);
// We'll save this so we can use it when calling Send with Template
txtPDFLocation.Text = response.Headers["Location"];
}
catch (Exception ex)
{
throw ex;
}
}
}
Oherwydd inni roi process_tags i wir, mae'r holl dagiau wedi cael eu prosesu felly mae eich PDF yn barod i'w anfon. Fel o'r blaen, mae angen yr ID arnom ar gyfer y PDF fel y gallwn ei anfon. Yn ffodus buom yn ei gadw yn y blwch testun txtPdfLocation.
Mae'r darn olaf o'r darn cod o Send with Template yn dangos sut rydym yn defnyddio'r lleoliad PDF hwnnw i anfon dogfen wedi'i llwytho ymlaen i gael ei llofnodi.
private void btnSendTemplate_Click(object sender, EventArgs e)
{
DocumentApi docs = new DocumentApi(makeConfig());
List<DocumentSignerPost> signers = new List<DocumentSignerPost>();
signers.Add(new DocumentSignerPost(email: txtEmail.Text, firstname: txtFirstname.Text, lastname: txtLastname.Text));
//You must provide group id as lowercase
DocumentPost dp = new DocumentPost(
group: $"/api/v1/group/{txtGroupName.Text.ToLower()}/",
name: "dotnetdocument",
template: txtPDFLocation.Text,
signers: signers,
doEmail: true,
footerHeight: 30,
footer: "Legalesign ID: {{doc_id}}");
try
{
InlineResponse201 resp = docs.PostDocument(dp);
richTextBox1.Text = resp.ToJson();
}
catch (Exception ex)
{
throw ex;
}
}
Get coding
Gwnewch yn siŵr i wirio'r ddogfennaeth a gynhyrchir gan OpenAPI ar gyfer mathau a dewisiadau gwahanol o alwadau.
Mae rhai camgymeriadau cyffredin yn:
Mae'n rhaid i enw'r grŵp gyfateb yn union i un sydd gennych eisoes yn eich sefydliad.
Bydd eich cais yn cael ei wrthod os yw'ch tystiolaeth yn anghywir, wedi dyddio neu wedi'i gloi.
Codio hapus!