C# SDK
Molaimid códaithe go díreach i gcoinne an API, déanann an tagairt theicniúil agus do AI é simplí go leor. Is féidir SDK C# a ghiniúint ag baint úsáide as sonraíocht OpenAPI3 dár API agus gineadóir openapi. Mar sin féin, más mian leat SDK molaimid duit an tionscadal giníne a úsáid, toisc go bhfuil ceartaíochtaí déanta aige ar roinnt saincheisteanna cosúil le réimsí inúsáidte.
Tá an pacáiste ina bhfuil a chuid doiciméadúcháin féin (i docs/), ach taispeánfaidh na samplaí thíos conas tosú.
Faigh do Eochair API
-
Cláraigh le haghaidh cuntas triail.
-
Cumraigh don API nuair a iarrtar ort, agus seol ríomhphost chuig Tacaíocht chun Eochair API a fháil. Ní mór duit leibhéal tuisceana a thaispeáint faoi úsáid REST API, cuir isteach i do ríomhphost: ainm agus seoladh do chomhlachta, d’ainm agus do róil, déan cur síos ar do chás úsáide, agus tabhair achoimre ghearr ar do thaithí cláirnithe/REST.
-
Nuair a dheonófar é, beidh do eochair API ar fáil sa aip gréasáin. Feicfidh tú go bhfuil tú sa sandbox - cuir isteach aon ríomhphoist ar mhaith leat do dhoiciméid tástála a sheoladh chucu.
Chlófaidh do eochair API isteach sa cheannlíne "Authorization", agus glacann siad an fhoirm: Apikey username:secret. Léireoidh an aip gréasáin do ainm úsáideora agus do rúndacht go soiléir.
Faigh an SDK agus Tionscadail Shamplacha
Le do uirlisí git is fearr leat déan cóip den stór C# SDK.
git clone https://github.com/legalesign/LegalesignCsharpSDK.git legalesignSDK
Cumraigh an Tionscadal Samplach
Oscail LegalesignCsharpSDK.sln agus tóg an tionscadal. Ba cheart duit trí thionscadal a fheiceáil san réiteach, díreoimid ar LegalesignTest a thosóidh tú ar ghlaonna a dhéanamh chuig an REST api.
Chun am a shábháil, b’fhéidir gur mhaith leat d’ainm úsáideora, do rúndacht, ainm an ghrúpa, ríomhphost spriocdhírithe, ainm agus sloinne a chur mar mhaoin téacs do txtUsername, txtSecretKey srl i Form1. Mura bhfuil, beidh ort iad a sholáthar nuair a rithfidh tú an tionscadal Winform (déan cinnte go bhfuil sé marcáilte mar an tionscadal tús a chur leis). Má dhéanann tú iad a cháirdlíniú go díreach, cuimhnigh an fhaisnéis sin a bhaint nuair atá tú críochnaithe leis an tionscadal.
Amharc ar an gcéad blaisc cód i Form1.cs:
private Configuration makeConfig() {
Configuration c = new Configuration();
c.AddApiKey("Authorization", $"ApiKey {txtUsername.Text}:{txtSecretKey.Text}");
return c;
}
Is féidir leat a fheiceáil conas atá sé ag úsáid an ainm úsáideora agus an rúndachta a sholáthraíonn tú agus é á chur isteach i gcumraíocht gach glao a dhéanfaimid ina dhiaidh sin. Seo mar a cheadaítear glaonna API.
Déan tástáil ar iarratas GET
Déanaimis cinnte gur féidir leat iarratas GET simplí a dhéanamh, chun a fhíorú go bhfuil do Auth cumraithe i gceart.
Rithfidh an cód seo nuair a chliceálann tú an cnaipe Get Groups. Tabhair am le tabhairt faoi deara cén áit a gcuirtear an t-eolas Cumraíochta isteach ag baint úsáide as makeConfig(). Rith an tionscadal, cuir isteach d’ainm úsáideora agus do eochair sna boscaí má tá siad agaibh ach nach bhfuil siad cláraithe sna maoine Téacs agus cliceáil ar an gcnaipe Get Groups.
private void btnCall_Click(object sender, EventArgs e)
{
GroupApi group = new GroupApi(makeConfig());
GroupListResponse groupList = group.GetGroups();
richTextBox1.Text = groupList.ToJson();
}
Má éiríonn leat gheobhaidh tú liosta JSON de do ghrúpaí.
Mura bhfuil, déan an fíorú dúbailte go bhfuil do luach Authorization ceart.
Faigheann an cód seo aon doiciméid atá ag fanacht le síniú, cás úsáide coitianta. Déan tástáil trí scrúdú a dhéanamh ansin ag rith an chnaipe Get Documents.
private void button2_Click(object sender, EventArgs e)
{
DocumentApi docs = new DocumentApi(makeConfig());
DocumentListResponse documentList = docs.GetDocuments();
richTextBox1.Text = documentList.ToJson();
}
Is bealaí níos tapúla iad na glaonna 'get_statuses()' agus 'get_status()' chun fiosrúcháin a dhéanamh ar eolas bunúsach faoin ndoiciméad.
Ba cheart go dtosódh tú ag tuiscint conas a oibríonn an SDK. Téigh ar ais chuig an gcomhad Readme sa phacáiste, agus feicfidh tú gach aidhm API le triail a bhaint as, agus a modhanna go léir.
Tástáil iarratas POST
Ar aghaidh chuige seo seolfaimid roinnt HTML saincheaptha le haghaidh sínithe i n-aon glao API, ansin uaslódálfaimid PDF agus seolfaimid é.
Seol doiciméad HTML le sínithe
Seo méid beag de HTML le haghaidh taispeántais, ina bhfuil eilimint sínithe amháin. Athraigh na luachanna ghrúpa, ainm agus ríomhphost.
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;
}
}
Conas is féidir linn a fhios an rachadh sé tríd? Scaoileann OpenAPI eisceacht do fhreagraí nach bhfuil sa raon 2XX. Beidh tú ag iarraidh gach iarratas a chur i mbloc try/catch.
Gach uair a dhéanann tú POST, is dócha go mbeidh tú ag iarraidh an ID nua réada. Tá sé sa cheannlíne Location den fhreagra. Sa sampla seo chugainn feicfimid conas PDF a uaslódáil le haghaidh seoladh chuig síntheoirí, agus an ID a fháil ar ais don teimpléad nua sin.
Uaslódáil agus seol PDF
Is dócha go n-úsáidfidh tú téacs-teagaisc laistigh de do PDFanna, chun a shonrú cá mbainfidh daoine síniú nó foirmeacha a líonadh amach. Ligeann an paraiméadar processTags=true don chóras fios a bheith aige breathnú tríd an ndoiciméad agus réimsí a dhéanamh d’eolas agus sínithe don fhaighteoir chun síniú. Tá sampla bunúsach de PDF le tags san fhréamhshonraíocht tionscadail SDK.
Déanaimis PDF a uaslódáil ag baint úsáide as leagan 'with_http_info' den iarratas POST chun an ID a fháil.
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;
}
}
}
Toisc go socraíomar process_tags go true, tá na tags go léir próiseáilte cheana agus tá do PDF réidh le húsáid. Mar a bhí roimhe seo, tá an ID de dhíth orainn don PDF feicfimid conas é sin a sheoladh. Go deimhin choinnigh muid é sa bhosca téacs txtPdfLocation.
Taispeánann an greannchód deireanach ó Send with Template conas atá an suíomh PDF sin á úsáid againn chun doiciméad réamh-lódáilte a sheoladh chuig sínitheoirí.
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;
}
}
Tosach códaithe
Déan cinnte go scrúdóidh tú an doiciméadú gineáilte OpenAPI do chineálacha agus roghanna glaonna éagsúla.
Seo roinnt botúin choitianta:
Ní mór d’ainm grúpa a bheith go cruinn mar atá ceann atá agat cheana féin i do eagraíocht.
Bainneofar do iarratas mura bhfuil do shláinte creidmheasa ceart, as dáta nó ghlasáilte.
Tiocfaidh 401 ar ais má tá tú sa sandbox agus má dhéanann tú iarracht doiciméad a sheoladh chuig duine nach bhfuil ar do liosta ríomhphoist sandbox.
Códú sástúil!