Passa al contenuto principale

Configurazione Script Super Marketing

Questa pagina documenta gli endpoint API per lo script Super Marketing. A differenza degli altri script, il super marketing non viene creato tramite l'endpoint generico POST /api/v1/task — funziona su un set di dati riutilizzabile di destinazioni e dispone di endpoint dedicati.

Panoramica

Una campagna di super marketing combina diverse azioni di crescita (follow, unfollow, segnalazione, DM, boost, commento di massa) in una singola esecuzione su un pool di destinazioni. Il pool di destinazioni è memorizzato come set di dati:

  • Tipo di dati — il set di dati contiene usernames (handle TikTok/Instagram) o post_links (URL dei post).
  • Strategia — controlla come le destinazioni vengono distribuite tra i dispositivi:
    • shared_pool — ogni dispositivo/account selezionato elabora tutte le destinazioni.
    • consume_once — le destinazioni vengono suddivise tra i dispositivi e ciascuna viene consumata una sola volta.

Il flusso tipico è:

  1. Importa le destinazioni in un set di dati → ottieni un dataset_id.
  2. Avvia una campagna che fa riferimento a quel dataset_id su uno o più dispositivi.

Le attivazioni delle funzionalità (follow / DM / commento, ecc.) e le relative impostazioni dettagliate vengono lette dalla configurazione salvata nell'app desktop (super_marketing_settings.json). Puoi sovrascrivere qualsiasi valore per ogni esecuzione passando script_config nella richiesta di avvio.

Requisito Licenza

Tutti gli endpoint di super marketing richiedono un piano Pro, Team o Business, come il resto dell'API Locale.


Importa Set di Dati

Crea un nuovo set di dati o aggiungi destinazioni a uno esistente.

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

Corpo della Richiesta

CampoTipoRichiestoPredefinitoDescrizione
dataset_idintegerNoID del set di dati esistente a cui aggiungere/sostituire. Ometti o usa 0 per creare un nuovo set di dati.
data_typestringusernames o post_links
strategystringshared_pool o consume_once
entriesstring[]Sì*[]Destinazioni come array JSON. Ha priorità su raw_text.
raw_textstringSì*Destinazioni come stringa separata da a capo (alternativa a entries).
modestringNoappendappend aggiunge alle voci esistenti; replace cancella le voci esistenti prima.
labelstringNoEtichetta leggibile opzionale per il set di dati.
note

Fornisci le destinazioni tramite entries o raw_text. Le voci duplicate e vuote vengono ignorate. Una singola importazione è limitata a 100.000 voci.

Esempio

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

Aggiungi altre destinazioni a un set di dati esistente usando testo separato da a capo:

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"
}'

Risposta di Esempio

{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "Campaign A targets",
"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
}
}
}

Elenca Set di Dati

Recupera tutti i set di dati con le statistiche di consumo.

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

Parametri di Query

ParametroTipoPredefinitoDescrizione
data_typestringFiltro opzionale: usernames o post_links

Esempio

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

Risposta di Esempio

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

Ottieni Set di Dati

Recupera le statistiche di un set di dati e una pagina delle sue voci.

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

Parametri di Query

ParametroTipoPredefinitoDescrizione
limitinteger50Voci per pagina (max 500)
offsetinteger0Numero di voci da saltare

Esempio

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

Cancella Set di Dati

Rimuove tutte le voci da un set di dati. Il record del set di dati rimane (e il suo dataset_id rimane valido per importazioni future).

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

Esempio

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

Risposta di Esempio

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

Avvia Campagna

Avvia una campagna di super marketing sui dispositivi specificati, usando le destinazioni di un set di dati.

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

Corpo della Richiesta

