본문으로 건너뛰기
4SNS PLUS

SMM 패널 API 문서

표준 SMM 패널 API v2로 텔레그램 봇이나 내 패널에서 4SNS PLUS 서비스를 주문하세요.

SMM 패널 API란?

SMM 패널 API는 웹사이트 화면을 거치지 않고 프로그램에서 서비스 목록을 받고, 주문을 넣고, 진행 상태와 잔액을 확인하는 연결 방법이에요. 4SNS PLUS는 많은 패널과 봇이 쓰는 표준 SMM 패널 API v2 형식을 그대로 지원해서, 이미 다른 패널에 연결해 둔 코드도 주소와 키만 바꾸면 바로 쓸 수 있어요.

API의 가격과 잔액은 웹사이트와 같아요. services 응답의 rate는 가격표의 1,000개당 가격(미국 달러)과 같은 값이고, add로 넣은 주문은 웹에서 넣은 주문과 똑같이 잔액에서 빠지고 회원 화면 주문 내역에도 보여요. 취소나 부분 완료로 돌아온 금액도 같은 잔액으로 들어와요.

기본 정보

엔드포인트https://4snsplus.com/api/v2
메서드POST
보내는 형식폼 필드(application/x-www-form-urlencoded, multipart) 또는 JSON 본문
응답JSON, 오류도 HTTP 200에 error 필드로
인증모든 요청에 key 파라미터(내 API 키)
요청 한도키당 1분에 300회
통화미국 달러(USD)

요청 예시

curl -X POST https://4snsplus.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=balance
import requests

r = requests.post("https://4snsplus.com/api/v2", data={
    "key": "YOUR_API_KEY",
    "action": "add",
    "service": 2210,
    "link": "https://t.me/yourchannel",
    "quantity": 1000,
})
print(r.json())  # {"order": 31877} or {"error": "..."}

API 키는 어떻게 받나요?

API 키는 첫 충전이 잔액에 반영된 뒤 회원 화면의 API 키 메뉴에서 만들 수 있어요. 키는 만들 때 한 번만 보여 드리니 안전한 곳에 저장해 주세요. 새 키를 만들면 이전 키는 바로 쓸 수 없게 돼요.

키는 계정 토큰과 별개라서, 봇이나 서버에는 API 키만 넣고 계정 토큰은 넣지 마세요. 키가 노출됐다고 생각되면 API 키 화면에서 새로 만들면 돼요.

서비스 목록 (services)

주문할 수 있는 모든 서비스를 돌려줘요. rate는 1,000개당 가격(USD)이고, type이 Package이면 패키지 1개 가격이에요. type이 Custom Comments이면 수량 대신 댓글 목록을 보내요. category는 플랫폼 이름과 묶음 이름이에요.

파라미터설명
key내 API 키
actionservices

응답 예시

[
  {
    "service": 2210,
    "name": "Members - 30 Days Non Drop - 30 Days Refill",
    "type": "Default",
    "category": "Telegram - Members (30 Days Non Drop)",
    "rate": "1.4300",
    "min": "100",
    "max": "50000",
    "refill": true,
    "cancel": false
  }
]

주문 넣기 (add)

주문을 넣고 금액만큼 잔액에서 빼요. 금액은 1,000개당 가격에 수량을 곱한 값이고, Package는 패키지 가격, Custom Comments는 댓글 줄 수가 수량이에요. 첫 충전이 반영된 계정에서만 주문할 수 있어요. 응답의 order는 주문 번호예요.

파라미터설명
key내 API 키
actionadd
service서비스 번호(services의 service)
link공개 링크. 텔레그램은 t.me/이름, 비공개 초대 링크 t.me/+코드, 게시물 t.me/이름/123, 봇 t.me/봇이름. @이름도 받아요
quantity수량(최소~최대 안). Package와 Custom Comments는 보내지 않아도 돼요
commentsCustom Comments 전용. 한 줄에 댓글 하나, 최대 10,000줄, 한 줄 500자까지

응답 예시

{
  "order": 31877
}

주문 상태 (status)

주문 하나의 상태예요. charge는 환불을 뺀 실제 결제 금액(USD, 소수 6자리), start_count는 시작할 때의 숫자, remains는 아직 제공되지 않은 수량이에요.

파라미터설명
key내 API 키
actionstatus
order주문 번호

응답 예시

{
  "charge": "1.430000",
  "start_count": "8120",
  "status": "In progress",
  "remains": "410",
  "currency": "USD"
}

