SDK C#
Tha sinn a’ moladh còdadh gu dìreach an-aghaidh an API, tha an iomradh theicnigeach agus d’ AI ga dhèanamh sìmplidh. Faodar SDK C# a ghineadh a’ cleachdadh sònrachadh OpenAPI3 ar API agus gineadair openapi. Ach ma tha thu ag iarraidh SDK tha sinn a’ moladh gun cleachd thu am pròiseact gineata air a thoirt seachad, oir tha e a’ toirt a-steach ceartachaidhean do cuid de chùisean mar raointean nach eil riatanach.
Tha am pacaid a’ toirt a-steach an sgrìobhadh fhèin (ann an docs/), ach nochdaidh na eisimpleirean gu h-ìosal mar a thòisicheas tu.
Faigh d’ iuchair API
-
Clàraich airson cunntas deuchainn.
-
Cuir air dòigh airson API nuair a thèid iarraidh, agus cuir post-d gu Taic airson iuchair API fhaighinn. Feumaidh tu sealltainn ìre tuigse mu chleachdadh REST API, cuir a-steach do phost-d: ainm is seòladh do chompanaidh, d’ ainm agus dreuchd, mìneachadh goirid air do chùis chleachdaidh, agus geàrr-chunntas air do eòlas prògramaidh/REST.
-
Nuair a thèid a thoirt seachad, bidh d’ iuchair API ri fhaighinn anns an aplacaid lìn. Chì thu gu bheil thu ann an sandpit - cuir a-steach fo-sgrìobhaidhean puist-d far am bi thu a’ cur na sgrìobhainnean deuchainn agad.
Tha d’ iuchair API a’ dol anns a’ cheann-sgrìobhadh "Authorization", agus tha e anns an chruth: Apikey username:secret. Thathas a’ comharrachadh d’ ainm-cleachdaidh agus dìomhaireachd gu soilleir anns an aplacaid lìn.
Faigh an SDK agus pròiseactan eisimpleir
Le do innealan git taghaidh, clonadh stòr-dàta SDK C#.
git clone https://github.com/legalesign/LegalesignCsharpSDK.git legalesignSDK
Cuir air dòigh am pròiseact Eisimpleir:
Fosgail LegalesignCsharpSDK.sln agus tog am pròiseact. Bu chòir dhut trì pròiseactan a bhith anns an fhuasgladh, fòcusaidh sinn air LegalesignTest a bheir dhut tòiseachadh le gairmean a dhèanamh don REST API.
Gus ùine a shàbhaladh is dòcha gur fheàrr dhut d’ ainm-cleachdaidh, dìomhaireachd, ainm buidheann, post-d targaid, ainm agus sloinntear a chur mar na prìomh thogalaichean Text airson txtUsername, txtSecretKey msaa ann am Form1. Mura dèan thu sin feumaidh tu an cur ris nuair a ruithidh tu am pròiseact Winform (dèan cinnteach gur e am pròiseact tòiseachaidh a th’ ann). Ma nì thu còdadh daingeann orra, cuimhnich an fhiosrachadh sin a thoirt air falbh nuair a bhios tu deiseil leis a’ phròiseact.
Seallaidh sinn air a’ bhloig chòd a thòisich ann am Form1.cs:
private Configuration makeConfig() {
Configuration c = new Configuration();
c.AddApiKey("Authorization", $"ApiKey {txtUsername.Text}:{txtSecretKey.Text}");
return c;
}
Faodaidh tu faicinn mar a tha seo a’ cleachdadh an ainm-cleachdaidh agus an dìomhaireachd a bheir thu seachad agus ga chur a-steach don rèiteachadh airson gach gairm a nì sinn nas fhaide air adhart. Seo mar a tha ceadan API air an toirt.
Dèan deuchainn air iarrtas GET:
Dèan cinnteach gun urrainn dhut iarrtas GET sìmplidh a dhèanamh, airson sgrùdadh ma tha do cheadachadh (Auth) air a chur air dòigh gu ceart.
Bidh am còd a leanas a’ ruith nuair a bhrùthas tu am putan Get Groups. Thoir beagan ùine air àite far a bheil fiosrachadh Configuration air a chur a-steach le makeConfig(). Ruith am pròiseact, cuir a-steach d’ ainm-cleachdaidh agus an iuchair anns na bogsaichean ma cha deach an còdachadh a-steach don togalach Text agus briog air am putan Get Groups.
private void btnCall_Click(object sender, EventArgs e)
{
GroupApi group = new GroupApi(makeConfig());
GroupListResponse groupList = group.GetGroups();
richTextBox1.Text = groupList.ToJson();
}
Mura faigh thu liosta JSON de na buidhnean agad, dèan sgrùdadh dùbailte ma tha am luach Authorization agad ceart.
Tha am còd seo a’ faighinn sgrìobhainnean sam bith a tha feitheamh ri bhith air an soidhnigeadh, cùis-cleachdaidh cumanta. Dèan deuchainn le bhith a’ coimhead agus an uairsin a’ ruith am putan 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 mu sgrìobhainn a gheàrr-chunntas.
Bu chòir dhut a bhith a’ tòiseachadh a’ tuigsinn mar a tha SDK ag obair. Till air ais dhan fhaidhle Leprachd a tha anns a’ phacaid, agus chì thu na nithean API uile ri feuchainn, agus na dòighean uile.
Dèan deuchainn air iarrtas POST
An ath rud cuiridh sinn cuid de HTML gnàthaichte airson soidhnigeadh ann an aon ghairm API, an uairsin luchdaidh sinn suas PDF agus cuiridh sinn sin.
Cuir post-d sgrìobhainn HTML airson soidhnigeadh:
Seo beagan HTML airson adhbharan taisbeanaidh, a’ toirt a-steach eileamaid aon t-soidhnidh. Cuir àite nan luachan buidhne, ainm agus 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 gun do dh’fhalbh e troimhe? Tha OpenAPI a’ cur a-mach excèisean airson freagairtean nach eil 2XX. Bidh thu airson na h-iarrtasan agad uile a chur ann am bloca try/catch.
Gach turas a nì thu POST, bidh thu gu cinnteach ag iarraidh ID an nì ùr. Tha e anns a’ cheann-sgrìobhadh Location den fhreagairt. Anns an eisimpleir seo chì sinn mar a luchdaicheas sinn suas PDF airson a chuir gu luchd-soidhnidh, agus an ID fhaighinn air ais dhan teamplaid ùr sin.
Luchdaich suas agus cuir PDF
Chan eil teagamh ach gum bi thu a’ cleachdadh teacsa-tagannan taobh a-staigh do PDFan, gus am bi fios càite an tèid soidhnichean a chur no suidheachadh na foirme no eòlasan a lìonadh a-mach. Le bhith a’ cleachdadh am paramadair processTags=true bidh fios aig an t-siostam gun a bhith a’ sùileachadh do sgrìobhainn airson raointean airson fiosrachadh agus soidhnichean airson an neach-fhaighinn a shoidhnigeadh. Tha eisimpleir bunaiteach de PDF leis na tagaichean air a thoirt a-steach ann an freumh a’ phròiseact SDK.
Leig dhuinn PDF a luchdachadh suas a’ cleachdadh an dreach 'with_http_info' den iarrtas POST gus an 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;
}
}
}
Air sgàth gur mise làn-chuairteachadh de process_tags a chuir sinn, tha na tagaichean uile air an sgrùdadh mar sin tha do PDF deiseil airson cleachdadh. Mar roimhe, feumaidh sinn an ID airson am PDF gus an urrainn dhuinn a chur. Gu fortanach, chunnaic sinn e san bogsa teacsa txtPdfLocation.
Sealladh mu dheireadh bhon chòd anns an Send with Template a’ sealltainn mar a chleachdas sinn an àite sin PDF airson sgrìobhainn ro-luchdaichte a chur airson soidhnigeadh.
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 còdadh
Dèan cinnteach gun sgrùdadh thu an sgrìobhadh gineadh OpenAPI airson seòrsaichean gairm agus roghainnean eadar-dhealaichte.
Bidh cuid de dh’ earrannan cumanta a’ toirt buaidh mar seo:
Feumaidh ainm a’ bhuidheann a bhith a’ freagairt gu mionaideach ri fear a tha agad mu thràth anns an eagrachadh agad.
Cha tèid do iarrtas aontachadh ma tha do cheadan meallta, a dh’aoiseadh no glacte.
Bidh 401 a’ tighinn air ais ma tha thu ann an sandpit agus a’ feuchainn ri sgrìobhainn a chuir gu cuideigin nach eil anns an liosta puist-d sandpit agad.
Còdadh sona!