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->Namecode->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).