feat(docs): Update documentation for Kommunikation Sync and VMH Sync steps, marking legacy files and enhancing clarity
This commit is contained in:
@@ -1,8 +1,25 @@
|
|||||||
# Kommunikation Sync Implementation
|
# Kommunikation Sync Implementation
|
||||||
|
|
||||||
## Overview
|
> **⚠️ Diese Datei ist veraltet und wird nicht mehr gepflegt.**
|
||||||
|
> **Aktuelle Dokumentation**: [../docs/SYNC_OVERVIEW.md](../docs/SYNC_OVERVIEW.md)
|
||||||
|
|
||||||
Bidirektionale Synchronisation von Email- und Telefon-Daten zwischen Advoware und EspoCRM.
|
## Quick Reference
|
||||||
|
|
||||||
|
Für die vollständige und aktuelle Dokumentation siehe [SYNC_OVERVIEW.md](../docs/SYNC_OVERVIEW.md#kommunikation-sync).
|
||||||
|
|
||||||
|
**Implementiert in**: `services/kommunikation_sync_utils.py`
|
||||||
|
|
||||||
|
### Kern-Features
|
||||||
|
|
||||||
|
1. **Base64-Marker** in Advoware `bemerkung`: `[ESPOCRM:base64_value:kommKz]`
|
||||||
|
2. **Hash-basierte Change Detection**: MD5 von allen Kommunikation-rowIds
|
||||||
|
3. **6 Sync-Varianten**: Var1-6 für alle Szenarien (neu, gelöscht, geändert)
|
||||||
|
4. **Empty Slots**: Workaround für DELETE 403
|
||||||
|
5. **Konflikt-Handling**: EspoCRM wins, direction='to_advoware'
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Legacy Documentation (Reference Only)
|
||||||
|
|
||||||
## Architektur-Übersicht
|
## Architektur-Übersicht
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# VMH Webhook & Sync Steps
|
# VMH Webhook & Sync Steps
|
||||||
|
|
||||||
|
> **📚 Vollständige Sync-Dokumentation**: [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||||
|
|
||||||
Dieser Ordner enthält die Webhook-Receiver für EspoCRM und den Event-basierten Synchronisations-Handler für Beteiligte-Entitäten.
|
Dieser Ordner enthält die Webhook-Receiver für EspoCRM und den Event-basierten Synchronisations-Handler für Beteiligte-Entitäten.
|
||||||
|
|
||||||
## Übersicht
|
## Übersicht
|
||||||
@@ -8,7 +10,7 @@ Die VMH-Steps implementieren eine vollständige Webhook-Pipeline:
|
|||||||
1. **Webhook Receiver** empfangen Events von EspoCRM
|
1. **Webhook Receiver** empfangen Events von EspoCRM
|
||||||
2. **Redis Deduplication** verhindert Mehrfachverarbeitung
|
2. **Redis Deduplication** verhindert Mehrfachverarbeitung
|
||||||
3. **Event Emission** triggert die Synchronisation
|
3. **Event Emission** triggert die Synchronisation
|
||||||
4. **Sync Handler** verarbeitet die Änderungen (aktuell Placeholder)
|
4. **Sync Handler** verarbeitet die Änderungen (✅ **Production Ready**)
|
||||||
|
|
||||||
## Webhook Receiver Steps
|
## Webhook Receiver Steps
|
||||||
|
|
||||||
@@ -91,28 +93,28 @@ Die VMH-Steps implementieren eine vollständige Webhook-Pipeline:
|
|||||||
|
|
||||||
**Zweck:** Zentraler Event-Handler für die Synchronisation von Beteiligte-Änderungen.
|
**Zweck:** Zentraler Event-Handler für die Synchronisation von Beteiligte-Änderungen.
|
||||||
|
|
||||||
|
**Status:** ✅ **Production Ready** - Vollständig implementiert
|
||||||
|
|
||||||
**Konfiguration:**
|
**Konfiguration:**
|
||||||
- **Type:** event
|
- **Type:** event
|
||||||
- **Name:** VMH Beteiligte Sync
|
- **Name:** VMH Beteiligte Sync
|
||||||
- **Subscribes:** `vmh.beteiligte.create`, `vmh.beteiligte.update`, `vmh.beteiligte.delete`
|
- **Subscribes:**
|
||||||
|
- `vmh.beteiligte.create` - Neue Entities
|
||||||
|
- `vmh.beteiligte.update` - Änderungen
|
||||||
|
- `vmh.beteiligte.delete` - Löschungen
|
||||||
|
- `vmh.beteiligte.sync_check` - Cron-Checks (alle 15min)
|
||||||
- **Flows:** vmh
|
- **Flows:** vmh
|
||||||
- **Emits:** (none)
|
|
||||||
|
|
||||||
**Funktionalität:**
|
**Funktionalität:**
|
||||||
- Empfängt Events von allen Webhook-Receivern
|
- ✅ Empfängt Events von allen Webhook-Receivern + Cron
|
||||||
- Aktuell Placeholder-Implementierung (nur Logging)
|
- ✅ Redis Distributed Lock (verhindert Race Conditions)
|
||||||
- Entfernt verarbeitete IDs aus Redis-Pending-Queues
|
- ✅ Beteiligte Sync (Stammdaten): rowId-basierte Change Detection
|
||||||
- Bereit für Integration mit EspoCRM-API
|
- ✅ Kommunikation Sync (Phone/Email/Fax): Hash-basierte Change Detection
|
||||||
|
- ✅ Konflikt-Handling: EspoCRM wins mit Notification
|
||||||
|
- ✅ Retry-Logic: Exponential Backoff (1min, 5min, 15min, 1h, 4h)
|
||||||
|
- ✅ Auto-Reset nach 24h bei permanently_failed
|
||||||
|
|
||||||
**Event Data Format:**
|
**Dokumentation:** Siehe [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||||
```json
|
|
||||||
{
|
|
||||||
"entity_id": "entity-123",
|
|
||||||
"action": "create",
|
|
||||||
"source": "webhook",
|
|
||||||
"timestamp": "2025-01-20T10:00:00Z"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Redis Deduplication
|
## Redis Deduplication
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
# Beteiligte Sync - Event Handler
|
# Beteiligte Sync - Event Handler
|
||||||
|
|
||||||
|
> **📚 Vollständige Dokumentation**: [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||||
|
|
||||||
Event-driven sync handler für bidirektionale Synchronisation von Beteiligten (Stammdaten).
|
Event-driven sync handler für bidirektionale Synchronisation von Beteiligten (Stammdaten).
|
||||||
|
|
||||||
|
**Implementiert in**: `steps/vmh/beteiligte_sync_event_step.py`
|
||||||
|
|
||||||
## Subscribes
|
## Subscribes
|
||||||
|
|
||||||
- `vmh.beteiligte.create` - Neuer Beteiligter in EspoCRM
|
- `vmh.beteiligte.create` - Neuer Beteiligter in EspoCRM
|
||||||
|
|||||||
@@ -2,18 +2,21 @@
|
|||||||
type: step
|
type: step
|
||||||
category: event
|
category: event
|
||||||
name: VMH Beteiligte Sync
|
name: VMH Beteiligte Sync
|
||||||
version: 1.0.0
|
version: 2.0.0
|
||||||
status: placeholder
|
status: active
|
||||||
tags: [sync, vmh, beteiligte, event, todo]
|
tags: [sync, vmh, beteiligte, event, production]
|
||||||
dependencies: []
|
dependencies: [redis, espocrm, advoware]
|
||||||
emits: []
|
emits: []
|
||||||
subscribes: [vmh.beteiligte.create, vmh.beteiligte.update, vmh.beteiligte.delete]
|
subscribes: [vmh.beteiligte.create, vmh.beteiligte.update, vmh.beteiligte.delete, vmh.beteiligte.sync_check]
|
||||||
---
|
---
|
||||||
|
|
||||||
# VMH Beteiligte Sync Event Step
|
# VMH Beteiligte Sync Event Step
|
||||||
|
|
||||||
|
> **⚠️ Diese Datei ist veraltet.**
|
||||||
|
> **Aktuelle Dokumentation**: [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
⚠️ **PLACEHOLDER** - Implementierung noch ausstehend
|
✅ **PRODUCTION** - Vollständig implementiert und in Betrieb
|
||||||
|
|
||||||
## Zweck
|
## Zweck
|
||||||
Verarbeitet Create/Update/Delete-Events für Beteiligte-Entitäten und synchronisiert zwischen EspoCRM und Zielsystem.
|
Verarbeitet Create/Update/Delete-Events für Beteiligte-Entitäten und synchronisiert zwischen EspoCRM und Zielsystem.
|
||||||
|
|||||||
Reference in New Issue
Block a user