Architektura Integrace Signi
Integrace je realizována formou REST API volání mezi systémem a službou Signi.
Komunikační Tok
1. Odeslání Dokumentu (Outbound)
Třída: Espo\Modules\Signi\Services\Signi::createContract
- Uživatel iniciuje akci "Odeslat do Signi".
- Systém vezme připojený soubor (PDF) z entity
Document. - Sesbírá data o podepisujících z relací
internalSignersaexternalSigners. - Odešle
POSTpožadavek na Signi API (/contract/).- Payload: Obsahuje binární data souboru, metadata navrhovatele a seznam podepisujících.
- Signi vrátí
contract_id. - Systém uloží
contract_iddo polesigniIda nastavíisSend = true.
2. Kontrola Stavu (Polling/Webhook)
Třída: Espo\Modules\Signi\Services\Signi::isSigned
- Systém (např. plánovaná úloha nebo manuální refresh) se dotazuje na stav kontraktu.
- Volá
GET /contract/{signiId}. - Pokud je stav
signed:- Stáhne finální dokument.
- Uloží ho do pole
signedDocument. - Nastaví
isSigned = truea vyplnísignatureDate.
3. Konfigurace
Klíče a nastavení jsou uloženy v Data/config.php nebo přes Administraci.
SigniApiKey: API klíč pro autentizaci požadavků.SigniUrl: Base URL API (obvyklehttps://api.signi.com/api/v1).
Bezpečnost
- Komunikace probíhá výhradně přes HTTPS.
- Autentizace pomocí
x-api-keyv hlavičce.