Przejdź do głównej zawartości

Konfiguracja skryptu Super Marketing

Ta strona dokumentuje punkty końcowe API skryptu Super Marketing. W przeciwieństwie do innych skryptów, super marketing nie jest tworzony przez ogólny punkt końcowy POST /api/v1/task — działa na podstawie wielokrotnie używanego zestawu danych celów i ma własne dedykowane punkty końcowe.

Przegląd​

Kampania super marketingu łączy kilka działań wzrostowych (obserwowanie, odsubskrybowanie, zgłaszanie, DM, boost, masowe komentarze) w jednym uruchomieniu na puli celów. Pula celów jest przechowywana jako zestaw danych:

  • Typ danych — zestaw danych zawiera usernames (nazwy użytkowników TikTok/Instagram/Threads) lub post_links (URL postów).
  • Strategia — kontroluje dystrybucję celów między urządzeniami:
    • shared_pool — każde wybrane urządzenie/konto przetwarza wszystkie cele.
    • consume_once — cele są podzielone między urządzenia i każdy jest zużywany raz.

Typowy przebieg:

  1. Importuj cele do zestawu danych → uzyskaj dataset_id.
  2. Uruchom kampanię odwołującą się do dataset_id na jednym lub więcej urządzeniach.

Przełączniki funkcji (obserwowanie / DM / komentarz itp.) są odczytywane z zapisanej konfiguracji aplikacji desktopowej (super_marketing_settings.json). Możesz nadpisać dowolne z nich dla każdego uruchomienia przez script_config.

Threads

Threads obsługuje nawigację po profilu, obserwowanie/cofanie obserwowania, DM (gdzie cel udostępnia przycisk Wiadomość), wyświetlanie postów/polubienie/zapis/repostowanie i komentarze. Udostępnianie przez SMS jest pomijane, ponieważ Threads nie ma równoważnego przepływu. Zgłaszanie kont jest celowo pomijane, ponieważ Threads wymaga ręcznego wyboru powodu zgłoszenia.

Wymaganie licencji

Wszystkie punkty końcowe super marketingu wymagają planu Pro, Team lub Business, podobnie jak reszta Local API.


Import zestawu danych​

Utwórz nowy zestaw danych lub dodaj cele do istniejącego.

  • Punkt końcowy: POST /api/v1/super-marketing/dataset

Treść żądania​

PoleTypWymaganeDomyślneOpis
dataset_idintegerNie—ID istniejącego zestawu danych do dołączenia/zastąpienia. Pomiń lub użyj 0, aby utworzyć nowy.
data_typestringTak—usernames lub post_links
strategystringTak—shared_pool lub consume_once
entriesstring[]Tak*[]Cele jako tablica JSON. Pierwszeństwo nad raw_text.
raw_textstringTak*—Cele jako ciąg oddzielony nową linią (alternatywa dla entries).
modestringNieappendappend dodaje do istniejących wpisów; replace najpierw czyści istniejące.
labelstringNie—Opcjonalna czytelna etykieta zestawu danych.
notatka

Podaj cele przez entries lub raw_text. Duplikaty i puste wpisy są ignorowane. Pojedynczy import jest ograniczony do 100 000 wpisów.

Przykład​

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

Dołącz więcej celów do istniejącego zestawu danych przez tekst:

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

Przykładowa odpowiedź​

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

Lista zestawów danych​

Pobierz wszystkie zestawy danych ze statystykami zużycia.

  • Punkt końcowy: GET /api/v1/super-marketing/datasets

Parametry zapytania​

ParametrTypDomyślnyOpis
data_typestring—Opcjonalny filtr: usernames lub post_links

Przykład​

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

Przykładowa odpowiedź​

{
"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"
}
]
}

Pobierz zestaw danych​

Pobierz statystyki zestawu danych i stronę jego wpisów.

  • Punkt końcowy: GET /api/v1/super-marketing/dataset/{id}

Parametry zapytania​

ParametrTypDomyślnyOpis
limitinteger50Wpisów na stronę (maks. 500)
offsetinteger0Liczba wpisów do pominięcia

Przykład​

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

Wyczyść zestaw danych​

Usuń wszystkie wpisy z zestawu danych. Sam rekord zestawu danych jest zachowywany (a jego dataset_id pozostaje ważny dla przyszłych importów).

  • Punkt końcowy: DELETE /api/v1/super-marketing/dataset/{id}

Przykład​

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

Przykładowa odpowiedź​

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

Uruchom kampanię​

Uruchom kampanię super marketingu na wybranych urządzeniach, używając celów zestawu danych.

  • Punkt końcowy: POST /api/v1/super-marketing/run

Treść żądania​

