aYOUne

Marketing Module

Das Marketing-Modul deckt klassisches Outbound-Marketing ab: E-Mail-Kampagnen, Coupons, Tracking. Routing: marketing-api.ayoune.app (separates mail-tracking-api.ayoune.app für Open/Click-Pixel).

Hauptentitäten

Coupons

Rabatt-Codes mit Lifecycle und Limits.

Feld Hinweis
code unique pro Customer
value Zahl
type percent / fixed / freeshipping
validFrom / validUntil Date-Range
usageLimit global Max-Einlösungen
perUserLimit Max-Einlösungen pro User
applicableProducts ProductId-Array (leer = alle)
_status active / paused / expired

Rights: marketing.coupons.{view|create|edit|delete|export}.

Beispiel:

ay create coupons "SUMMER25" \
  --set type=percent --set value=25 \
  --set validUntil=2026-09-30

Newsletters

Mail-Templates + Versand-Trigger.

Feld Hinweis
subject Pflicht
body Handlebars-Template
recipientFilter Mongo-Query auf Consumers
scheduleAt Versand-Zeitpunkt
tracking bool — Open/Click-Pixel?
ay create newsletters "Summer-Sale 2026" \
  --set subject="25% auf Outdoor" \
  --set recipientFilter='{"tags":"outdoor","_status":"active"}' \
  --set scheduleAt=2026-06-01T08:00:00Z

Custom-Actions:

POST /newsletters/:id/actions/send-test --body '{"to":"qa@firma.tld"}'
POST /newsletters/:id/actions/cancel
POST /newsletters/:id/actions/duplicate

MailLogs

Read-Only-Audit aller versendeten Mails — entsteht automatisch beim Versand.

Feld Hinweis
to Empfänger-Email
consumer ConsumerId (wenn matchbar)
newsletter NewsletterId
status queued / sent / bounced / complained / opened / clicked
openedAt Date
clickedAt Date
bounceReason string

Tracking-Pixel und Click-Redirects laufen über mail-tracking-api.ayoune.app — separates Service, weil es public sein muss (kein Auth).

Rights: marketing.maillogs.{view|export}.

Tracking-Pipeline

Newsletter-Send
  → MailLog erzeugt
  → Mail durch Provider versendet
  → Empfänger öffnet → Pixel-Hit auf mail-tracking-api → MailLog.openedAt
  → Empfänger klickt Link → Redirect über mail-tracking-api → MailLog.clickedAt
  → Bounce-Webhook von Provider → MailLog.status=bounced

Google-Ads (sub-modul ads)

Google-Ads v23 Integration unter ads-api.ayoune.app:

  • ads.campaigns — Campaigns syncen
  • ads.adgroups — AdGroups
  • ads.keywords — Keywords + Performance
  • ads.metrics — Impressions, Clicks, Conversions

Setup via OAuth: ay exec ads:authorize öffnet Google-OAuth, persistiert Refresh-Token in Credentials.

Verbindungen

Mit dieser Seite weiterarbeiten

Fertige Anweisungen für dein KI-Werkzeug. Kopieren, einfügen, loslegen — die KI holt sich den Inhalt selbst über die Adresse im Text.

Die Schritte für mich zusammenfassen Das Wesentliche, in der richtigen Reihenfolge.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Fasse den Inhalt für mich zusammen.

- Zuerst in zwei Sätzen: worum geht es hier?
- Dann die Schritte in der Reihenfolge, in der ich sie gehen muss.
- Je Schritt eine Zeile, in einfacher Sprache.
- Am Ende: was ich vorher bereithalten sollte.

Lass nichts weg, was ich brauche, um wirklich fertig zu werden.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Bei der Einrichtung helfen Schritt für Schritt, mit Rückfragen an mich.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Begleite mich Schritt für Schritt durch die Einrichtung.

- Sag mir zuerst, was ich bereithalten muss (Zugänge, Daten, Zeit).
- Dann führe mich EINEN Schritt nach dem anderen. Warte auf mein "weiter".
- Nenne je Schritt, woran ich merke, dass er geklappt hat.
- Wenn etwas schiefgeht, frag nach der genauen Meldung, statt zu raten.

Wenn die Anleitung eine Stelle offen lässt, sag mir das, statt sie zu erfinden.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Bei einem Problem weiterhelfen Ursache eingrenzen statt raten.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Hilf mir, ein Problem einzugrenzen.

- Frag mich zuerst, was ich beobachte und was ich erwartet hätte.
- Leite daraus die wahrscheinlichsten Ursachen ab, die zu dieser Quelle passen.
- Gib mir je Ursache EINEN Test, der sie bestätigt oder ausschließt.
- Sortiere so, dass der billigste Test zuerst kommt.

Rate nicht. Wenn die Quelle das Problem nicht abdeckt, sag mir, wo ich
weitersuchen sollte.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
In einfachen Worten erklären Ohne Fachbegriffe, von Grund auf.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Erkläre den Inhalt so, dass ihn jemand ohne Vorwissen versteht.

- Beginne mit dem Zweck: wozu gibt es das überhaupt?
- Fachbegriffe beim ersten Vorkommen in einem Halbsatz erklären.
- Ein Alltags-Vergleich, wo er wirklich trägt — keiner, wo er hinkt.
- Am Ende: die drei Dinge, die man sich merken sollte.

Kürze nicht durch Weglassen von Einschränkungen. Eine Vereinfachung, die eine
Bedingung unterschlägt, ist eine Falschaussage.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
Checkliste zum Abhaken Zum Mitgehen während der Umsetzung.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Mache daraus eine **abhakbare Checkliste** für die praktische Umsetzung.

- Je Punkt genau eine Handlung, im Imperativ.
- Reihenfolge so, dass kein Punkt eine spätere Voraussetzung braucht.
- Voraussetzungen und Stolperstellen als eingerückte Unterpunkte.
- Am Ende eine Abnahme: woran erkenne ich, dass alles richtig ist?
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.
In mein Projekt einbauen Konkreter Code für meinen Anwendungsfall.
Lies die folgende Dokumentation von tolinax UG und arbeite damit.

Diese Seite: https://ayoune.com/de/docs/api-reference/marketing-module.md
Die vollständige Sammlung: https://ayoune.com/de/docs/api-reference.md

Hilf mir, das in mein Projekt einzubauen.

- Frag mich zuerst nach Sprache, Umgebung und dem, was ich erreichen will.
- Gib dann ein minimales, lauffähiges Beispiel — keine Auslassungs-Punkte.
- Benenne die Fehlerfälle, die ich abfangen muss, und wie sie sich zeigen.
- Nenne Grenzen: Zeitlimits, Mengenbegrenzungen, Berechtigungen.

Verwende ausschließlich das, was die Quelle wirklich beschreibt. Erfinde keine
Felder, Parameter oder Endpunkte — ein erfundener Aufruf kostet mich mehr Zeit,
als er spart.
Hinweis zu den Quellen:
- Jede Seite dieser Dokumentation ist als Markdown abrufbar (dieselbe Adresse mit `.md`).
- Ein maschinenlesbarer Überblick aller öffentlichen Inhalte liegt unter `/llms.txt`.
- Falls du Zugriff auf den aYOUne-MCP-Server hast, kannst du damit gegen lebende Daten
  arbeiten statt gegen diese Momentaufnahme. Falls nicht, ignoriere diesen Punkt.

War dieser Artikel hilfreich?

👎 Nein (0)
Kommentar hinterlassen