Files
motia/bitbylaw/steps/vmh/beteiligte_sync_event_step.md

2.4 KiB

type, category, name, version, status, tags, dependencies, emits, subscribes
type category name version status tags dependencies emits subscribes
step event VMH Beteiligte Sync 2.0.0 active
sync
vmh
beteiligte
event
production
redis
espocrm
advoware
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

Status

PRODUCTION - Vollständig implementiert und in Betrieb

Zweck

Verarbeitet Create/Update/Delete-Events für Beteiligte-Entitäten und synchronisiert zwischen EspoCRM und Zielsystem.

Config

{
    'type': 'event',
    'name': 'VMH Beteiligte Sync',
    'subscribes': [
        'vmh.beteiligte.create',
        'vmh.beteiligte.update',
        'vmh.beteiligte.delete'
    ],
    'emits': [],
    'flows': ['vmh']
}

Geplantes Verhalten

Input Events:

{
  "topic": "vmh.beteiligte.create",
  "data": {
    "entity_id": "123",
    "action": "create",
    "source": "webhook",
    "timestamp": "..."
  }
}

Processing:

  1. Fetch full entity data from EspoCRM
  2. Map to target system format
  3. Create/Update/Delete in target system
  4. Remove ID from Redis pending set
  5. Log success/failure

Implementierungs-Aufgaben

  • EspoCRM API Client erstellen
  • Entity-Mapping definieren
  • Zielsystem-Integration
  • Error-Handling & Retry-Logic
  • Redis Cleanup (remove from pending sets)
  • Logging & Monitoring

Redis Cleanup

Nach erfolgreicher Verarbeitung:

redis.srem('vmh:beteiligte:create_pending', entity_id)
redis.srem('vmh:beteiligte:update_pending', entity_id)
redis.srem('vmh:beteiligte:delete_pending', entity_id)

Testing (Future)

# Manually emit event for testing
# (via Motia CLI or test script)

KI Guidance

Wenn Sie diesen Step implementieren:

  1. Erstellen Sie EspoCRM API Client in services/
  2. Definieren Sie Mapping-Logic
  3. Implementieren Sie Retry-Logic mit exponential backoff
  4. Cleanen Sie Redis Sets nach Verarbeitung
  5. Loggen Sie alle Operationen für Audit