C# SDK
Tha sinn a’ moladh a bhith a’ còdachadh gu dìreach an aghaidh an API, tha an iomradh teicnigeach agus an AI agad ga dhèanamh sìmplidh. Faodar SDK C# a chruthachadh a’ cleachdadh sònrachadh OpenAPI3 den API againn agus gineadair openapi. Ach ma tha thu ag iarraidh SDK, tha sinn a’ moladh dhut an pròiseact gineadaichte a chleachdadh, oir tha e a’ toirt a-steach ceartachaidhean do cuid de chùisean leithid raointean a ghabhas a bhith neo-làthaireach.
Tha prògram an pacaid a’ toirt a-steach an sgrìobhainn fhèin (ann an docs/), ach thèid na h-eisimpleirean gu h-ìosal a shealltainn dhut mar a thòisicheas tu.
Faigh an iuchair API agad
-
Clàraich airson cunntas deuchainn.
-
Suidhich airson API nuair a bhios iarraidh ort, agus cuir post-d gu Taic airson faighinn air Iuchair API. Feumaidh tu sealltainn gu bheil thu a’ tuigsinn mar a chleachdas tu API REST, cuir anns a’ phost-d agad: ainm agus seòladh do chompanaidh, d’ ainm agus dreuchd, dèan co-dhùnadh air do chùis cleachdaidh, agus thoir geàrr-chunntas air do eòlas prògramaidh/REST.
-
Aon uair a thèid a thoirt seachad, bidh an iuchair API agad ri fhaighinn anns an tagradh-lìn. Chì thu gu bheil thu anns an mhodh sandbox le cuingealachadh de 100 gairm gach uair a thìde.
Tha an iuchair api agad a’ dol anns a’ cheann-sgrìobhainn "Authorization", agus gabhaidh i an cruth: Bearer <your-api-key>.
Bidh do iuchair API gu soilleir air a comharrachadh anns a’ Phortail Leasaiche.
Faigh an SDK agus pròiseactan eisimpleir
Le do dh’ innealan git as fheàrr leat clonaich an stòr-dàta SDK C#.
git clone https://github.com/legalesign/LegalesignCsharpSDK.git legalesignSDK
Suidhich an pròiseact eisimpleir:
Fosgail LegalesignCsharpSDK.sln agus cuir air dòigh am pròiseact. Bu chòir dhut trì pròiseactan a chì ann an fuasgladh, agus chuireamaid fòcas air LegalesignTest a bheir dhut tòiseachadh le bhith a’ dèanamh gairmean dhan REST api.
Gus ùine a shàbhaladh, is dòcha gum bi thu airson do ainm-cleachdaidh, dìnnear, ainm buidheann, post-d targaid, ainm agus sloinneadh a chur nan gnìomhan Text airson txtUsername, txtSecretKey msaa ann an Form1. Mura h-eil, feumaidh tu an toirt seachad nuair a ruithidh tu am pròiseact Winform (dèan cinnteach gu bheil seo comharraichte mar an pròiseact tòiseachaidh). Ma nì thu còd cruaidh orra, cuiribh an cuimhne iad a thoirt air falbh nuair a chrìochnaicheas tu leis an pròiseact.
Feuch gum faic sinn a’ chiad bloc còd ann an Form1.cs:
private Configuration makeConfig() {
Configuration c = new Configuration();
c.AddApiKey("Authorization", $"Bearer {txtSecretKey.Text}");
return c;
}
Faodaidh tu faicinn mar a tha seo a’ cleachdadh an ainm-cleachdaidh agus a’ dhìnnear a thug thu seachad agus gan cur a-steach don rèiteachadh airson gach gairm a nì sinn nas fhaide air adhart. Seo mar a thèid gairmean API a ùghdarrasachadh.
Deuchainn air iarrtas GET:
Gabhamaid cùram gum bi thu comasach air iarrtas GET sìmplidh a dhèanamh, gus sgrùdadh a dhèanamh air do dh’ ùghdarrasachadh a bheil e rèiteachadh ceart.
Bidh am prògram a leanas a’ ruith nuair a chliceas tu air a’ phutan Get Groups. Tòisich uairean gus faicinn càite am bi fiosrachadh an rèiteachaidh air a chuir a-steach a’ cleachdadh makeConfig(). Ruith am pròiseact, cuir a-steach d’ ainm-cleachdaidh agus iuchair anns na bogsaichean ma chan eil thu air an còdachadh annta mar phròpratach Text, agus cliog air a’ phutan Get Groups.
private void btnCall_Click(object sender, EventArgs e)
{
GroupApi group = new GroupApi(makeConfig());
GroupListResponse groupList = group.GetGroups();
richTextBox1.Text = groupList.ToJson();
}
Ma tha soirbheachadh, gheibh thu liosta JSON de na buidhnean agad.
Ma chan eil, dèan cinnteach gu bheil an luach aithneachaidh agad ceart.
Tha am prògram seo a’ faighinn sgrìobhainnean sam bith a tha a’ feitheamh ri sin a bhith air an soidhnigeadh, cùis cleachdaidh cumanta. Deuchainn le bhith a’ sgrùdadh agus a’ ruith a’ phutan Get Documents.
private void button2_Click(object sender, EventArgs e)
{
DocumentApi docs = new DocumentApi(makeConfig());
DocumentListResponse documentList = docs.GetDocuments();
richTextBox1.Text = documentList.ToJson();
}
Tha na gairmean 'get_statuses()' agus 'get_status()' nan dòighean nas luaithe airson fiosrachadh bunaiteach mun sgrìobhainn a sgrùdadh.
Bu chòir dhut tòiseachadh a’ tuigsinn mar a tha an SDK ag obair. Till air ais chun fhaidhle Readme den phacaid, agus chì thu na h-uimhir de nithean API ri fheuchainn, agus na dòighean aca uile.
Deuchainn air iarrtas POST
An ath rud cuiridh sinn cuid de HTML àbhaisteach airson soidhnigeadh ann an aon gairm API, an uair sin luchdaidh sinn suas PDF agus cuiridh sinn am-falbh e.
Cuir a-steach sgrìobhainn HTML airson soidhnigeadh:
Seo beagan beag de HTML airson adhbharan taisbeanaidh, a’ toirt a-steach aon eileamaid soidhne. Cuir àite nam buidheann, ainm agus na luachan post-d.
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;
}
}
Ciamar a tha fios againn gu bheil e air a dhol seachad? Bidh OpenAPI a’ losgadh eisgeachd airson freagairtean nach eil 2XX. Bidh thu airson a h-uile iarrtas a chur ann am bloc try/catch.
Gach uair a bhios tu a’ POST-adh, 's dòcha gum bi thu airson ID an nì ùr fhaighinn. Tha e anns a’ cheann-sgrìobhainn Location den fhreagairt. San ath eisimpleir chì sinn mar a luchdaich sinn suas PDF airson a chuir gu luchd-soidhnidh, agus mar a gheibhear an ID a-rithist airson an teamplaid ùr sin.
Luchdaich suas agus cuir PDF
Chan eil e coltach gun cleachd thu tagraidhean teacsa taobh a-staigh do na PDFan agad, airson suidheachadh far am bi daoine a’ soidhnigeadh no a’ lìonadh foirmichean. Le bhith a’ cleachdadh a’ pharamadair processTags=true bidh fios aig an t-siostam gus sùil a thoirt tro d’ sgrìobhainn agus raointean a chruthachadh airson fiosrachadh agus soidhnichean do neach-fhrithealaidh a chur ris. Tha eisimpleir bunaiteach de PDF le tagaichean air a thoirt a-steach san t-slighe freumh den phròiseact SDK.
Gabhamaid suas PDF a’ cleachdadh an tionndadh 'with_http_info' de iarrtas POST airson ID fhaighinn
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;
}
}
}
Leis gu bheil sinn air process_tags a shuidheachadh gu fìor, tha na tagaichean uile air an giullachd agus tha an PDF agad deiseil airson a chleachdadh. Mar roimhe, feumaidh sinn an ID dhan PDF gus a chuir. Gu fortanach, tha sinn air a chumail anns a’ bhogsa teacsa txtPdfLocation.
Tha an snippet còd mu dheireadh bho Send with Template a’ sealltainn mar a chleachdas sinn àite an PDF sin airson sgrìobhainn ro-luchdaichte a chur a-mach airson soidhneadh.
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;
}
}
Tòisich a’ còdachadh
Dèan cinnteach gun tadhail thu air an sgrìobhainn a chaidh a ghineadh leis an OpenAPI airson diofar sheòrsaichean gairm agus roghainnean.
Seo cuid de nithean cumanta a dh’ fhaodadh a bhith duilich:
Feumaidh ainm a’ bhuidheinn a bhith gu tur co-ionnan ri fear a tha agad mu thràth nad bhuidheann-obrach.
Cuiridh iad às do dh’iarrtas ma tha do teisteanasan ceàrr, seann-fhasanta no glaiste.
Sonas còdaidh!