자신의 휴대폰 번호로 프로그래밍 방식 SMS를 보내고 싶으신가요? 비싼 통신사 API 비용을 지불하는 대신 Android 휴대폰을 SMS 게이트웨이로 사용할 수 있습니다. 그 방법을 알려드립니다.
개념
기존 SMS API(Twilio, MessageBird)는 통신사를 통해 메시지를 라우팅합니다. 전화번호를 임대하고 메시지당 비용과 월별 요금을 지불합니다.
휴대폰 기반 SMS 게이트웨이는 이 개념을 뒤집습니다. 즉, Android 휴대폰이 발신 장치가 됩니다. 서버가 메시지를 대기열에 넣고, 휴대폰이 이를 가져와 SIM 카드를 통해 보냅니다. 자신의 번호를 유지하고 통신사의 SMS 요금을 지불합니다.
필요한 것
- 활성 SIM 카드가 있는 Android 휴대폰(8.0 이상)
- MySMSGate 계정 (무료 생성)
- MySMSGate Android 앱
- 휴대폰용 Wi-Fi 또는 모바일 데이터
1단계: 계정 생성
mysmsgate.net/auth/register로 이동하여 가입하세요. 테스트용으로 10개의 무료 SMS가 제공되며 신용카드 정보는 필요하지 않습니다.
가입 후 대시보드에서 API 키를 확인할 수 있습니다. 앱 및 API 호출에 필요하므로 복사해 두세요.
2단계: Android 앱 설치
Android 휴대폰에 MySMSGate 앱을 다운로드하여 설치하세요:
앱을 열고 게이트웨이 설정으로 이동하여 API 키를 입력하세요. 앱이 서버에 연결되면 대시보드에 "온라인"으로 표시됩니다.
3단계: API를 통해 SMS 보내기
이제 단일 API 호출로 SMS를 보낼 수 있습니다:
cURL
curl -X POST https://mysmsgate.net/api/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"message": "Your appointment is tomorrow at 3 PM"
}'
Python
import requests
response = requests.post(
"https://mysmsgate.net/api/v1/send",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"to": "+1234567890",
"message": "Your appointment is tomorrow at 3 PM"
}
)
print(response.json())
JavaScript (Node.js)
const response = await fetch("https://mysmsgate.net/api/v1/send", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
to: "+1234567890",
message: "Your appointment is tomorrow at 3 PM"
})
});
const data = await response.json();
console.log(data);
PHP
$ch = curl_init("https://mysmsgate.net/api/v1/send");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"to" => "+1234567890",
"message" => "Your appointment is tomorrow at 3 PM"
]),
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($ch);
echo $response;
4단계: 전송 상태 확인
API는 전송 상태를 확인할 수 있는 SMS ID를 반환합니다:
curl https://mysmsgate.net/api/v1/sms?id=SMS_ID \
-H "Authorization: Bearer YOUR_API_KEY"
상태: pending → sending → sent (또는 오류 메시지와 함께 failed).
고급: 듀얼 SIM & 다중 기기
휴대폰에 두 개의 SIM 카드가 있다면, 어느 SIM 카드를 통해 보낼지 선택할 수 있습니다:
curl -X POST https://mysmsgate.net/api/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"message": "Hello!",
"sim_slot": 1
}'
여러 대의 휴대폰을 동일한 계정에 연결하고 특정 기기로 메시지를 라우팅할 수도 있습니다:
{
"to": "+1234567890",
"message": "Hello!",
"device_id": "your-device-id"
}
휴대폰이 오프라인일 때 어떻게 되나요?
메시지는 서버에 대기열에 저장됩니다. 휴대폰이 다시 연결되면 보류 중인 메시지를 자동으로 가져와 보냅니다. 서버는 또한 휴대폰이 절전 모드일 경우 푸시 알림(FCM)을 보내 휴대폰을 깨웁니다.
비용 비교
월 500건의 SMS 기준:
| 제공업체 | 월별 비용 |
|---|---|
| Twilio | $41+ (메시지 + 번호 + 등록) |
| MessageBird | $35+ |
| MySMSGate | $15 (500건 × $0.03, 기타 수수료 없음) |
이는 연간 $300 이상 절약하는 효과이며, 자신의 전화번호를 유지할 수 있습니다.
무료로 사용해보세요 — 10건의 SMS가 포함되어 있으며, 신용카드는 필요하지 않습니다.
Comments (0)
Be the first to comment!