cleanup
This commit is contained in:
92
bitbylaw/steps/vmh/beteiligte_sync_event_step.md
Normal file
92
bitbylaw/steps/vmh/beteiligte_sync_event_step.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
type: step
|
||||
category: event
|
||||
name: VMH Beteiligte Sync
|
||||
version: 1.0.0
|
||||
status: placeholder
|
||||
tags: [sync, vmh, beteiligte, event, todo]
|
||||
dependencies: []
|
||||
emits: []
|
||||
subscribes: [vmh.beteiligte.create, vmh.beteiligte.update, vmh.beteiligte.delete]
|
||||
---
|
||||
|
||||
# VMH Beteiligte Sync Event Step
|
||||
|
||||
## Status
|
||||
⚠️ **PLACEHOLDER** - Implementierung noch ausstehend
|
||||
|
||||
## Zweck
|
||||
Verarbeitet Create/Update/Delete-Events für Beteiligte-Entitäten und synchronisiert zwischen EspoCRM und Zielsystem.
|
||||
|
||||
## Config
|
||||
```python
|
||||
{
|
||||
'type': 'event',
|
||||
'name': 'VMH Beteiligte Sync',
|
||||
'subscribes': [
|
||||
'vmh.beteiligte.create',
|
||||
'vmh.beteiligte.update',
|
||||
'vmh.beteiligte.delete'
|
||||
],
|
||||
'emits': [],
|
||||
'flows': ['vmh']
|
||||
}
|
||||
```
|
||||
|
||||
## Geplantes Verhalten
|
||||
|
||||
**Input Events**:
|
||||
```json
|
||||
{
|
||||
"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:
|
||||
```python
|
||||
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)
|
||||
```bash
|
||||
# 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
|
||||
|
||||
## Related
|
||||
- [webhook/beteiligte_create_api_step.md](webhook/beteiligte_create_api_step.md) - Emits create events
|
||||
- [webhook/beteiligte_update_api_step.md](webhook/beteiligte_update_api_step.md) - Emits update events
|
||||
- [webhook/beteiligte_delete_api_step.md](webhook/beteiligte_delete_api_step.md) - Emits delete events
|
||||
Reference in New Issue
Block a user