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
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# 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.
|
||||
|
||||
## Übersicht
|
||||
@@ -8,7 +10,7 @@ Die VMH-Steps implementieren eine vollständige Webhook-Pipeline:
|
||||
1. **Webhook Receiver** empfangen Events von EspoCRM
|
||||
2. **Redis Deduplication** verhindert Mehrfachverarbeitung
|
||||
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
|
||||
|
||||
@@ -91,28 +93,28 @@ Die VMH-Steps implementieren eine vollständige Webhook-Pipeline:
|
||||
|
||||
**Zweck:** Zentraler Event-Handler für die Synchronisation von Beteiligte-Änderungen.
|
||||
|
||||
**Status:** ✅ **Production Ready** - Vollständig implementiert
|
||||
|
||||
**Konfiguration:**
|
||||
- **Type:** event
|
||||
- **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
|
||||
- **Emits:** (none)
|
||||
|
||||
**Funktionalität:**
|
||||
- Empfängt Events von allen Webhook-Receivern
|
||||
- Aktuell Placeholder-Implementierung (nur Logging)
|
||||
- Entfernt verarbeitete IDs aus Redis-Pending-Queues
|
||||
- Bereit für Integration mit EspoCRM-API
|
||||
- ✅ Empfängt Events von allen Webhook-Receivern + Cron
|
||||
- ✅ Redis Distributed Lock (verhindert Race Conditions)
|
||||
- ✅ Beteiligte Sync (Stammdaten): rowId-basierte Change Detection
|
||||
- ✅ 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:**
|
||||
```json
|
||||
{
|
||||
"entity_id": "entity-123",
|
||||
"action": "create",
|
||||
"source": "webhook",
|
||||
"timestamp": "2025-01-20T10:00:00Z"
|
||||
}
|
||||
```
|
||||
**Dokumentation:** Siehe [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||
|
||||
## Redis Deduplication
|
||||
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
# 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).
|
||||
|
||||
**Implementiert in**: `steps/vmh/beteiligte_sync_event_step.py`
|
||||
|
||||
## Subscribes
|
||||
|
||||
- `vmh.beteiligte.create` - Neuer Beteiligter in EspoCRM
|
||||
|
||||
@@ -2,18 +2,21 @@
|
||||
type: step
|
||||
category: event
|
||||
name: VMH Beteiligte Sync
|
||||
version: 1.0.0
|
||||
status: placeholder
|
||||
tags: [sync, vmh, beteiligte, event, todo]
|
||||
dependencies: []
|
||||
version: 2.0.0
|
||||
status: active
|
||||
tags: [sync, vmh, beteiligte, event, production]
|
||||
dependencies: [redis, espocrm, advoware]
|
||||
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
|
||||
|
||||
> **⚠️ Diese Datei ist veraltet.**
|
||||
> **Aktuelle Dokumentation**: [../../docs/SYNC_OVERVIEW.md](../../docs/SYNC_OVERVIEW.md)
|
||||
|
||||
## Status
|
||||
⚠️ **PLACEHOLDER** - Implementierung noch ausstehend
|
||||
✅ **PRODUCTION** - Vollständig implementiert und in Betrieb
|
||||
|
||||
## Zweck
|
||||
Verarbeitet Create/Update/Delete-Events für Beteiligte-Entitäten und synchronisiert zwischen EspoCRM und Zielsystem.
|
||||
|
||||
Reference in New Issue
Block a user