Zum Hauptinhalt springen

Super-Marketing-Skript-Konfiguration

Diese Seite dokumentiert die API-Endpunkte für das Super-Marketing-Skript. Im Gegensatz zu anderen Skripten wird Super-Marketing nicht über den generischen Endpunkt POST /api/v1/task erstellt — es basiert auf einem wiederverwendbaren Datensatz von Zielen mit eigenen dedizierten Endpunkten.

Übersicht

Eine Super-Marketing-Kampagne kombiniert mehrere Wachstumsaktionen (Folgen, Entfolgen, Melden, DM, Boosten, Massen-Kommentar) in einem einzigen Durchlauf über einen Pool von Zielen. Der Ziel-Pool wird als Datensatz gespeichert:

  • Datentyp — der Datensatz enthält entweder usernames (TikTok-/Instagram-Handles) oder post_links (Beitrags-URLs).
  • Strategie — steuert, wie Ziele auf Ihre Geräte verteilt werden:
    • shared_pool — jedes ausgewählte Gerät/Konto verarbeitet alle Ziele.
    • consume_once — Ziele werden auf Geräte aufgeteilt und jedes nur einmal verbraucht.

Der typische Ablauf ist:

  1. Importieren Sie Ziele in einen Datensatz → erhalten Sie eine dataset_id.
  2. Starten Sie eine Kampagne, die diese dataset_id auf einem oder mehreren Geräten referenziert.

Feature-Schalter (Folgen / DM / Kommentar usw.) und deren Detaileinstellungen werden aus der gespeicherten Desktop-App-Konfiguration (super_marketing_settings.json) gelesen. Sie können diese pro Kampagne durch Übergabe von script_config in der Run-Anfrage überschreiben.

Lizenzanforderung

Alle Super-Marketing-Endpunkte erfordern einen Pro-, Team- oder Business-Plan, wie der Rest der lokalen API.


Datensatz importieren

Einen neuen Datensatz erstellen oder Ziele einem vorhandenen hinzufügen.

  • Endpunkt: POST /api/v1/super-marketing/dataset

Anfragekörper

FeldTypErforderlichStandardBeschreibung
dataset_idintegerNoVorhandene Datensatz-ID zum Anhängen/Ersetzen. Weglassen oder 0 für neuen Datensatz.
data_typestringYesusernames oder post_links
strategystringYesshared_pool oder consume_once
entriesstring[]Yes*[]Ziele als JSON-Array. Hat Vorrang vor raw_text.
raw_textstringYes*Ziele als zeilengetrennte Zeichenkette (Alternative zu entries).
modestringNoappendappend fügt zu vorhandenen Einträgen hinzu; replace löscht vorhandene Einträge zuerst.
labelstringNoOptionale, lesbare Bezeichnung für den Datensatz.
hinweis

Geben Sie Ziele entweder über entries oder raw_text an. Doppelte und leere Einträge werden ignoriert. Ein einzelner Import ist auf 100.000 Einträge begrenzt.

Beispiel

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Kampagne A Ziele",
"entries": ["@user_one", "@user_two", "@user_three"]
}'

Weitere Ziele an einen vorhandenen Datensatz als zeilengetrennte Zeichenkette anhängen:

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"dataset_id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"mode": "append",
"raw_text": "@user_four\n@user_five\n@user_six"
}'

Beispielantwort

{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Kampagne A Ziele",
"total": 3,
"consumed": 0,
"remaining": 3,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:00:00"
},
"entries": [
{ "id": 1, "value": "@user_one", "consumed": false, "consumed_by": null, "consumed_at": null, "created_at": "2026-06-22 09:00:00", "updated_at": "2026-06-22 09:00:00" }
]
},
"summary": {
"inserted": 3,
"duplicates": 0,
"skipped_empty": 0,
"removed": 0,
"truncated": 0
}
}
}

Datensätze auflisten

Alle Datensätze mit Verbrauchsstatistiken abrufen.

  • Endpunkt: GET /api/v1/super-marketing/datasets

Abfrageparameter

ParameterTypStandardBeschreibung
data_typestringOptionaler Filter: usernames oder post_links

Beispiel

curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"

Beispielantwort

