Developer Portal

AIVEE API

Die AIVEE API basiert auf REST-Prinzipien mit vorhersagbaren, ressourcenorientierten URLs und JSON-codierten Antworten. Standard-HTTP-Methoden und Statuscodes werden verwendet.

Base URL/api
Version2026-03
Content Typeapplication/json

Base URL

https://app.aiv.ee/api

Authentication

Authentifizierung

Die AIVEE API verwendet session-basierte Authentifizierung. Alle Endpunkte erfordern eine aktive Session ueber die Web-App. Fuer die SFTP-Integration wird ein Account-spezifischer Zugang bereitgestellt.

MethodeSession-basiert (Cookie)
SFTPsftp {AccountID}@sftp.aiv.ee

Authenticated Request

curl https://app.aiv.ee/api/products \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json"
Setup

Technische Anbindung

SFTP-basierter Datenaustausch — Bestands- und Verkaufsdaten importieren, Preisempfehlungen exportieren.

AIVEE kommuniziert über SFTP mit dem Quellsystem. Bestands- und Verkaufsdaten werden als CSV-Dateien importiert, Preisempfehlungen als CSV-Dateien exportiert.

Datenfluss

┌──────────────────┐          SFTP           ┌──────────────────┐          SFTP           ┌──────────────────┐
│                  │  ──────────────────────▶ │                  │ ──────────────────────▶ │                  │
│   Quellsystem    │   /stock  (Bestände)     │      AIVEE       │   /prices  (Preise)     │   Quellsystem    │
│   (ERP/WaWi)     │   /sales  (Verkäufe)     │   Pricing Engine │                         │   (ERP/WaWi)     │
│                  │  ──────────────────────▶ │                  │                         │                  │
└──────────────────┘                          └──────────────────┘                         └──────────────────┘
      Upload                                   Verarbeitung                                     Download
   täglich/stündlich                           täglich 05:00 UTC                              täglich/stündlich

Ablauf einer typischen Integration

Tag 1                  Tag 2                  Tag 3                  Laufend
┌────────────────┐     ┌────────────────┐     ┌────────────────┐     ┌────────────────┐
│ SFTP-Zugang    │     │ Erster         │     │ Erste          │     │ Automatischer  │
│ einrichten     │────▶│ Vollimport     │────▶│ Preisdateien   │────▶│ täglicher      │
│                │     │ (Stock+Sales)  │     │ verfügbar      │     │ Datenaustausch  │
└────────────────┘     └────────────────┘     └────────────────┘     └────────────────┘

SFTP-Verbindung

sftp {Account ID}@sftp.aiv.ee
  • Account ID (Benutzername) und API Key (Passwort) werden von AIVEE bereitgestellt
  • Kontakt: support@michelberger.digital

Verbindung testen

# Terminal (Linux/macOS)
sftp {Account ID}@sftp.aiv.ee
pwd
put testfile.txt

Alternative SFTP-Clients: WinSCP, Cyberduck, FileZilla.

SFTP

SFTP-Schnittstelle

Account-spezifischer Zugang mit Account-ID als Benutzername und API-Key als Passwort.

Verzeichnisse

/stockImport

Bestandsdaten hochladen

FrequenzTäglich (FULL) + optional stündlich (DELTA)
DateiFULL_{location}_{timestamp}.csv / DELTA_{location}_{timestamp}.csv
/salesImport

Verkaufsdaten hochladen

FrequenzTäglich
Dateisales_{timestamp}.csv
/pricesExport

Preisempfehlungen abrufen

FrequenzTäglich um 05:00 UTC
Dateiprices_{channel}.csv

Native Integrationen

Fuer folgende Systeme bietet AIVEE eine direkte Anbindung — kein manueller CSV-Import noetig:

advaricsprohandelREMIRAHILTES

Verbindung

