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) lubpost_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:
- Importuj cele do zestawu danych → uzyskaj
dataset_id. - Uruchom kampanię odwołującą się do
dataset_idna 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 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.
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
| Pole | Typ | Wymagane | Domyślne | Opis |
|---|---|---|---|---|
| dataset_id | integer | Nie | — | ID istniejącego zestawu danych do dołączenia/zastąpienia. Pomiń lub użyj 0, aby utworzyć nowy. |
| data_type | string | Tak | — | usernames lub post_links |
| strategy | string | Tak | — | shared_pool lub consume_once |
| entries | string[] | Tak* | [] | Cele jako tablica JSON. Pierwszeństwo nad raw_text. |
| raw_text | string | Tak* | — | Cele jako ciąg oddzielony nową linią (alternatywa dla entries). |
| mode | string | Nie | append | append dodaje do istniejących wpisów; replace najpierw czyści istniejące. |
| label | string | Nie | — | Opcjonalna czytelna etykieta zestawu danych. |
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
| Parametr | Typ | Domyślny | Opis |
|---|---|---|---|
| data_type | string | — | 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
| Parametr | Typ | Domyślny | Opis |
|---|---|---|---|
| limit | integer | 50 | Wpisów na stronę (maks. 500) |
| offset | integer | 0 | Liczba 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
| Pole | Typ | Wymagane | Domyślne | Opis |
|---|---|---|---|---|
| serials | string[] | Tak | [] | Numery seryjne urządzeń |
| dataset_id | integer | Tak | — | Zestaw danych, którego cele napędzają kampanię |
| enable_multi_account | boolean | Nie | false | Utwórz jedno zadanie na konto na każdym urządzeniu |
| merge_same_username_tasks | boolean | Nie | false | Spakuj wszystkie cele urządzenia w jedno zadanie |
| platform | string | Nie | — | Nadpisanie platformy (tiktok / instagram) |
| min_interval | integer | Nie | 0 | Minimalna liczba minut między stopniowanymi czasami startu |
| max_interval | integer | Nie | 0 | Maksymalna liczba minut między stopniowanymi czasami startu |
| start_time | string | Nie | — | Czas startu pierwszego zadania w formacie HH:MM |
| rotate_proxy | boolean | Nie | false | Rotacja proxy urządzenia przed uruchomieniem |
| switch_account_method | string | Nie | — | Sposób przełączania kont w trybie multi-konto |
| official_packages | string[] | Nie | [] | Ogranicz wykonanie do tych oficjalnych pakietów |
| clone_package_prefix | string | Nie | — | Ogranicz wykonanie do sklonowanych aplikacji z tym prefiksem |
| script_config | object | Nie | — | Nadpisania przełączników funkcji (patrz poniżej) |
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.
| Pole | Typ | Opis |
|---|---|---|
| access_method | string | Sposób dostępu do celów: search lub direct |
| features.follow_users | boolean | Obserwuj każdy cel |
| features.unfollow_users | boolean | Przestań obserwować każdy cel |
| features.report_account | boolean | Zgłoś każde konto docelowe |
| features.send_dm | boolean | Wyślij DM do każdego celu |
| features.boost_posts | boolean | Polub / zapisz / repostuj / udostępnij posty celu |
| features.mass_comment | boolean | Komentuj posty celu |
| follow_settings.boost_type | string | follow lub unfollow |
| dm_settings.message_format | string | multiline (domyślnie) lub spintax — zobacz sekcję o formatach wiadomości poniżej |
| dm_settings.message_contents | string | Treść 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_order | string | random lub sequential (dotyczy tylko formatu multiline) |
| dm_settings.insert_emoji | boolean | Wstaw losowe emoji |
| dm_settings.generate_by_chatgpt | boolean | Generuj DM przez ChatGPT |
| dm_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| post_settings.skip_posts_count | integer | Posty do pominięcia (0–8, tylko źródło usernames) |
| post_settings.max_posts_count | integer | Maks. postów do przetworzenia na cel |
| post_settings.enable_like | boolean | Polub posty |
| post_settings.enable_favorite | boolean | Dodaj posty do Ulubionych |
| post_settings.enable_repost | boolean | Repostuj posty |
| post_settings.enable_share | boolean | Udostępnij posty |
| post_settings.repeat_times | integer | Liczba powtórzeń działań na postach |
| post_settings.view_durations | integer[] | [min, max] sekund oglądania każdego posta |
| comment_settings.comment_content | string | Tekst komentarza (oddzielony nową linią dla wariantów) |
| comment_settings.comment_order | string | random lub sequential |
| comment_settings.insert_emoji | boolean | Wstaw losowe emoji |
| comment_settings.generate_by_chatgpt | boolean | Generuj komentarz przez ChatGPT |
| comment_settings.chatgpt_settings | object | { url, api_key, model, system_prompt } |
| task_finish_wait_time | integer | Sekundy 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:
| Format | Szablony | Łamanie wierszy | Losowa zmienność |
|---|---|---|---|
multiline (domyślny) | Jeden na każdy niepusty wiersz, wybierany przez message_order | ### wewnątrz wiersza | Pomiędzy wierszami, przez message_order |
spintax | Cały ciąg to jeden szablon | Zwykłe \n w ciągu | Grupy {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 HTTP | Kod | Opis |
|---|---|---|
| 400 | 40001 | Nieprawidłowe parametry (błędny data_type/strategy, puste serials, nieprawidłowy dataset_id, script_config nie jest obiektem lub nie utworzono żadnych zadań) |
| 403 | 40301 | Zabronione — wymagany plan Pro+ |
| 404 | 40401 | Zestaw danych nie znaleziony |
| 500 | 50001 | Wewnętrzny błąd serwera |
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ż
- Przegląd Lokalnego API - Przegląd API i szybki start
- API Zarządzania Zadaniami - Śledzenie i zarządzanie utworzonymi zadaniami
- API statusu kont - Sprawdzanie statusu kont i urządzeń