여러 주문 상태 (status, orders)

주문 번호를 쉼표로 이어 최대 100개까지 한 번에 확인해요. 내 계정의 주문이 아니거나 없는 번호는 그 자리에 error가 와요.

파라미터설명
key내 API 키
actionstatus
orders주문 번호 목록, 예: 1,10,100

응답 예시

{
  "1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
  "10": { "error": "Incorrect order ID" }
}

리필 요청 (refill)

리필 기간이 있는 서비스의 주문이 완료나 부분 완료로 끝났을 때, 끝난 시점부터 리필 기간 안에서 요청해요. 열린 요청은 주문당 하나, 요청 사이에는 24시간 간격이 필요해요.

파라미터설명
key내 API 키
actionrefill
order주문 번호

응답 예시

{
  "refill": 512
}

리필 상태 (refill_status)

리필 요청 하나의 상태예요.

파라미터설명
key내 API 키
actionrefill_status
refill리필 번호(refill 응답의 refill)

응답 예시

{
  "status": "Completed"
}

잔액 (balance)

내 잔액(USD, 소수 6자리)이에요.

파라미터설명
key내 API 키
actionbalance

응답 예시

{
  "balance": "84.120000",
  "currency": "USD"
}

주문 상태 값

Pending접수됨. 전달 중이거나 시작을 기다리는 중, 또는 운영자가 전달 결과를 확인하는 중
In progress제공 중
Completed모두 제공됨
Partial일부만 제공됨. 제공되지 않은 만큼 잔액으로 환불
Canceled제공되지 않음. 전액 잔액으로 환불

리필 상태 값

Pending리필 요청이 접수됨
In progress리필 제공 중
Completed리필이 제공됨
Rejected리필 요청이 받아들여지지 않음

오류 메시지

오류는 HTTP 200 응답에 error 필드가 담긴 JSON으로 와요. 코드에서는 error 필드가 있는지 먼저 확인해 주세요.

{
  "error": "Not enough funds on balance"
}
Invalid API key키가 없거나 틀렸거나 새 키로 바뀜
Too many requests1분에 300회를 넘김. 잠시 뒤 다시 요청
Incorrect actionaction 값이 위 목록에 없음
Add funds first첫 충전이 아직 반영되지 않은 계정의 주문
Incorrect service ID그 번호로 주문할 수 있는 서비스가 없음
Incorrect link링크가 비었거나 웹 주소 형식이 아님
Quantity out of range최소 수량보다 적거나 최대 수량보다 많음
Incorrect commentsCustom Comments 댓글이 비었거나 10,000줄, 한 줄 500자를 넘김
Not enough funds on balance잔액이 주문 금액보다 적음. 충전 후 다시 주문
Incorrect order ID내 계정에 그 주문 번호가 없음
Refill is not available for this service리필 기간이 없는 서비스
Order is not finished yet주문이 완료나 부분 완료가 된 뒤에 리필 가능
Refill period has ended주문이 끝난 시점부터 센 리필 기간이 지남
Refill already requested이 주문에 열린 리필 요청이 있음
Refill already requested, try again later마지막 요청 뒤 24시간이 지나지 않음
Incorrect refill ID내 계정에 그 리필 번호가 없음

텔레그램 봇에 SMM 패널 API를 연결하려면?

1. 서비스 목록을 저장하세요

services를 하루 몇 번 불러 서비스 번호, 이름, rate, min, max를 내 데이터에 저장해요. 손님에게 보여 줄 가격은 rate에 내 마진을 더해 계산하고, 주문할 때는 저장한 service 번호를 그대로 써요.

2. 주문 전에 수량과 링크를 확인하세요

quantity가 min과 max 사이인지, 링크가 t.me 형식인지 먼저 확인하면 Quantity out of range나 Incorrect link 오류를 줄일 수 있어요. 잔액은 balance로 미리 확인해 두면 좋아요.

3. 상태는 모아서 확인하세요

진행 중인 주문은 orders 파라미터로 100개씩 묶어 몇 분에 한 번 확인하세요. 키당 1분에 300회 한도 안에서 여유 있게 쓸 수 있어요. Completed, Partial, Canceled가 되면 손님에게 결과를 알려 주세요.

4. 리필은 끝난 주문에만

리필 서비스 주문이 Completed나 Partial이 되면 refill을 보낼 수 있어요. 응답으로 받은 refill 번호를 저장해 두고 refill_status로 진행을 확인해요.