{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Kampagne A Ziele",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}

Datensatz abrufen

Statistiken eines Datensatzes und eine Seite seiner Einträge abrufen.

  • Endpunkt: GET /api/v1/super-marketing/dataset/{id}

Abfrageparameter

ParameterTypStandardBeschreibung
limitinteger50Einträge pro Seite (max 500)
offsetinteger0Anzahl der zu überspringenden Einträge

Beispiel

curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"

Datensatz leeren

Alle Einträge aus einem Datensatz entfernen. Der Datensatz-Datensatz selbst bleibt erhalten (und seine dataset_id ist für zukünftige Importe weiterhin gültig).

  • Endpunkt: DELETE /api/v1/super-marketing/dataset/{id}

Beispiel

curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7

Beispielantwort

{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}

Kampagne starten

Eine Super-Marketing-Kampagne auf den angegebenen Geräten starten, unter Verwendung der Ziele eines Datensatzes.

  • Endpunkt: POST /api/v1/super-marketing/run

Anfragekörper

FeldTypErforderlichStandardBeschreibung
serialsstring[]Yes[]Geräteseriennummern, auf denen die Kampagne ausgeführt werden soll
dataset_idintegerYesDatensatz, dessen Ziele die Kampagne steuern
enable_multi_accountbooleanNofalseEine Aufgabe pro Konto auf jedem Gerät erstellen
merge_same_username_tasksbooleanNofalseAlle Ziele eines Geräts in eine Aufgabe packen statt einer Aufgabe pro Ziel
platformstringNoPlattform-Override (tiktok / instagram). Wird nur bei Multi-Plattform-Builds berücksichtigt
min_intervalintegerNo0Mindestminuten zwischen gestaffelten Aufgaben-Startzeiten
max_intervalintegerNo0Maximalminuten zwischen gestaffelten Aufgaben-Startzeiten
start_timestringNoStartzeit der ersten Aufgabe im Format HH:MM
rotate_proxybooleanNofalseGeräte-Proxy vor dem Ausführen rotieren
switch_account_methodstringNoMethode zum Kontowechsel im Multi-Account-Modus (z.B. profile)
official_packagesstring[]No[]Ausführung auf diese offiziellen Pakete beschränken (Multi-Account-Modus)
clone_package_prefixstringNoAusführung auf Klon-Apps beschränken, deren Paketname mit diesem Präfix beginnt
script_configobjectNoFeature-Schalter / Pro-Feature-Einstellungen, die die Desktop-gespeicherte Konfiguration überschreiben (siehe unten)
Datentyp wird aus dem Datensatz übernommen

Sie übergeben data_source_type nicht in der Run-Anfrage — die Kampagne verwendet automatisch den data_type des Datensatzes (usernames oder post_links). Post-Link-Datensätze unterstützen nur die Funktionen boost_posts und mass_comment.

script_config-Überschreibungen

script_config ist optional. Wenn weggelassen, verwendet die Kampagne die in der Desktop-App konfigurierten Feature-Schalter und Einstellungen. Geben Sie es an, um eine vollständig eigenständige Kampagne auszuführen oder bestimmte Felder zu überschreiben. Schlüssel akzeptieren sowohl camelCase als auch snake_case.

FeldTypBeschreibung
access_methodstringWie Benutzernamen-Ziele erreicht werden: search oder direct
features.follow_usersbooleanJedes Ziel folgen
features.unfollow_usersbooleanJedem Ziel entfolgen
features.report_accountbooleanJedes Ziel-Konto melden
features.send_dmbooleanEine Direktnachricht an jedes Ziel senden
features.boost_postsbooleanBeiträge des Ziels liken / favorisieren / reposten / teilen
features.mass_commentbooleanBeiträge des Ziels kommentieren
follow_settings.boost_typestringfollow oder unfollow
dm_settings.message_contentsstringDM-Text (zeilengetrennt für mehrere Varianten)
dm_settings.message_orderstringrandom oder sequential
dm_settings.insert_emojibooleanZufälliges Emoji in die DM einfügen
dm_settings.generate_by_chatgptbooleanDM mit ChatGPT generieren
dm_settings.chatgpt_promptstringPrompt für die DM-Generierung
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerBeiträge, die vor der Aktion übersprungen werden (0–8, nur Benutzernamen-Quelle)
post_settings.max_posts_countintegerMaximale Beiträge pro Ziel
post_settings.enable_likebooleanBeiträge liken
post_settings.enable_favoritebooleanBeiträge zu Favoriten hinzufügen
post_settings.enable_repostbooleanBeiträge reposten
post_settings.enable_sharebooleanBeiträge teilen
post_settings.repeat_timesintegerWie oft die Beitragsaktionen wiederholt werden
post_settings.view_durationsinteger[][min, max] Sekunden zum Ansehen jedes Beitrags
comment_settings.comment_contentstringKommentar-Text (zeilengetrennt für mehrere Varianten)
comment_settings.comment_orderstringrandom oder sequential
comment_settings.insert_emojibooleanZufälliges Emoji in den Kommentar einfügen
comment_settings.generate_by_chatgptbooleanKommentar mit ChatGPT generieren
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeintegerSekunden Wartezeit vor dem Beenden (verhindert Datenverlust)

Beispiele

Minimaler Start (Desktop-gespeicherte Einstellungen verwenden)

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"dataset_id": 7
}'

Eigenständige Folgen + DM-Kampagne

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 7,
"enable_multi_account": true,
"min_interval": 1,
"max_interval": 3,
"script_config": {
"access_method": "search",
"features": {
"follow_users": true,
"send_dm": true
},
"follow_settings": { "boost_type": "follow" },
"dm_settings": {
"message_contents": "Hey! Tolle Inhalte 🙌\nSuper Posts, weiter so!",
"message_order": "random",
"insert_emoji": true
}
}
}'

Massen-Kommentar auf einem Post-Link-Datensatz

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 9,
"merge_same_username_tasks": true,
"script_config": {
"features": { "mass_comment": true },
"comment_settings": {
"comment_content": "🔥🔥🔥\nAmazing!\nLove this",
"comment_order": "random"
}
}
}'

Beispielantwort

{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}

created_count ist die Anzahl der erstellten Aufgaben. Die ausstehenden Aufgaben werden dann wie jede andere Aufgabe auf den zugewiesenen Geräten ausgeführt — verfolgen Sie sie über die Task-Management-API.


Fehlerantworten

HTTP-StatusCodeBeschreibung
40040001Ungültige Parameter (falscher data_type/strategy, leere serials, nicht-positive dataset_id, kein Objekt script_config, oder keine Aufgaben erstellt)
40340301Verboten — API-Zugriff erfordert Pro+-Plan
40440401Datensatz nicht gefunden
50050001Interner Serverfehler
Keine Aufgaben erstellt

Wenn der Start Code 40001 mit der Meldung „No tasks created" zurückgibt, prüfen Sie, ob der Datensatz noch verbleibende Ziele hat (bei consume_once-Strategie) und ob die ausgewählten Geräte online sind.

Siehe auch