Jak získat výsledky podepisování?
Jsou 2 možné cesty získání výsledků ze Signi:
dvousměrná integrace s vyvoláním zpětných webhooků,
jednosměrná integrace s průběžným ověřováním stavu.
1. Dvousměrná integrace s vyvoláním zpětného webhooku
Součástí předávání podkladů pro podpis jsou i 3 URL adresy tzv. “webhooků” pro každou hodnotu výsledku:
podepsáno - signed,
odmítnuto - rejected,
neověřeno - expired.
viz např. úvodní část JSON:
{ "contract_name": "Dokument s webhooky", "number": "000001", "state": "pending", "locale": "cs", "settings": { "signing_order": "proposers_before_counterparties" }, "webhooks": [ { "state": "completed", "url": "http://example.com/?source=signi&constract_id=1234&state=completed" }, { "state": "rejected", "url": "http://example.com/?source=signi&constract_id=1234&state=rejected" }, { "state": "expired", "url": "http://example.com/?source=signi&constract_id=1234&state=expired" } ], .... další části JSON }
URL adresy typicky obsahují volání integrované aplikace.
Zavolán je vždy jen jeden webhook z těchto tří podle výsledku. Pokud se parametr url ponechá prázdný, web hook se nevyvolá.
Ve vzoru volání na http://apiary.io je třeba text “your_webhook_url\” nahradit reálnou URL.
Nyní se volá webhook pro každý dokument zvlášť včetně příloh.
Při volání webhooku předáváme stejný API klíč jako byl použit pro volání Signi, tj. zabezpečení je stejné jako směrem do Signi. Typ autorizace je tedy API Key, jako hodnota klíče x-api-key je uveden API klíč workspace, do kterého byl dokument k podpisu poslán, a hodnota se předává v Header.
Výsledný podepsaný dokument se do integrované aplikace při vyvolání webhooku předává následovně:
{ "contract_id": 3359, "state": "completed", "file": "https://api.signi.com/api/v1/contract/pdf/preview?hash=95d02b75275851c8851b3528a4b365fd7e03fa8991ed23b25e30d16c4558", "attachments": [] }
Odkaz na dokument je platný pouze 10 minut po vyvolání webhooku, později je při pokusu o stažení vrácena chyba.
Později lze stáhnout dokument přeshttps://api.signi.com/api/v1/contract/id/download
Soubor ve webhooku a end pointu download se předává ve formátu - Application/pdf .
2. Jednosměrná integrace s průběžným ověřováním stavu
Někdy lze webhooky v integrovaném systému obtížně implementovat. Nebo není z bezpečnostních důvodů možné nastavit přístup do integrovaného systému z internetu.
Při odeslání dokumentu k podpisu v odpovědi získáte identifikátor dokumentu v Signi Contract_id viz např. odpověď “Response 200 HEADERS Content-Type:application/json BODY { "contract_id": "1234", "attachments": []}”.
S vráceným Contract_id lze pak volat enpointy Detail smlouvy, Stav dokumentu Stažení dokumentu Stažení auditní stopy / kontrolního listu dokumentu .
End pointy se volají ve vhodný okamžik, buď přes nějaký časovač/cron pravidelně, při otevírání formuláře, zmáčknutím tlačítka “Aktualizace stavu” apod.
V jakém formátu se předávají výsledné dokumenty?
Soubor ve webhooku a end pointu download se předává ve formátu - Application/pdf
PŘIPRAVUJEME: Ve variantě End Pointů Full RestAPI budou binární soubory překódovány do textu.