Přeskočit na hlavní obsah

Technická reference: Architektura Datové schránky

1. Přehled systému

Modul slouží jako wrapper kolem ISDS SOAP API. Využívá knihovnu php-datbox (namespace Defr\CzechDataBox) pro nízkoúrovňovou komunikaci.

Klíčové komponenty

  • Espo\Modules\DataBox\Tools\CzechDataBox\DataBox: Nízkoúrovňový adaptér rozšiřující knihovnu třetí strany. Řeší SOAP autentizaci a formátování požadavků.
  • Espo\Modules\DataBox\Tools\DataBox\Service: Vysokoúrovňová business služba.
    • checkDataBox(id): Orchestruje stahování Přijatých/Odeslaných zpráv.
    • send(message): Validuje a odesílá zprávy.
    • createMessage(record): Konvertuje surový SOAP tRecord na lokální entitu DataBoxMessage.

2. Integrace Streamu

Modul se hluboce integruje s "Streamem" (Časovou osou) EspoCRM.

  • Služby: noteDataBoxMessageReceived a noteDataBoxMessageSent.
  • Logika: Když je zpráva zpracována, systém vytvoří entitu Note (Poznámka) s typem type='DataBoxReceived' nebo 'DataBoxSent'.
  • Hledání rodiče: Služba DefaultParentFinder se pokusí vyřešit parentType a parentId na základě metadat zprávy (ID odesílatele), čímž propojí Poznámku se správným Zákazníkem.

3. Zpracování příloh

Přílohy jsou stahovány jako binární streamy z odpovědi ISDS SOAP.

  • Uložení: Jsou uloženy jako standardní entity EspoCRM Attachment.
  • Vazba: Propojeno s entitou DataBoxMessage přes pole attachments (linkMultiple).

4. Zpracování chyb

  • Chyby připojení: Pokud je ISDS nedostupné nebo jsou špatné přihlašovací údaje, stav DataBoxAccount se může aktualizovat, nebo je chyba zalogována do logu CRM.
  • Validace: Před odesláním systém kontroluje povinná pole (ID příjemce, Předmět).