aYOUne

CRM Module

Das CRM-Modul ist eines der ältesten und meistgenutzten in aYOUne. Es liefert Lead- und Customer-Management, Task-Tracking und Notiz-Funktionen — alles unter crm-api.ayoune.app.

Routing

https://crm-api.ayoune.app/consumers
https://crm-api.ayoune.app/tasks
https://crm-api.ayoune.app/notes

Hauptentitäten

Consumers

End-User des Customers (also: deine Endkunden, deine Leads). Schema-Kern:

Feld Typ Pflicht Hinweis
_id ObjectId auto
email string ja unique pro Customer
first_name string nein snake_case!
last_name string nein snake_case!
profilepicture string nein URL — auch snake_case
phone string nein E.164-Format
country string nein ISO-3166-Alpha-2
_status enum auto lead, active, churned
customCRM object nein Tenant-spezifische Felder
tags string[] nein Free-Text-Tags

Achtung: Die Felder heißen tatsächlich snake_case (first_name, nicht firstName) — historisch gewachsen. Das name-Virtual liefert " ()" und sollte NICHT in OR-Defaults verwendet werden (Symptom: " (Demo-Account)").

Rights: crm.consumers.{view|create|edit|delete}.

Tasks

ToDos, Tickets, Bugs (intern). Felder:

Feld Hinweis
title Pflicht
description Markdown
assignedTo UserId
consumer ConsumerId (optional)
dueDate Date
priority low / medium / high / critical
type Task / Bug / Feature
_status open / in-progress / done

Plattform-Konvention: Runtime-Errors landen als Tasks mit type: "Bug" (siehe Error Codes). Read-Side-Filter blendet sie für normale Sales-User aus.

Rights: crm.tasks.{view|create|edit|delete|assign}.

Notes

Freitext-Annotations zu Consumers, Tasks oder beliebigen anderen Datensätzen.

Feld Hinweis
body Markdown
targetType Collection-Name
targetId ObjectId
pinned bool

Custom-Actions

POST /consumers/:id/actions/anonymize
POST /consumers/:id/actions/merge --body '{"keepId":"<otherId>"}'
POST /tasks/:id/actions/assign --body '{"userId":"<id>"}'
POST /tasks/:id/actions/reopen

Sub-Resources

GET  /consumers/:id/tasks       # Tasks zu einem Consumer
GET  /consumers/:id/notes       # Notes zu einem Consumer
GET  /consumers/:id/maillogs    # E-Mail-History (cross-module)
GET  /consumers/:id/orders      # Bestellungen (wenn shop-modul aktiv)

Cross-Module-Verbindungen

  • Marketing liest Consumers für Newsletter-Empfänger (Marketing-Module)
  • Automation triggert auf Consumer-Events (Automation-Module)
  • Reporting aggregiert Consumer-KPIs (Lead-Conversion, etc.)

Beispiel: Lead-Pipeline

# Lead anlegen
ay create consumers "lead@example.com" \
  --set first_name=Anna --set _status=lead

# Task an Sales-Mitarbeiter zuweisen
ay create tasks "Lead Anna anrufen" \
  --set consumer=<consumerId> \
  --set assignedTo=<userId> \
  --set priority=high

# Notiz festhalten
ay create notes \
  --set body="Anna hat Interesse an Premium-Plan" \
  --set targetType=consumers --set targetId=<consumerId>

Siehe auch: Marketing, Automation.