슈퍼 마케팅 스크립트 구성
이 페이지에서는 슈퍼 마케팅 스크립트의 API 엔드포인트를 설명합니다. 다른 스크립트와 달리, 슈퍼 마케팅은 일반 POST /api/v1/task 엔드포인트를 통해 생성하지 않습니다 — 재사용 가능한 타겟 데이터셋을 기반으로 실행되며 전용 엔드포인트가 있습니다.
개요
슈퍼 마케팅 캠페인은 타겟 풀에 대해 여러 성장 액션(팔로우, 언팔로우, 신고, DM, 부스트, 대량 댓글)을 한 번에 결합하여 실행합니다. 타겟 풀은 데이터셋으로 저장됩니다:
- 데이터 유형 — 데이터셋에는
usernames(TikTok/Instagram 핸들) 또는post_links(게시물 URL)가 포함됩니다. - 전략 — 타겟을 기기에 배분하는 방식을 제어합니다:
shared_pool— 선택한 모든 기기/계정이 모든 타겟을 처리합니다.consume_once— 타겟을 기기 간에 분할하여 각 타겟을 한 번만 처리합니다.
일반적인 흐름:
- 타겟을 데이터셋에 가져오기 →
dataset_id획득. dataset_id를 참조하는 캠페인을 하나 이상의 기기에서 실행.
기능 토글(팔로우 / DM / 댓글 등)과 세부 설정은 데스크톱 앱의 저장된 구성(super_marketing_settings.json)에서 읽어옵니다. 실행 요청에 script_config를 전달하여 실행별로 오버라이드할 수 있습니다.
라이선스 요구 사항
모든 슈퍼 마케팅 엔드포인트는 로컬 API의 나머지 엔드포인트와 마찬가지로 Pro, Team, 또는 Business 플랜이 필요합니다.
데이터셋 가져오기
새 데이터셋을 만들거나 기존 데이터셋에 타겟을 추가합니다.
- 엔드포인트:
POST /api/v1/super-marketing/dataset
요청 본문
| 필드 | 유형 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| dataset_id | integer | No | — | 추가/교체할 기존 데이터셋 ID. 새로 만들려면 생략하거나 0 사용. |
| data_type | string | Yes | — | usernames 또는 post_links |
| strategy | string | Yes | — | shared_pool 또는 consume_once |
| entries | string[] | Yes* | [] | JSON 배열로 된 타겟. raw_text보다 우선 적용됩니다. |
| raw_text | string | Yes* | — | 줄바꿈으로 구분된 타겟 문자열(entries의 대안). |
| mode | string | No | append | append는 기존 항목에 추가; replace는 기존 항목을 먼저 지움. |
| label | string | No | — | 데이터셋의 선택적 레이블. |
노트
타겟은 entries 또는 raw_text 중 하나로 제공하세요. 중복 및 빈 항목은 무시됩니다. 단일 가져오기는 최대 100,000개 항목으로 제한됩니다.
예제
curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "캠페인 A 타겟",
"entries": ["@user_one", "@user_two", "@user_three"]
}'
줄바꿈으로 구분된 텍스트로 기존 데이터셋에 더 많은 타겟 추가:
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"
}'
응답 예제
{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "캠페인 A 타겟",
"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
}
}
}