SFTP-Verbindung
sftp {AccountID}@sftp.aiv.ee
Verzeichnisstruktur
/
├── stock/          ← Bestandsdaten (Import)
│   ├── FULL_store1_2026-03-11T05:00:00.csv
│   └── DELTA_store1_2026-03-11T12:00:00.csv
│
├── sales/          ← Verkaufsdaten (Import)
│   └── sales_2026-03-11T05:00:00.csv
│
└── prices/         ← Preisempfehlungen (Export)
    ├── prices_zalando_de.csv
    └── prices_store_main.csv
Verbindung testen
# Terminal (Linux/macOS)
sftp {AccountID}@sftp.aiv.ee
pwd
put testfile.txt
Import/stock

Bestandsimport (CSV)

Bestandsdaten werden als CSV mit Semikolon-Trennung (UTF-8) hochgeladen. Vollimporte enthalten alle Artikel eines Standorts, Delta-Importe nur geaenderte Bestaende.

Pflichtfelder

eanStringrequired

EAN des Artikels — eindeutig pro Standort

location_idStringrequired

Standort-Kennung

variant_numberStringrequired

Artikelnummer auf Farbebene

quantityIntegerrequired

Verfuegbarer Bestand

Zusaetzliche Pflichtfelder (nur Vollimport)

priceFloatrequired

Aktueller Verkaufspreis

retail_priceFloatrequired

Urspruenglicher UVP vor Rabatten

purchase_priceFloatrequired

Einkaufspreis

Empfohlene Felder

product_numberStringoptional

Produktnummer (Modellebene)

sizeStringoptional

Groesse

colorStringoptional

Farbe

brandStringoptional

Marke

product_groupStringoptional

Warengruppe

seasonStringoptional

Saison (z.B. HW24, FS25)

first_purchase_dateStringoptional

Ersteinlagerungsdatum (ISO 8601)

picture_urlStringoptional

URL zum Produktbild

nameStringoptional

Artikelbezeichnung

Beispieldateien

Vollimport (FULL)
ean;location_id;variant_number;quantity;price;retail_price;purchase_price;product_number;size;color;brand;product_group;season;name
4007064786228;store_berlin;ART-1001-BLU;12;59.95;79.95;32.00;ART-1001;M;Blau;ETERNA;Hemden;FS25;Modern Fit Hemd
4007064786235;store_berlin;ART-1001-BLU;8;59.95;79.95;32.00;ART-1001;L;Blau;ETERNA;Hemden;FS25;Modern Fit Hemd
4007064799228;store_berlin;ART-2050-ROT;5;129.95;149.95;65.00;ART-2050;38;Rot;Marc O'Polo;Jacken;HW24;Uebergangsjacke
Delta-Import (DELTA)
ean;location_id;variant_number;quantity
4007064786228;store_berlin;ART-1001-BLU;10
4007064786235;store_berlin;ART-1001-BLU;7
4007064799228;store_berlin;ART-2050-ROT;4
Import/sales

Verkaufsimport (CSV)

Verkaufs- und Retourendaten werden taeglich als CSV hochgeladen. Jede Zeile repraesentiert eine einzelne Transaktion.

Pflichtfelder

location_idStringrequired

Standort-Kennung

eanStringrequired

EAN des Artikels

timestampStringrequired

ISO 8601 Zeitstempel (auch nur Datum moeglich)

typeStringrequired

sale oder refund

priceFloatrequired

Transaktionsbetrag

Empfohlene Felder

sale_idStringoptional

Eindeutige Transaktions-ID

retail_priceFloatoptional

UVP zum Zeitpunkt des Verkaufs

quantityIntegeroptional

Verkaufte Einheiten

Beispieldatei

