# Integrace ## SmartEmailing CRM/mailing systém SmartEmailing. **Klient:** `App\Services\Integrations\SmartEmailingClient` **Synchronizace kontaktů:** `SmartEmailingContactsSyncService` **Akce z automací:** - `SmartEmailingAddToListDriver` – přidání kontaktu do listu - `SmartEmailingAddTagDriver` – přidání tagu - `SmartEmailingUnsubscribeDriver` – odhlášení kontaktu **Webhook příjem:** `POST /api/integrations/smartemailing/webhook` → `SmartEmailingWebhookController` **Healthcheck:** `SmartEmailingHealthcheck` – kontrola dostupnosti API --- ## Vario ERP ERP systém pro správu firem, kontaktů, kategorií a produktů. Komunikace přes **SOAP**. **Klient:** `App\Services\Vario\VarioSoapClient` **Sync commandy:** | Command | Popis | |---------|-------| | `vario:sync` | Master sync (spouští ostatní) | | `vario:sync-contacts` | Sync kontaktů | | `vario:sync-companies` | Sync firem | | `vario:sync-categories` | Sync kategorií produktů | | `vario:sync-phonebooks` | Sync telefonních seznamů | | `vario:sync-product` | Sync jednotlivého produktu | **Klíčové třídy:** - `VarioImporter` – orchestrace importu - `VarioContactMapper` / `VarioCompanyMapper` – mapování polí - `VarioSnapshotBuilder` – snapshot dat pro porovnání změn - `VarioDatapackParser` – parsování datapaku ze SOAP odpovědi **Admin UI:** `/admin/vario/doklady` – prohlížení a parsování Vario dokladů --- ## PBX (telefonní ústředna) **Klient:** `App\Services\Pbx\PbxClient` **Telefonní seznamy:** `Phonebook`, `PhonebookEntry`, `PhonebookContact` modely **Sync:** `PushPhonebookToPbxJob` – nahraje telefonní seznam do PBX **Admin UI:** `/admin/phonebooks` – prohlížeč telefonních seznamů --- ## Microsoft Graph (Email) Alternativní odesílač emailů přes Microsoft 365 API. **Service:** `App\Services\MicrosoftGraph\MicrosoftGraphMailService` **Konfigurace v .env:** ```env MICROSOFT_GRAPH_TENANT_ID= MICROSOFT_GRAPH_CLIENT_ID= MICROSOFT_GRAPH_CLIENT_SECRET= MICROSOFT_GRAPH_FROM_ADDRESS= ``` --- ## Logování integrací Všechny integrace logují výsledky do `IntegrationLog` (`integration_logs` tabulka). Přehled dostupný v admin UI na `/admin/integrations/logs/{log}`. `IntegrationLogger` je helper pro jednotné logování úspěchů a chyb. Stav integrace (poslední sync, chyby) ukládá `IntegrationState` model.