SNS충전소

재판매 API 문서

업계 표준 SMM 패널 API v2 규격을 그대로 따릅니다. 다른 패널에 쓰시던 코드가 있다면 주소와 키만 바꾸면 됩니다.

API 키는 로그인 후 내 정보에서 발급받을 수 있습니다. (대행사 등급 이상)

기본 규격

엔드포인트

POST /api/v2
Content-Type: application/x-www-form-urlencoded  (JSON 도 허용)

모든 요청에 key(API 키)와 action이 필요합니다. 통화는 KRW이며 금액은 원 단위입니다.

오류 응답

{ "error": "Invalid API key" }

표준 규격에 맞춰 오류도 HTTP 200 으로 내려갑니다. 응답 본문에 error 키가 있는지로 판단하세요.

액션

상품 목록 action=services

key=<API키>&action=services

→ [
  {
    "service": 12,
    "name": "인스타그램 팔로워 [실제] [30일 리필]",
    "type": "default",
    "category": "인스타그램 팔로워",
    "rate": "2450.00",     // 1,000개당 원
    "min": "50",
    "max": "100000",
    "refill": true,
    "cancel": true,
    "currency": "KRW"
  }
]

주문 생성 action=add

key=<API키>&action=add&service=12&link=https://instagram.com/계정&quantity=1000

# 선택 파라미터
&comments=줄바꿈으로 구분된 댓글     // 댓글 상품
&runs=10&interval=60                // 드립피드 (10회, 60분 간격)
&idempotency_key=<고유값>            // 중복 전송 방지 (권장)

→ { "order": "260903-00042" }

idempotency_key는 표준 규격에는 없는 확장입니다. 네트워크 오류로 같은 요청을 다시 보내야 할 때 같은 키를 쓰면 주문이 두 번 들어가지 않습니다. 재시도 로직이 있다면 꼭 사용하세요.

상태 조회 action=status

# 단건
key=<API키>&action=status&order=260903-00042
→ { "charge": "2450.00", "start_count": "1200", "status": "In progress", "remains": "300", "currency": "KRW" }

# 묶음 (최대 100건)
key=<API키>&action=status&orders=260903-00042,260903-00043
→ {
  "260903-00042": { "charge": "2450.00", "status": "Completed", "remains": "0", ... },
  "260903-00043": { "error": "Incorrect order ID" }
}

상태값: Pending · In progress · Processing · Completed · Partial · Canceled.
부분 완료(Partial) 시 미달 수량만큼 자동 환불되며, charge는 환불을 뺀 실제 청구액입니다.

잔액 조회 action=balance

key=<API키>&action=balance
→ { "balance": "1250000.00", "currency": "KRW" }

예제

# cURL
curl -X POST https://<도메인>/api/v2 \
  -d "key=$API_KEY" \
  -d "action=add" \
  -d "service=12" \
  -d "link=https://www.instagram.com/incheon_hanryang" \
  -d "quantity=1000" \
  -d "idempotency_key=$(uuidgen)"
// Node.js
const res = await fetch("https://<도메인>/api/v2", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: process.env.PANEL_KEY,
    action: "add",
    service: "12",
    link: "https://www.instagram.com/incheon_hanryang",
    quantity: "1000",
    idempotency_key: crypto.randomUUID(),
  }),
});
const data = await res.json();
if (data.error) throw new Error(data.error);
console.log(data.order);
아직 열지 않은 액션: refill, refill_status, cancel. 호출하면 지원하지 않는다는 오류를 명확히 돌려드립니다. 필요하시면 담당자에게 요청해 주세요.

SNS충전소 재판매 API