Přeskočit na hlavní obsah

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

  1. Uživatel iniciuje akci "Odeslat do Signi".
  2. Systém vezme připojený soubor (PDF) z entity Document.
  3. Sesbírá data o podepisujících z relací internalSigners a externalSigners.
  4. Odešle POST požadavek na Signi API (/contract/).
    • Payload: Obsahuje binární data souboru, metadata navrhovatele a seznam podepisujících.
  5. Signi vrátí contract_id.
  6. Systém uloží contract_id do pole signiId a nastaví isSend = true.

2. Kontrola Stavu (Polling/Webhook)

Třída: Espo\Modules\Signi\Services\Signi::isSigned

  1. Systém (např. plánovaná úloha nebo manuální refresh) se dotazuje na stav kontraktu.
  2. Volá GET /contract/{signiId}.
  3. Pokud je stav signed:
    • Stáhne finální dokument.
    • Uloží ho do pole signedDocument.
    • Nastaví isSigned = true a 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 (obvykle https://api.signi.com/api/v1).

Bezpečnost

  • Komunikace probíhá výhradně přes HTTPS.
  • Autentizace pomocí x-api-key v hlavičce.