리셀러 프로그램 작동 방식
신청부터 내 브랜드로 판매하기까지 세 단계면 됩니다.
-
신청하기
사업 내용, 판매 방식, 매달 예상하는 지출을 알려 주세요.
-
승인받기
모든 신청은 담당자가 직접 검토하고 할인율과 한도를 정합니다. 진행 상황은 계정에서 확인하세요.
-
내 브랜드로 판매하기
고객 참조값과 함께 API로 구매하세요. 할인은 모든 번호에 적용되며, 코드가 오지 않은 번호는 환불됩니다.
내 브랜드로 번호 판매
나만의 상점, 봇, 앱을 운영하고 모든 번호를 우리 API로 구매하세요. 고객은 내 브랜드, 내 가격, 내 지원을 보게 됩니다.
-
오직 내 브랜드
번호와 코드는 내 제품을 통해 고객에게 전달됩니다. 우리가 고객에게 연락하는 일은 없습니다.
-
리셀러 할인
승인된 리셀러는 월간 구매량과 관계없이 모든 번호에 고정 할인을 받습니다.
-
고객별 추적
구매마다 나만의 고객 참조값을 붙이고, 그 값으로 필터링하고 보고서를 만드세요.
-
월간 명세서
일별, 고객별, 서비스별 청구, 환불, 절약액을 회계용 CSV 내보내기와 함께 제공합니다.
-
알맞은 한도
동시에 활성화되는 번호 수와 일일 지출 한도를 이용량에 맞게 설정해 드립니다.
-
자동 환불
코드가 없으면 요금도 없습니다. 사용하지 않은 번호는 잔액으로 돌아오므로 고객에게도 같은 방식으로 환불할 수 있습니다.
이미 아는 API 그대로
서명된 웹훅이 있는 REST, 또는 기존 패널과 봇을 위한 sms-activate 프로토콜. 구매마다 고객 참조값만 추가하면 됩니다.
-
REST API와 호환 엔드포인트의 모든 구매에
customer_ref지정 - 일별, 고객별, 서비스별 JSON 및 CSV 명세서
- API가 돌려주는 모든 가격표에 내 전용 가격 반영
curl
curl -s -X POST \
https://smsgrab.com/api/dev/v1/activations \
-H "Authorization: Bearer $SMSGRAB_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"service": "whatsapp",
"country": "indonesia",
"customer_ref": "shop-4821"
}'
Python
activation = requests.post(
"https://smsgrab.com/api/dev/v1/activations",
headers={
"Authorization": f"Bearer {key}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"service": "whatsapp",
"country": "indonesia",
"customer_ref": customer.ref,
},
timeout=30,
).json()
Node.js
const url = 'https://smsgrab.com/api/dev/v1/activations';
const activation = await fetch(url, {
method: 'POST',
headers: {
Authorization: `Bearer ${key}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({
service: 'whatsapp',
country: 'indonesia',
customer_ref: customer.ref,
}),
}).then((response) => response.json());
PHP
$activation = json_decode((string) $client->post('activations', [
'json' => [
'service' => 'whatsapp',
'country' => 'indonesia',
'customer_ref' => $customer->ref,
],
'headers' => ['Idempotency-Key' => bin2hex(random_bytes(16))],
])->getBody(), true);
Go
order := map[string]any{
"service": "whatsapp",
"country": "indonesia",
"customer_ref": customer.Ref,
}
err := call("POST", "/activations", order, idempotencyKey(), &activation)
{
"id": "5c1d0c2e-9f3a-4b7e-8a61-2f0c9d4e7b10",
"status": "WAITING_SMS",
"phone_number": "+6281234567890",
"price_minor": 17,
"currency": "USD",
"expires_at": "2026-09-27T10:25:00.000Z",
"customer_ref": "shop-4821"
}
대량 구매 관련 질문
더 많은 답변은 고객센터
모든 번호에 할인이 전부 적용되나요?
거의 항상 그렇습니다. 아주 저렴한 일부 번호에는 최저 가격이 있어 할인 폭이 작을 수 있습니다. 구매 전에 보이는 가격이 항상 실제 결제 금액입니다.
등급과 리셀러 할인은 무엇이 다른가요?
등급은 이용량에 따라 바뀝니다. 승인된 리셀러는 우리와 합의한 고정 할인을 받습니다. 항상 둘 중 더 큰 쪽이 적용됩니다.
고객별 구매는 어떻게 추적하나요?
API로 구매할 때마다 고객 참조값을 함께 보내세요. 그러면 명세서가 청구와 환불을 고객별로 묶어 보여 주고, CSV 내보내기에도 포함됩니다.
고객에게 SmsGrab이 보이나요?
아니요. 고객은 내 제품을 사용하고, 번호와 코드도 그 제품을 통해 전달됩니다. 우리는 고객에게 연락하지 않습니다.
프로모션 코드와 추천 크레딧을 계속 쓸 수 있나요?
네. 크레딧은 평소처럼 잔액에 추가되며, 그 잔액으로 결제하는 모든 번호에 할인이 적용됩니다.