Kundenprojekt · E-Commerce

fish-sync

Eine Sync-Pipeline für einen Angelbedarfshop: Bestand aus UkrSklad wird zu Produktkarten auf Horoshop, Rozetka und Facebook, mit KI-Beschreibungen, die in Telegram freigegeben werden.

fish-sync
Jahr
2026
Status
Kundenprojekt
Katalog
85 SKU → 53 Modelle
Stack
Python · Firebird · SQLite · Gemini 2.5 · aiogram 3 · XML feeds
  • 53Modelle in 85 SKU gefunden
  • 81Varianten mit ihren Hauptmodellen verknüpft
  • 3Kanäle aus einer Quelle
  • ~22KI-Beschreibungen pro Tag

Die Aufgabe

Der Shop führt den Bestand in UkrSklad, einer Desktop-App mit Firebird-Datenbank. Jeder Marktplatz will seinen eigenen Feed, Produktvarianten ergeben sich nur aus den Namen, und niemand hat Zeit, für jedes Modell eine Beschreibung zu schreiben.

So funktioniert es

  1. 01

    Bestand abbilden

    Eine Kopie der UkrSklad-Datenbank wird gelesen, ohne die Live-Datei anzufassen, und als JSON ausgegeben: 85 SKU.

  2. 02

    Modelle finden

    Ein Namensparser gruppiert SKUs in Hauptmodelle und Varianten: 53 Modelle, 81 Varianten.

  3. 03

    Beschreibungen schreiben

    Gemini 2.5 schreibt eine Beschreibung pro Hauptmodell, etwa 22 pro Tag im Rahmen des Kontingents.

  4. 04

    Ein Mensch gibt frei

    Jeder Text geht zuerst an einen Telegram-Bot: /approve, /reject oder /regen.

  5. 05

    Speicher und Fotos

    Freigegebene Daten werden per Upsert in SQLite geschrieben und Fotos den Produktcodes zugeordnet.

  6. 06

    Feeds

    Eigene Renderer erzeugen XML für Horoshop, Rozetka und den Facebook-Katalog.

UkrSklad 7Firebird-Datenbankproducts.json85 SKUModel grouping53 Modelle, 81 VariantenGemini 2.5~22 Modelle pro TagModeration bot/approve · /regenSQLite storeUpsert pro ModellPhoto syncFotos → ProduktcodesXML feedsHoroshop, Rozetka, FB

Bekannte Grenzen

  • Das tägliche KI-Kontingent bestimmt das Tempo neuer Beschreibungen; die Warteschlange geht einfach am nächsten Tag weiter.

Brauchen Sie etwas Ähnliches?

Erzählen Sie mir von Ihrer Aufgabe und Ihren Daten. Ich antworte mit einem Vorschlag, wie ich es angehen würde.

Projekt besprechen →