Přímé volání Signi API z prostředí Microsoft
Přímé volání Signi API
Výhodou přímého volání Signi API je flexibilita, novinky v Signi API jsou ihned dostupné pro využití. Je možné paralelně zpracovávat více dokumentů na jednou. Je možné ho použít jak z cloudových tenantů tak on premise instalací. Pro volání z Microsoft Power Automate se využijí operace HTTP a Webhook.
Před voláním API je třeba si vygenerovat v Signi aplikaci API Klíč pro pracovní prostor / workspace, do kterého budete dokumenty k podpisu předávat viz Generování API klíče. Volat pak můžete kterýkoliv z End Pointů Signi API.
Následující příklady ukazují volání SIgni API ze tří různých technologií Microsoftu
Microsoft Power Automate,
kód v .NET,
kód ve Visual Basic for Application - VBA.
Příklad volání Signi API z MS Power Automate
MS Power Automate je integrační služba, která je součástí technologické platformy Microsoft Power Platform. Příklad volání Signi API z MS Power Automate se skládá ze tří flow:
Signi Demo - Podepsání dokumentu ze vzoru- vyvolá podpis dokumentu vytvořeného ze vzoru “Testovací smlouva k podpisu” uloženém v Signi a zpřístupněném v testovacím workspace Demo API,
Signi Demo - Podepsání PDF souboru - předá k podpisu PDF soubor,
Signi Demo - Webhook - vytvoří v prostředí MS Power Automate webhook pro přijetí výsledků podepsání dokumentu, odkazuje se na ně první flow.
Pro vyzkoušení je na produkčním prostředí Signi workspace "Demo API" a má API klíč = “71c4123d242bdd38047bee838d17e3367dc3ea6748d0975217ce501e834a224c83cab8afd35c9b0e6ade806b7987fae80f97f5c8253cfbb9089cf21f” , při svých voláních zaměňte tento API klíč za API klíč svého workspace, který získáte po objednání služby "Integrace API" a Generování API klíče.
Jednotlivé flow z příkladů níže si můžete stáhnout zde.
Vytvoření flow pro podepsání dokumentu ze vzoru
Vytvořte nové flow přes MS Power Automate > Create (v levém panelu) > Instant cloud flow (pro ruční spuštění ) > Manually create flow.
Vložit do flow operaci přes Next step > HTTP (vybrat tento typ operace).
Parametry operace HTTP pro vyvolání vzoru obdobně jako v Signi HELP > API Integrace > Příklad 3 - Předání podkladů pro vzor :
Požadavek typu POST
Adresa EndPointu je https://api.signi.com/api/v1/contract/?type=template
V HEAD pro autentizaci API klíč v poli s názvem x-api-key
Pro účely dema je na produkčním prostředí Signi https://api.signi.com je workspace "Demo API" a má API klíč = “71c4123d242bdd38047bee838d17e3367dc3ea6748d0975217ce501e834a224c83cab8afd35c9b0e6ade806b7987fae80f97f5c8253cfbb9089cf21f” , při svých voláních zaměňte tento API klíč za API klíč svého workspace, který získáte po objednání služby "Integrace API" a Generování API klíče.
V body je potřebný JSON se všemi parametry pro vytvoření dokumentu, url webhooku odpovídá webhooku vytvořeném dále, lze přidat po otestování tohoto flow.
E-mail demo+counterparty@signi.com si můžete změnit na svůj.
{
"settings": {
"signing_order": "proposers_before_counterparties",
"autosign_proposers": "V Praze"
},
"people": [
{
"is_proposer": true,
"email": "demo@signi.com",
"contract_role": "sign"
},
{
"is_proposer": false,
"party_order": 1,
"email": "demo+counterparty@signi.com",
"contract_role": "sign",
"person_type": "nature",
"first_name": "John",
"last_name": "Doe2"
}
],
"webhooks": [
{
"state": "completed",
"url": "https://prod-174.westeurope.logic.azure.com:443/workflows/4255c88e046844319c27fdf997ee7eed/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=lJhO1j7pXPUUzQ6apYhS1TJmI6HoEyN4NS_cBMI-6rw"
}
],
"template": {
"id": "7v1",
"parameters": [
{
"id": "112",
"value": "Hnutí za digitalní revoluci"
},
{
"id": "131",
"value": "Chci"
},
{
"id": "411",
"value": "V šíření zpráv"
},
{
"id": "421",
"value": "27.5.2021"
},
{
"id": "431",
"value": "v Praze"
}
]
}
}
Uložit flow přes Save.
Pro testování zvolit Test a Run Flow .
Výsledek odpovědi Signi API na požadavek přístupný v MS Power Automate:
Vytvoření flow pro podepsání PDF souboru
Vytvořte nové flow přes MS Power Automate > Create (v levém panelu) > Instant cloud flow (pro ruční spuštění ) > Manually create flow.
Ve flow pro podepsání PDF souboru je třeba nejprve do flow získat soubor k podpisu, zde používame operátor Get file content .
Následně vyvoláme opet operátor HTTP, Parametry operace HTTP pro vyvolání vzoru obdobně jako v Signi HELP > API Integrace > Příklad 2 - Předání PDF dokumentu k podpisu
Požadavek typu POST
Adresa EndPointu je https://api.signi.com/api/v1/contract/?type=doc
V HEAD pro autentizaci API klíč v poli s názvem x-api-key
Pro účely dema je na produkčním prostředí Signi https://api.signi.com je workspace "Demo API" a má API klíč = “71c4123d242bdd38047bee838d17e3367dc3ea6748d0975217ce501e834a224c83cab8afd35c9b0e6ade806b7987fae80f97f5c8253cfbb9089cf21f” , při svých voláních zaměňte tento API klíč za API klíč svého workspace, který získáte po objednání služby "Integrace API" a Generování API klíče.
V body je potřebný JSON se všemi parametry pro vytvoření dokumentu, url webhooku odpovídá webhooku vytvořeném dále, lze přidat po otestování tohoto flow.
E-mail demo+counterparty@signi.com si můžete změnit na svůj.
{
"$content-type": "multipart/form-data",
"$multipart": [
{
"headers": {
"Content-Disposition": "form-data; name=\"metadata\"; filename=\"data.json\""
},
"body": {
"name": "test",
"number": "123456",
"locale": "cs",
"webhooks": [
{
"state": "completed",
"url": "https://prod-174.westeurope.logic.azure.com:443/workflows/4255c88e046844319c27fdf997ee7eed/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=lJhO1j7pXPUUzQ6apYhS1TJmI6HoEyN4NS_cBMI-6rw"
}
],
"settings": {
"signing_order": "one_at_a_time",
"missing_positions": "append_to_the_end"
},
"people": [
{
"is_proposer": true,
"party_order": 1,
"email": "demo@signi.com",
"contract_role": "sign"
},
{
"is_proposer": false,
"party_order": 2,
"email": "demo+counterparty@signi.com",
"phone": "723653670",
"first_name": "John",
"last_name": "Doe#1",
"contract_role": "sign",
"person_type": "nature"
}
],
"file": "file_key"
}
},
{
"headers": {
"Content-Disposition": "form-data; name=\"file_key\"; filename=\"test.pdf\""
},
"body": {
"$content-type": "application/pdf",
"$content": "@{body('Get_file_content')?['body']}"
}
}
]
}
v JSONu se potřebujeme odkázat na soubor získaný v předchozím kroku , k tomu použijeme dynamický obsah File Content.
….
Další průběh testování je shodný s flow pro vytvoření dokumentu ze vzoru.
Vytvoření flow pro webhook pro přijetí výsledku podepsání
Vytvořte nové flow přes MS Power Automate v levém panelu > Create > Instant cloud flow pro ruční spuštění > Manually create flow.
Vložte do flow operaci přes Next step > When an HTTP request is received (vybrat tento typ operace).
Jako šablonu dat, které webhook dostane, je třeba vložit příklad JSONu viz příklad na Signi - 3rd party service · Apiary tj,
{
"type": "object",
"properties": {
"contract_id": {
"type": "integer"
},
"state": {
"type": "string"
},
"file": {
"type": "string"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"contract_id": {
"type": "integer"
},
"state": {
"type": "string"
},
"file": {
"type": "string"
}
},
"required": [
"contract_id",
"state",
"file"
]
}
}
}
}
Jako druhá je do flow vložená operace Parse JSON , kde se řekne, že se bude zpracovávat kód z Body a jako příklad JSON schématu se bere to, co dostává webhook ze Signi viz výše. Zároveň se ikonou Copy získá URL webhooku , který se následně vyplní jako parametr volání Signi v prvním a druhém flow příkladu.
Výsledek volání webhooku lze zjistit v MS Power Automate v historii flow Signi Demo - webhook, na stránce detailu dole zobrazit v historii poslední volání , kde jsou vidět výsledky volání.
Příklad kódu v .NET
.NET je prostředí, framework Microsoftu pro vývoj aplikací.
Na produkčním prostředí Signi je workspace "Demo API" a má API klíč = “71c4123d242bdd38047bee838d17e3367dc3ea6748d0975217ce501e834a224c83cab8afd35c9b0e6ade806b7987fae80f97f5c8253cfbb9089cf21f” , při svých voláních zaměňte tento API klíč za API klíč svého workspace, který získáte po objednání služby "Integrace API" a Generování API klíče.
Pro Pro zasílání HTTP požavavků se využívá knihovna RestSharp, Hello from RestSharp | RestSharp
Níže jsou volání různých enpointů Signi API.
Příklad kódu v VBA
Visual Basic for Application je vývojový jazyk používaný v desktopových verzích Microsoft Office . Není již podporován v cloudovém prostředí Office 365.
Na produkčním prostředí Signi je workspace "Demo API" a má API klíč = “71c4123d242bdd38047bee838d17e3367dc3ea6748d0975217ce501e834a224c83cab8afd35c9b0e6ade806b7987fae80f97f5c8253cfbb9089cf21f” , při svých voláních zaměňte tento API klíč za API klíč svého workspace, který získáte po objednání služby "Integrace API" a Generování API klíče.
Je třeba kód spouštět Micrisoft Excel for Desktop na MS Windows. Na cloudovém prostředí MS 356 nefugnují makrave VBA, v Microsoft Execl for Mac není přístupný objekt pro HTTP requesty.