Neidio i’r prif gynnwys

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.

Click here for the C# repo..

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

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 &lt;object&gt; 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!