Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Marketing & Outreach — API and MCP

Overview

This area exposes 83 operations. Each of them is at the same time an MCP tool.

This area is behind the module switch module.marketing. With the module off, these operations answer 404.

Operations

MethodPathPurposePermissionParameters
GET/api/v1/marketing/ad-campaignsCollection of MarketingAdCampaignmarketing.ads.viewpage, status, platform, campaignId, q, order[name], order[status], order[startsAt], order[createdAt]
POST/api/v1/marketing/ad-campaignsWerbekampagne als Entwurf anlegen — Legt eine Werbekampagne an. Sie entsteht IMMER als Entwurf und gibt kein Geld aus, bis sie über /activate scharf geschaltet wird. budgetCapCent ist Pflicht — der Deckel ist die einzige Stelle, an der das System Ausgaben begrenzt.marketing.ads.manage+ body
DELETE/api/v1/marketing/ad-campaigns/{ulid}Delete a MarketingAdCampaignmarketing.ads.manageulid
GET/api/v1/marketing/ad-campaigns/{ulid}Read one MarketingAdCampaignmarketing.ads.view · object rule mkt.viewulid
PATCH/api/v1/marketing/ad-campaigns/{ulid}Update a MarketingAdCampaignmarketing.ads.manageulid, + body
POST/api/v1/marketing/ad-campaigns/{ulid}/activateWerbekampagne scharf schalten — Legt die Kampagne beim Netzwerk an (falls noch nicht geschehen) und startet die Auslieferung. Ab hier kostet sie Geld. Verlangt das Freigabe-Recht marketing.ads.publish IN DER MARKE der Kampagne — nicht dasselbe wie Bearbeiten, und nicht dasselbe wie dieses Recht irgendwo zu halten.marketing.ads.publishulid, + body
POST/api/v1/marketing/ad-campaigns/{ulid}/budgetBudget ändern — Setzt Tages- oder Laufzeitbudget. Verlangt marketing.ads.manage IN DER MARKE der Kampagne. Über dem Deckel wird abgelehnt; der Deckel selbst lässt sich nur mit dem Freigabe-Recht marketing.ads.publish in derselben Marke heben.marketing.ads.manageulid, + body
POST/api/v1/marketing/ad-campaigns/{ulid}/pauseWerbekampagne anhalten — Stoppt die Auslieferung sofort. Anhalten darf, wer die Kampagne IN IHRER MARKE bearbeiten darf — Geld sparen ist nie der gefährlichere Weg.marketing.ads.manageulid, + body
GET/api/v1/marketing/ads/reportWerbe-Auswertung — Ausgaben, Klicks, Ergebnisse und die daraus gerechneten Kennzahlen (Klickrate, Kosten je Klick, Kosten je Ergebnis, Werbeausgabenrendite) für einen Zeitraum — je Kampagne und als Summe. Geld je Zeile in der Konto-Währung der Kampagne (currency, spendCent, revenueCent, cpcCent, cpaCent) UND in EUR (spendEurCent, revenueEurCent) über den beim Anlegen eingefrorenen Kurs eurRate (Fremdwährung je 1 EUR). Fremdwährungs-Zeilen ohne Kurs tragen unconverted: true und bleiben ganz aus der Summe (totals.unconvertedRows). Die Summe und ihre Kennzahlen stehen ausschließlich in EUR (totals.currency).marketing.ads.viewfrom, to, campaignUlid, level
POST/api/v1/marketing/aiCreate a MarketingAimarketing.campaign.manage+ body
GET/api/v1/marketing/audiencesCollection of MarketingAudiencemarketing.campaign.managepage, kind, q, order[name], order[createdAt]
POST/api/v1/marketing/audiencesCreate a MarketingAudiencemarketing.campaign.manage+ body
POST/api/v1/marketing/audiences/previewCreate a MarketingAudiencemarketing.campaign.manage+ body
DELETE/api/v1/marketing/audiences/{ulid}Delete a MarketingAudiencemarketing.campaign.manageulid
GET/api/v1/marketing/audiences/{ulid}Read one MarketingAudiencemarketing.campaign.manage · object rule mkt.viewulid
PATCH/api/v1/marketing/audiences/{ulid}Update a MarketingAudiencemarketing.campaign.manageulid, + body
POST/api/v1/marketing/audiences/{ulid}/previewSegmentgröße live berechnen — Rechnet die Größe des Segments live aus und schreibt sie an der Zielgruppe fort (estimatedSize) — die Regel selbst bleibt unberührt. Verlangt marketing.campaign.manage IN DER MARKE der Zielgruppe.marketing.campaign.manageulid, + body
GET/api/v1/marketing/campaignsCollection of MarketingCampaignmarketing.campaign.managepage, q, active, entryMode, ownerId, order[name], order[createdAt]
POST/api/v1/marketing/campaignsStrecke anlegen — Legt die Huelle UND ihre Automation in einem Zug an (die Automation ist die Laufzeit; die Huelle traegt nur den Marketing-Bezug). Die Strecke startet INAKTIV.marketing.campaign.manage+ body
DELETE/api/v1/marketing/campaigns/{ulid}Delete a MarketingCampaignmarketing.campaign.manageulid
GET/api/v1/marketing/campaigns/{ulid}Read one MarketingCampaignmarketing.campaign.manageulid
PATCH/api/v1/marketing/campaigns/{ulid}Update a MarketingCampaignmarketing.campaign.manageulid, + body
POST/api/v1/marketing/campaigns/{ulid}/enrollEmpfänger in die Strecke aufnehmen — Löst das Aufnahme-Ereignis aus (derselbe Weg wie die automatische Aufnahme). Gesperrte Adressen und inaktive Strecken nehmen niemanden auf; ein bereits aufgenommener Empfänger erzeugt keinen zweiten Lauf. NUR für Strecken (entryMode=per_recipient): ein Einmal-Versand wird mit 422 abgewiesen — dort wartet kein Ereignis-Trigger auf die Aufnahme, sie liefe ins Leere.marketing.campaign.manageulid, + body
POST/api/v1/marketing/campaigns/{ulid}/scanZielgruppe jetzt abklappern — Nimmt sofort alle Empfänger der hinterlegten Zielgruppe auf, statt auf den täglichen Lauf zu warten. Idempotent: wer schon in der Strecke ist, kommt nicht erneut hinein. Antwortet mit der Zahl der tatsächlich neu Aufgenommenen (enrolled).marketing.campaign.manageulid, + body
GET/api/v1/marketing/campaigns/{ulid}/statsStatistik je Strecken-Schritt — Zahlen je Schritt-Position (erreicht, versendet, geoeffnet, geklickt) plus die Lauf-Zustaende der Strecke. reached ist KUMULATIV (R43-10): ein Lauf zaehlt an jedem Schritt, den er ausgefuehrt hat oder vor dem er in Bedingungs-Wartung steht — nicht am Schritt, auf dem sein Cursor gerade steht.marketing.campaign.manageulid
POST/api/v1/marketing/campaigns/{ulid}/test-messageTestmail EINER Nachricht der Strecke — Verschickt die Nachricht an der angegebenen Schritt-Position an eine Adresse — mit ihrem eigenen Betreff und ihren eigenen Inhalten, gerendert wie im Versand. Ohne Einwilligungs-Prüfung, ohne Drossel und OHNE Tracking-Zeile: eine Testmail ist eine Ansicht, kein Versand, und dürfte die Zustellquote der Nachricht nicht verschieben. Der Betreff trägt sichtbar [TEST].marketing.campaign.manageulid, + body
GET/api/v1/marketing/consent-topicsCollection of MarketingConsentTopicmarketing.consent.viewpage, brandId, active, q
POST/api/v1/marketing/consent-topicsCreate a MarketingConsentTopicmarketing.consent.manage+ body
DELETE/api/v1/marketing/consent-topics/{ulid}Delete a MarketingConsentTopicmarketing.consent.manageulid
GET/api/v1/marketing/consent-topics/{ulid}Read one MarketingConsentTopicmarketing.consent.view · object rule mkt.viewulid
PATCH/api/v1/marketing/consent-topics/{ulid}Update a MarketingConsentTopicmarketing.consent.manageulid, + body
GET/api/v1/marketing/consentsCollection of MarketingConsentmarketing.consent.viewpage, status, email, q, order[email], order[channel], order[status], order[createdAt]
POST/api/v1/marketing/consentsCreate a MarketingConsentmarketing.consent.manage+ body
GET/api/v1/marketing/consents/{ulid}Read one MarketingConsentmarketing.consent.viewulid
POST/api/v1/marketing/consents/{ulid}/resend-doiBestaetigungsmail erneut senden — Schickt die Double-Opt-in-Mail noch einmal an die Adresse der Einwilligung. Verlangt marketing.consent.manage IN DER MARKE der Einwilligung.marketing.consent.manageulid, + body
POST/api/v1/marketing/consents/{ulid}/withdrawEinwilligung widerrufen — Setzt die Einwilligung auf widerrufen — ab sofort geht an diese Adresse keine Werbung mehr. Verlangt marketing.consent.manage IN DER MARKE der Einwilligung.marketing.consent.manageulid, + body
GET/api/v1/marketing/dashboardCollection of MarketingDashboardmarketing.report.view
GET/api/v1/marketing/dispatch-statusesCollection of DispatchStatusmarketing.campaign.managepage
POST/api/v1/marketing/dispatch-statusesCreate a DispatchStatusmarketing.config.manage+ body
DELETE/api/v1/marketing/dispatch-statuses/{key}Delete a DispatchStatusmarketing.config.managekey
GET/api/v1/marketing/dispatch-statuses/{key}Read one DispatchStatusmarketing.campaign.managekey
PATCH/api/v1/marketing/dispatch-statuses/{key}Update a DispatchStatusmarketing.config.managekey, + body
GET/api/v1/marketing/dispatchesCollection of MarketingDispatchmarketing.campaign.managepage, campaignId, status, q, order[name], order[subject], order[status], order[scheduledAt], order[sentAt], order[createdAt]
POST/api/v1/marketing/dispatchesGeschlossen (410 Gone) — Geschlossen seit Befund R48-076: ein Versandlauf entsteht ausschließlich aus dem Nachrichten-Schritt seiner Kampagne. Antwortet 410 Gone.marketing.campaign.manage+ body
DELETE/api/v1/marketing/dispatches/{ulid}Delete a MarketingDispatchmarketing.campaign.manageulid
GET/api/v1/marketing/dispatches/{ulid}Read one MarketingDispatchmarketing.campaign.manage · object rule mkt.viewulid
PATCH/api/v1/marketing/dispatches/{ulid}Geschlossen (410 Gone) — Geschlossen seit Befund R48-076: Inhalt und Zeitpunkt eines Versandlaufs kommen aus seiner Kampagne. Antwortet 410 Gone.marketing.campaign.manageulid, + body
POST/api/v1/marketing/dispatches/{ulid}/scheduleGeschlossen (410 Gone) — Geschlossen seit Befund R48-076: geplant wird die Kampagne, nicht der einzelne Versandlauf. Antwortet 410 Gone.marketing.campaign.sendulid, + body
POST/api/v1/marketing/dispatches/{ulid}/send-nowGeschlossen (410 Gone) — Geschlossen seit Befund R48-076: ein Sofortversand ohne die Startregeln der Kampagne ging an jeder Prüfung vorbei. Antwortet 410 Gone.marketing.campaign.sendulid, + body
POST/api/v1/marketing/dispatches/{ulid}/testTestmail der Kampagne verschicken — Verschickt eine Testmail der Kampagne an die angegebene Adresse, ohne die Zielgruppe anzufassen.marketing.campaign.manageulid, + body
GET/api/v1/marketing/email-eventsCollection of MarketingEmailEventmarketing.campaign.managepage, dispatchId
GET/api/v1/marketing/email-templatesCollection of MarketingEmailTemplatemarketing.campaign.managepage, q, id, order[name], order[subject], order[createdAt]
POST/api/v1/marketing/email-templatesCreate a MarketingEmailTemplatemarketing.campaign.manage+ body
POST/api/v1/marketing/email-templates/canvasKampagnen-Mail-Baum in den Editor-Canvas rendern — Rendert einen Mail-Baustein-Baum zu vollstaendigem Mail-HTML fuer den Editor-Canvas; der Abmelde-Block wird garantiert (angehaengt, wenn er im Baum fehlt). Persistiert nichts.marketing.campaign.manage+ body
POST/api/v1/marketing/email-templates/previewCreate a MarketingEmailTemplatemarketing.campaign.manage+ body
DELETE/api/v1/marketing/email-templates/{ulid}Delete a MarketingEmailTemplatemarketing.campaign.manageulid
GET/api/v1/marketing/email-templates/{ulid}Read one MarketingEmailTemplatemarketing.campaign.manageulid
PATCH/api/v1/marketing/email-templates/{ulid}Update a MarketingEmailTemplatemarketing.campaign.manageulid, + body
POST/api/v1/marketing/email-templates/{ulid}/previewVorlage zur Ansicht rendern — Rendert die Vorlage zur Ansicht — es wird weder versendet noch gespeichert.marketing.campaign.manageulid, + body
POST/api/v1/marketing/email-templates/{ulid}/test-sendVorlage als Testmail senden — Sendet die Vorlage mit Demo-Empfaengerdaten an EINE Adresse; Betreff mit [Test]-Vorsatz. Transportfehler werden als sent=false gemeldet, nicht als 500.marketing.campaign.manageulid, + body
GET/api/v1/marketing/form-field-targetsErlaubte Ziele der Feldzuordnung — Alle Ziele, die fields[].targetField eines Web-Formulars annehmen darf: Stammdaten-Ziele am Interessenten (lead.*) und die eigenen Felder des Interessenten (cf.<name>).marketing.form.manage
GET/api/v1/marketing/form-submissionsCollection of MarketingFormSubmissionmarketing.submission.viewpage, status, webFormId, order[email], order[status], order[createdAt]
GET/api/v1/marketing/form-submissions/{ulid}Read one MarketingFormSubmissionmarketing.submission.viewulid
POST/api/v1/marketing/form-submissions/{ulid}/convertFormular-Absendung als Lead uebernehmen — Legt aus der Absendung einen Lead an und verknuepft beide. Verlangt marketing.submission.convert IN DER MARKE der Absendung.marketing.submission.convertulid, + body
POST/api/v1/marketing/form-submissions/{ulid}/spamFormular-Absendung als Spam markieren — Markiert die Formular-Absendung als Spam.marketing.submission.spamulid, + body
POST/api/v1/marketing/form-submissions/{ulid}/unspamSpam-Markierung zurücknehmen — Nimmt die Spam-Markierung der Formular-Absendung zurück.marketing.submission.spamulid, + body
GET/api/v1/marketing/link-statsKlickzahlen je Link — Klicks und verschiedene Empfänger je Ziel-Adresse, absteigend nach Klicks und gedeckelt. Genau eine Achse angeben: dispatchUlid (Versandlauf) ODER campaignUlid (Strecke, optional mit stepPosition). clicks zählt jeden Klick, recipients verschiedene Empfänger — zwölf Klicks eines Menschen sind keine zwölffache Nachfrage.marketing.report.viewdispatchUlid, campaignUlid, stepPosition
GET/api/v1/marketing/mail-variablesVerfügbare Platzhalter — Alle Platzhalter einer Marketing-Mail mit Bedeutung, Beispielwert und Herkunft. pattern: true heißt: kein fester Name, sondern eine Form (eigene Felder).marketing.campaign.manage
GET/api/v1/marketing/reportCollection of MarketingReportmarketing.report.viewfrom, to, campaignId
GET/api/v1/marketing/sender-profilesCollection of MarketingSenderProfilemarketing.campaign.managepage, brandId, active, q, order[name], order[createdAt]
POST/api/v1/marketing/sender-profilesCreate a MarketingSenderProfilemarketing.config.manage+ body
DELETE/api/v1/marketing/sender-profiles/{ulid}Delete a MarketingSenderProfilemarketing.config.manageulid
GET/api/v1/marketing/sender-profiles/{ulid}Read one MarketingSenderProfilemarketing.campaign.manage · object rule mkt.viewulid
PATCH/api/v1/marketing/sender-profiles/{ulid}Update a MarketingSenderProfilemarketing.config.manageulid, + body
GET/api/v1/marketing/suppressionsCollection of MarketingSuppressionmarketing.consent.viewpage, email, order[reason], order[createdAt]
POST/api/v1/marketing/suppressionsCreate a MarketingSuppressionmarketing.consent.manage+ body
DELETE/api/v1/marketing/suppressions/{ulid}Sperreintrag aufheben — Nimmt die Adresse von der Sperrliste — sie kann danach wieder beworben werden. Verlangt marketing.consent.manage IN DER MARKE des Eintrags; eine globale Sperre (ohne Marke) verlangt das Recht ueberhaupt.marketing.consent.manageulid
GET/api/v1/marketing/suppressions/{ulid}Read one MarketingSuppressionmarketing.consent.viewulid
GET/api/v1/marketing/web-formsCollection of MarketingWebFormmarketing.form.managepage, active, q, order[name], order[createdAt]
POST/api/v1/marketing/web-formsCreate a MarketingWebFormmarketing.form.manage+ body
DELETE/api/v1/marketing/web-forms/{ulid}Delete a MarketingWebFormmarketing.form.manageulid
GET/api/v1/marketing/web-forms/{ulid}Read one MarketingWebFormmarketing.form.manage · object rule mkt.viewulid
PATCH/api/v1/marketing/web-forms/{ulid}Update a MarketingWebFormmarketing.form.manageulid, + body

Purpose texts that do not follow the standard pattern are taken verbatim from the interface description in the code.

referenz.api-marketing · Available from version 0.5.4