PoleTypWymaganeDomyślneOpis
serialsstring[]Tak[]Numery seryjne urządzeń
dataset_idintegerTak—Zestaw danych, którego cele napędzają kampanię
enable_multi_accountbooleanNiefalseUtwórz jedno zadanie na konto na każdym urządzeniu
merge_same_username_tasksbooleanNiefalseSpakuj wszystkie cele urządzenia w jedno zadanie
platformstringNie—Nadpisanie platformy (tiktok / instagram)
min_intervalintegerNie0Minimalna liczba minut między stopniowanymi czasami startu
max_intervalintegerNie0Maksymalna liczba minut między stopniowanymi czasami startu
start_timestringNie—Czas startu pierwszego zadania w formacie HH:MM
rotate_proxybooleanNiefalseRotacja proxy urządzenia przed uruchomieniem
switch_account_methodstringNie—Sposób przełączania kont w trybie multi-konto
official_packagesstring[]Nie[]Ogranicz wykonanie do tych oficjalnych pakietów
clone_package_prefixstringNie—Ogranicz wykonanie do sklonowanych aplikacji z tym prefiksem
script_configobjectNie—Nadpisania przełączników funkcji (patrz poniżej)
Typ danych pochodzi z zestawu danych

Nie przekazuj data_source_type w żądaniu uruchomienia — kampania automatycznie używa data_type zestawu danych (usernames lub post_links). Zestawy danych z linkami do postów obsługują tylko funkcje boost_posts i mass_comment.

Nadpisania script_config​

script_config jest opcjonalne. Gdy pominięte, kampania używa przełączników skonfigurowanych w aplikacji desktopowej. Klucze akceptują zarówno camelCase, jak i snake_case.

PoleTypOpis
access_methodstringSposób dostępu do celów: search lub direct
features.follow_usersbooleanObserwuj każdy cel
features.unfollow_usersbooleanPrzestań obserwować każdy cel
features.report_accountbooleanZgłoś każde konto docelowe
features.send_dmbooleanWyślij DM do każdego celu
features.boost_postsbooleanPolub / zapisz / repostuj / udostępnij posty celu
features.mass_commentbooleanKomentuj posty celu
follow_settings.boost_typestringfollow lub unfollow
dm_settings.message_formatstringmultiline (domyślnie) lub spintax — zobacz sekcję o formatach wiadomości poniżej
dm_settings.message_contentsstringTreść DM. W multiline każdy wiersz to osobna wiadomość (### = łamanie wiersza w wiadomości); w spintax cały ciąg to jedna wiadomość (zwykłe łamanie wierszy, grupy {option1|option2}). Obsługuje {username} i {sender_username}.
dm_settings.message_orderstringrandom lub sequential (dotyczy tylko formatu multiline)
dm_settings.insert_emojibooleanWstaw losowe emoji
dm_settings.generate_by_chatgptbooleanGeneruj DM przez ChatGPT
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerPosty do pominięcia (0–8, tylko źródło usernames)
post_settings.max_posts_countintegerMaks. postów do przetworzenia na cel
post_settings.enable_likebooleanPolub posty
post_settings.enable_favoritebooleanDodaj posty do Ulubionych
post_settings.enable_repostbooleanRepostuj posty
post_settings.enable_sharebooleanUdostępnij posty
post_settings.repeat_timesintegerLiczba powtórzeń działań na postach
post_settings.view_durationsinteger[][min, max] sekund oglądania każdego posta
comment_settings.comment_contentstringTekst komentarza (oddzielony nową linią dla wariantów)
comment_settings.comment_orderstringrandom lub sequential
comment_settings.insert_emojibooleanWstaw losowe emoji
comment_settings.generate_by_chatgptbooleanGeneruj komentarz przez ChatGPT
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeintegerSekundy oczekiwania przed zakończeniem

Formaty wiadomości DM​

dm_settings.message_contents jest przetwarzane zgodnie z dm_settings.message_format, tak samo jak opisy postów zgodnie z caption_format:

FormatSzablonyŁamanie wierszyLosowa zmienność
multiline (domyślny)Jeden na każdy niepusty wiersz, wybierany przez message_order### wewnątrz wierszaPomiędzy wierszami, przez message_order
spintaxCały ciąg to jeden szablonZwykłe \n w ciąguGrupy {option1|option2}

{username} i {sender_username} są podstawiane przed rozwiązaniem grup spintax, więc zmienna nigdy nie jest traktowana jako jednoopcyjna grupa spintax.

// multiline
"dm_settings": {
"message_format": "multiline",
"message_contents": "Hey {username}! Love your content 🙌\nHi {username}###Here is a video I made###v.example.com/{username}",
"message_order": "sequential"
}

// spintax
"dm_settings": {
"message_format": "spintax",
"message_contents": "{Hi|Hello} {username}\n\nHere is a video I made\n\nv.example.com/{username}"
}

Przykłady​

Minimalne uruchomienie (użyj zapisanych ustawień)​

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

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

Masowe komentarze na zestawie z linkami do postów​

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

Przykładowa odpowiedź​

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

created_count to liczba utworzonych zadań. Oczekujące zadania są następnie uruchamiane na przypisanych urządzeniach — śledź je przez API Zarządzania Zadaniami.


Odpowiedzi błędów​

Status HTTPKodOpis
40040001Nieprawidłowe parametry (błędny data_type/strategy, puste serials, nieprawidłowy dataset_id, script_config nie jest obiektem lub nie utworzono żadnych zadań)
40340301Zabronione — wymagany plan Pro+
40440401Zestaw danych nie znaleziony
50050001Wewnętrzny błąd serwera
Nie utworzono żadnych zadań

Jeśli uruchomienie zwraca kod 40001 z komunikatem "No tasks created", sprawdź czy zestaw danych ma pozostałe cele (dla strategii consume_once) i czy wybrane urządzenia są online.

Zobacz Również​