Basic demo for Tally X AutoIxpert integration to showcase setup in Go due to impossibility of open-sourcing n8n setup.
63 lines
2.0 KiB
Markdown
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 .
|
|
```` |