17. DigiSign — configdigisign.asp a step75 (technicky)
17. DigiSign — configdigisign.asp a step75 (technicky)
www.iskasa.eu · návod k modulu Akce
17. DigiSign — configdigisign a step75 (technicky)
Uživatelský průvodce: 7e DigiSign konfigurace a step75. Souvisí s 12 Smlouvy step60, 13 Ostatní kroky (step05, step70).
Integrace s DigiSign REST API — konfigurace v digisign/, práce u akce na step75. Referenční demo: configdigisign, step75?aa=5702.
17.1 Soubory modulu (digisign/)
| Soubor | Úloha |
|---|---|
configdigisign | Obal stránky konfigurace — oprávnění SESSION("admin") = "zz" |
ConfigFormDigiSign | Formulář + ukládání do configdigisign |
DigiSignConfigLib | Načtení/uložení config, DS_IsEnabled(), webhook URL |
DigiSignApiLib | Auth token, volání REST API, webhook registrace |
DigiSignEnvelopeLib | Obálky, odeslání, sync stavu, auditní stopa, DS_Step75AdminOk() |
DigiSignWebhook | HTTP listener pro POST z DigiSign (?key=) |
DigiSignWebhookLib | Zpracování eventů, archiv logu, změna stavu v digisign_podpis |
DigiSignWebhookNastaveni | UI registrace webhook eventů v configdigisign |
DigiSignRegenWebhookAjax | AJAX generování nového webhook klíče |
DigiSignWebhookSyncAjax, DigiSignWebhookTestAjax | Sync a test webhooků z admin UI |
17.2 step75 — obal a includes
| Soubor | Úloha |
|---|---|
step75 | Obal (AplikaceNastaveni = 510, AkceMenu = 75), include step75PodpisSeznam |
step75PodpisSeznam | Tabulky Smlouvy / Dokumenty / Přílohy, legenda, AJAX sync |
step75DigiSignNavod | Návod při vypnuté integraci (NOT DS_IsEnabled()) |
step75SmlouvaPdf | Generování PDF smlouvy (wkhtmltopdf) → dovakcedokumenty |
step75PodpisSyncAjax | AJAX sync jednoho řádku z API |
step75PodpisOdeslat | Formulář podepisujících + DS_EnvelopeOdeslat() |
17.3 Oprávnění
| Stránka / akce | Podmínka |
|---|---|
configdigisign | SESSION("admin") = "zz" |
step75 — vstup | admin ∈ {t, b, r, k} nebo admin2 ∈ {t, b, k} |
| Tlačítka odeslání / sync | DS_Step75AdminOk() → admin = t nebo b |
step75PodpisOdeslat | Stejně DS_Step75AdminOk() |
17.4 Databáze
| Tabulka | Účel |
|---|---|
configdigisign | Jeden řádek na nájemce: API klíče, prostředí, webhook_klic, aktivni, embed, return_url… |
digisign_podpis | Vazba obálky na akci: kodakce, zdroj_typ (dokument/priloha), zdroj_id, envelope_id, stav, podepisujici (JSON), audit soubor |
digisign_webhook_log | Archiv příchozích webhook eventů u akce |
dovakcedokumenty | Zdroj typu dokument (step70 + PDF ze smlouvy, popis digisign_smlouva:{kod}) |
dovakceprilohy | Zdroj typu priloha (step05 sekce 0, případně dokumenty se sekcí > 0) |
dovakcesmlouvy | HTML smlouvy — na step75 jen generování PDF, ne přímé odeslání |
17.5 Stavy podpisu (digisign_podpis.stav)
Hodnoty: nova, odeslano, castecne, podepsano, odmitnuto, expirovano, zruseno, chyba. Test záložky v menu: !akce/AkceDigisignPodpisTest — zelená pokud existuje záznam s envelope_id a stav <> 'nova'.
17.6 Tok odeslání dokumentu
sequenceDiagram
participant U as Uživatel t/b
participant S75 as step75PodpisSeznam
participant O as step75PodpisOdeslat
participant EL as DigiSignEnvelopeLib
participant API as DigiSign API
participant WH as DigiSignWebhook
participant DB as digisign_podpis
U->>S75: Odeslat k podpisu
S75->>O: aa, zt, zi
O->>EL: DS_EnvelopeOdeslat
EL->>API: POST obálka + dokument
API-->>EL: envelope_id
EL->>DB: INSERT/UPDATE stav=odeslano
Note over WH,DB: Později webhook nebo DS_PodpisAutoSyncAkceZApi
WH->>DB: stav podepsano + audit PDF
Parametry URL odeslání: aa = kód akce, zt = dokument | priloha, zi = id z příslušné tabulky. POST action=send + pole podepisujících (rec_obch, rec_klient, volitelně další z users).
17.7 Webhook
- Listener:
DigiSignWebhook?key={webhook_klic}— URL sestavíDS_WebhookListenerUrl()z Return URL nebo aktuálního serveru. - Ověření registrace:
DS_WebhookListForUrl,DS_WebhookMandatedCheckv admin UI. - Povinné eventy mění stav obálky; informační se jen logují do
digisign_webhook_log. - Sync z API (
DS_PodpisAutoSyncAkceZApi, ikona refresh, F5 step75) nečte webhook log — stáhne stav přímo z API a zapíše eventdovisApiSync.
17.8 Formáty souborů
DS_PodpisSouborFormatChyba() — kategorie pdf, text, image, other. Obrázky: DS_SouborPrevedNaPdf() před uploadem do obálky. Kontrola disku: DS_SouborDiskKontrola(folder, filename).
17.9 SQL skripty (pořadí nasazení)
digisign/configdigisigndigisign/digisign_tablesdigisign/configdigisign_menu_path— cesta v menu administrátora (volitelně)!!MySQL/digisign_podpis,digisign_webhook_log— pokud nejsou v digisign_tables