Files
ai-sample/README.md
rkmpa 20acd6d77a Init with working version
Basic demo for Tally X AutoIxpert integration to showcase setup in
Go due to impossibility of open-sourcing n8n setup.
2026-03-14 22:45:37 +01:00

63 lines
2.0 KiB
Markdown

## Tally / AutoIxpert integration
### Überblick
Diese Codebasis ist eine Demo, die zeigt wie ein Tallyformular mit AutoIxpert integriert wird,
um einen SV Büro die Möglichkeit zu schaffen, Kundenanfragen direkt in Qapter aufzunehmen.
Ursprünglich in n8n geschrieben und gestaltet, wurde es hier in Go neugeschrieben, um die Nutzung
einiger wichtiger Endpunkte zu demonstrieren. Darunter zählen:
- die Erstellung eines Gutachtens mit Labels
- der Upload von Fotos via 3 Endpunkten (Metadatenerstellung, Uploadlinkabfrage, Upload)
Der Code besteht aus einem stdlib Go Webserver, der einen einzigen Endpunkt hat. Dieser empfängt
im Stil eines Webhooks eine vordefinierte Anfrage von Tally, verarbeitet diese und erstellt Gutachten und
lädt Bilder hoch.
Der Code ist funktional, aber nicht produktionsreif. Folgende Stellen müssten für eine Produktionsversion noch verbessert werden:
- striktere Validierung der eingehenden Daten webserverseitig (Tally erlaubt allerdings relativ strikte Validierung auf Formularseite)
- verbesserte Fehlerhandhabung (einbinden der Errorlogs in Systemlog und Anbindung an Alteringlösung); Reaktion des Systems auf verschiedene API Fehler
- Individualisierungslösung für Gutachtenlabels (Erstellung des Labels falls nichtexistent, in diesem Fall hardgecoded für speziellen Kunden)
### Setup
#### Abhängigkeiten
- Go v1.25
Installation von Go mit gänginge Paketmanagern:
Ubuntu:
```bash
snap install go --classic
```
MacOS
```bash
brew install go
```
#### Konfiguration
Die Konfiguration kann in der config.example.json angepasst werden. Es wird mindestens ein API Key von Qapter benötigt und
in diesem Fall ein Secret von Tally. Beide können in den jeweiligen Systemen abgerufen werden und müssen in die Konfiguration
kopiert werden.
Die Anwendung erwartet die Datei unter dem Pfad `config.json` im Rootverzeichnis. Dies wird durch folgenden Befehl erreicht:
````bash
cp config.example.json config.json
````
#### Run
Die Anwendung kann mit folgendem Befehl gestartet werden:
````bash
go run .
````