Verkaufsdaten
location_id;ean;timestamp;type;price;sale_id;retail_price;quantity
store_berlin;4007064786228;2026-03-10T14:23:00;sale;59.95;TX-2026-00142;79.95;1
store_berlin;4007064786235;2026-03-10T14:23:00;sale;59.95;TX-2026-00142;79.95;1
store_berlin;4007064799228;2026-03-10T15:47:00;sale;129.95;TX-2026-00198;149.95;1
store_hamburg;4007064786228;2026-03-10T11:05:00;sale;59.95;TX-2026-00087;79.95;2
store_berlin;4007064786228;2026-03-10T16:30:00;refund;59.95;TX-2026-00142-R;79.95;1
Export/prices

Preisempfehlungen Export (CSV)

AIVEE generiert pro Verkaufskanal eine CSV-Datei mit Preisempfehlungen. Die Dateien werden taeglich um ca. 05:00 UTC aktualisiert.

Spalten

channel_idStringrequired

Verkaufskanal-Kennung (z.B. zalando_de)

eanStringrequired

EAN des Artikels

priceFloatrequired

Empfohlener Verkaufspreis

retail_priceFloatrequired

UVP

price_reasonStringrequired

Begruendung der Empfehlung

activeBooleanrequired

Ob der Artikel aktiv sein soll

active_reasonStringoptional

Begruendung bei Deaktivierung

Moegliche Werte fuer price_reason

Discount -X%Rabatt wegen zu hoher Reichweite
Dynamic price to win buyboxPreisanpassung fuer Buybox-Gewinn
Price reset to retail pricePreis zurueck auf UVP

Beispieldatei

Preisexport
channel_id;ean;price;retail_price;price_reason;active;active_reason
zalando_de;4007064786228;59.95;79.95;Discount -25% (cover 18.3w, target 12w);true;
zalando_de;4007064786235;59.95;79.95;Discount -25% (cover 18.3w, target 12w);true;
zalando_de;4007064799228;119.95;149.95;Discount -20% (cover 22.1w, target 14w);true;
zalando_de;4007064799235;149.95;149.95;Price reset to retail price;true;
zalando_de;4007064800112;0.00;89.95;;false;Stock depleted
store_berlin;4007064786228;63.95;79.95;Discount -20% (cover 16.5w, target 12w);true;
Preise abrufen
sftp {AccountID}@sftp.aiv.ee
cd /prices
ls
get prices_zalando_de.csv
GET/api/recommendations

Empfehlungen abrufen

Liefert die gefilterten Empfehlungen eines Accounts inklusive Paging-Metadaten.

Parameters

accountSlugstringrequired

Slug des Accounts.

pagestringoptional

Seitennummer.

limitstringoptional

Treffer pro Seite.

typestring[]optional

Kommagetrennte Typen wie discount oder bonus.

Returns

200Paginierte Empfehlungsliste

Request

curl
curl https://app.aiv.ee/api/recommendations?accountSlug=my-store \
  -H "Authorization: Bearer sk_live_..."
Response
{
  "data": [{ "variant_id": "d1f6...", "type": "discount", "value": 59.95 }],
  "count": 156,
  "pageSize": 10,
  "page": 1,
  "pageCount": 16
}
GET/api/tasks

Aufgaben abrufen

Liefert die Tasks eines Accounts mit optionalen Filtern auf Status, Typ und Zeitraum.

Parameters

accountSlugstringrequired

Slug des Accounts.

status"pending" | "running" | "completed" | "failed"optional

Filter auf Task-Status.

typestringoptional

Filter auf Task-Typ (z.B. strategy_run, import).

locationIdstringoptional

Filter auf einen bestimmten Standort.

limitstringoptional

Treffer pro Seite.

Returns

200Liste der Tasks

Request

curl
curl https://app.aiv.ee/api/tasks?accountSlug=my-store \
  -H "Authorization: Bearer sk_live_..."
Response
{
  "data": [
    {
      "id": "task_abc",
      "type": "strategy_run",
      "status": "completed",
      "created_at": "2026-03-11T05:00:00.000Z",
      "completed_at": "2026-03-11T05:12:00.000Z",
      "metadata": { "strategy_name": "Outlet" }
    }
  ],
  "count": 42
}