CampoTipoRichiestoPredefinitoDescrizione
serialsstring[][]Numeri seriali dei dispositivi su cui eseguire
dataset_idintegerSet di dati le cui destinazioni guidano la campagna
enable_multi_accountbooleanNofalseCrea un'attività per ogni account su ogni dispositivo
merge_same_username_tasksbooleanNofalseRaggruppa tutte le destinazioni di un dispositivo in un'unica attività invece di una per destinazione
platformstringNoOverride della piattaforma (tiktok / instagram). Applicato solo su build multi-piattaforma
min_intervalintegerNo0Minuti minimi tra le ore di inizio delle attività scaglionate
max_intervalintegerNo0Minuti massimi tra le ore di inizio delle attività scaglionate
start_timestringNoOra di inizio della prima attività in formato HH:MM
rotate_proxybooleanNofalseRuota il proxy del dispositivo prima di eseguire
switch_account_methodstringNoCome cambiare account in modalità multi-account (es. profile)
official_packagesstring[]No[]Limita l'esecuzione a questi pacchetti ufficiali (modalità multi-account)
clone_package_prefixstringNoLimita l'esecuzione alle app clone il cui nome inizia con questo prefisso
script_configobjectNoAttivazioni delle funzionalità / impostazioni per funzionalità che sovrascrivono la configurazione salvata nell'app desktop (vedi sotto)
Il tipo di dati viene preso dal set di dati

Non passi data_source_type nella richiesta di avvio — la campagna usa automaticamente il data_type del set di dati (usernames o post_links). I set di dati con link ai post supportano solo le funzionalità boost_posts e mass_comment.

Override di script_config

script_config è facoltativo. Se omesso, la campagna usa le attivazioni delle funzionalità e le impostazioni configurate nell'app desktop. Forniscilo per eseguire una campagna completamente autonoma o per sovrascrivere campi specifici. Le chiavi accettano sia camelCase che snake_case.

CampoTipoDescrizione
access_methodstringCome raggiungere le destinazioni per username: search o direct
features.follow_usersbooleanSegui ogni destinazione
features.unfollow_usersbooleanSmetti di seguire ogni destinazione
features.report_accountbooleanSegnala ogni account di destinazione
features.send_dmbooleanInvia un messaggio diretto a ogni destinazione
features.boost_postsbooleanMetti mi piace / aggiungi ai Preferiti / condividi i post della destinazione
features.mass_commentbooleanCommenta i post della destinazione
follow_settings.boost_typestringfollow o unfollow
dm_settings.message_contentsstringTesto DM (separato da a capo per più varianti)
dm_settings.message_orderstringrandom o sequential
dm_settings.insert_emojibooleanInserisci emoji casuale nel DM
dm_settings.generate_by_chatgptbooleanGenera il DM con ChatGPT
dm_settings.chatgpt_promptstringPrompt usato per generare il DM
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerPost da saltare prima di agire (0–8, solo origine per username)
post_settings.max_posts_countintegerNumero massimo di post da elaborare per destinazione
post_settings.enable_likebooleanMetti mi piace ai post
post_settings.enable_favoritebooleanAggiungi i post ai Preferiti
post_settings.enable_repostbooleanCondividi i post
post_settings.enable_sharebooleanCondividi i post
post_settings.repeat_timesintegerVolte per ripetere le azioni sui post
post_settings.view_durationsinteger[]Secondi [min, max] per guardare ogni post
comment_settings.comment_contentstringTesto del commento (separato da a capo per più varianti)
comment_settings.comment_orderstringrandom o sequential
comment_settings.insert_emojibooleanInserisci emoji casuale nel commento
comment_settings.generate_by_chatgptbooleanGenera il commento con ChatGPT
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeintegerSecondi di attesa prima di terminare (evita la perdita di dati)

Esempi

Esecuzione Minimale (usa le impostazioni salvate nell'app desktop)

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
}'

Campagna Autonoma di Follow + DM

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! Love your content 🙌\nGreat posts, keep it up!",
"message_order": "random",
"insert_emoji": true
}
}
}'

Commento di Massa su un Set di Dati con Link ai Post

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"
}
}
}'

Risposta di Esempio

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

created_count è il numero di attività create. Le attività in attesa vengono quindi eseguite sui dispositivi assegnati come qualsiasi altra attività — monitoral tramite l'API di Gestione Attività.


Risposte di Errore

Stato HTTPCodiceDescrizione
40040001Parametri non validi (bad data_type/strategy, serials vuoto, dataset_id non positivo, script_config non oggetto, o nessuna attività creata)
40340301Vietato — L'accesso all'API richiede il piano Pro+
40440401Set di dati non trovato
50050001Errore interno del server
Nessuna attività creata

Se l'esecuzione restituisce il codice 40001 con un messaggio "No tasks created", verifica che il set di dati abbia ancora destinazioni rimanenti (per la strategia consume_once) e che i dispositivi selezionati siano online.

Vedi Anche