Přeskočit obsah

Technická reference

Tato sekce popisuje technické detaily integrace a mapování polí.

Architektura

Integrace je postavena na principu Providerů. Každá entita (Faktura, Nabídka) má svůj vlastní Provider, který zajišťuje transformaci dat do XML formátu pro Pohodu.

  • Namespace: Espo\Modules\Pohoda\Tools\Pohoda\Providers
  • Základní třída: AbstractProvider

Seznam Providerů

Entita CRM Entita Pohoda Provider Class
Account Addressbook AccountProvider
Invoice Invoice InvoiceProvider
Quote Nabídka QuoteProvider
SalesOrder Objednávka SalesOrderProvider
Product Zásoba ProductProvider
ProformaInvoice Zálohová faktura ProformaInvoiceProvider
BankAccount Bankovní účet BankAccountProvider
... ... ...

Mapování polí

Většina polí se mapuje automaticky na základě názvu, pokud odpovídá schématu.

Faktury

  • number -> ExtId (číslo dokladu v CRM)
  • account -> PartnerIdentity (Odběratel)
  • items -> InvoiceItem (Položky faktury)
  • status -> state (Stav)

Produkty

  • name -> Name
  • code -> Code (Klíčové pro párování)
  • price -> SellingPrice

Joby

  • Espo\Modules\Pohoda\Classes\Jobs\PohodaSync: Export dat.
  • Espo\Modules\Pohoda\Classes\Jobs\PohodaFetch: Import dat.

Entity

Modul definuje pomocné entity:

  • PohodaAccount: Ukládá konfiguraci připojení.
  • PohodaAccountItem: Položky spojené s účtem (logování).

Hooks

Modul využívá hooky (afterSave) na entitách jako Invoice nebo Quote, aby označil záznamy k synchronizaci (příznak pohodaSyncNeeded nebo podobný mechanismus, případně se spoléhá na modifiedAt timestamp a Job).