![]() ![]()
|
![]() - 문자나라 웹사이트 방문없이 고객서버에서 문자 전송
- 웹페이지(HTTP)를 호출하는 방식으로 개발언어와 상관없이 연동
- PHP/ASP 예제소스를 제공하며 관련 파일을 참고하여 쉽게 연동
- 기본 단가 단문 30원, 장문 50원이며 (그림문자 지원X) 월누적량 대량 이용시 단가 할인가능
> 구성
![]() > 절차
![]() > 고객사
![]() - 국외 서버(아이피)의 연동시 고객센터에 문의, 사전등록
> 연동경로
- 전송요청, 잔액조회 동일
- https://munjanara.co.kr/send.sys
> 전송요청 - 전달값(파라메터)
> 전송요청 - 처리결과
- 결과 : 결과코드|남은잔액|전송건수|예약유무|고객전달값(식별자)
> 잔액조회 - 전달값(파라메터)
> 잔액조회 - 처리결과
- 결과 : 유료잔액|무료건수|단문단가|장문단가
- 이외의 경우, 전송요청 결과코드 참조
> PHP
// 메시지발송
function SendMesg($url) {
// 테스트 후, 서버 상태에 따라 원활한 접속 방법을 이용해주세요.
//$fp = fsockopen("ssl:munjanara.co.kr", 443, $errno, $errstr, 10);
$fp = fsockopen("munjanara.co.kr", 80, $errno, $errstr, 10);
if(!$fp){
echo "$errno : $errstr";
exit;
}
fwrite($fp, "GET $url HTTP/1.0\r\nHost: munjanara.co.kr\r\n\r\n");
$flag = 0;
while(!feof($fp)){
$row = fgets($fp, 1024);
if($flag) $out .= $row;
if($row=="\r\n") $flag = 1;
}
fclose($fp);
return $out;
}
$userid = ""; // 문자나라 아이디
$passwd = ""; // 문자나라 2차 비밀번호(로그인 후 개인정보 수정에서 설정)
$hpSender = ""; // 보내는분 핸드폰번호(문자전송에서 발신번호 인증 필요!)
$hpReceiver = ""; // 받는분의 핸드폰번호
$adminPhone = ""; // 비상시 메시지를 받으실 관리자 핸드폰번호
$hpMesg = ""; // 메시지
/* UTF-8 글자셋 이용으로 한글이 깨지는 경우에만 주석을 푸세요. */
//$hpMesg = iconv("UTF-8", "EUC-KR","$hpMesg");
/* ---------------------------------------- */
$hpMesg = urlencode($hpMesg);
$endAlert = 1; // 전송완료알림창 ( 1:띄움, 0:안띄움 )
// 한줄로 이어쓰기 하세요.
echo SendMesg("/send.sys?userid=$userid&passwd=$passwd&sender=$hpSender&
receiver=$hpReceiver&encode=1&end_alert=$endAlert&message=$hpMesg");
> ASP
FUNCTION SendMesg(url)
Dim RStr
Dim xmlHttp
SET xmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
xmlHttp.open "GET", url, False
xmlHttp.setRequestHeader "Content-Type","text/xml"
xmlHttp.setRequestHeader "Accept-Language","ko"
xmlHttp.send
if xmlHttp.status = 200 then
RStr = xmlHttp.responseText
Else
RStr = "get_fail"
End if
SET xmlHttp = Nothing
SendMesg = RStr
END FUNCTION
Dim userid ' 문자나라 아이디
Dim passwd ' 문자나라 2차 비밀번호
Dim hpSender ' 보내는분 핸드폰번호
Dim hpReceiver ' 받는분의 핸드폰번호
Dim adminPhone ' 비상시 메시지를 받으실 관리자 핸드폰번호
Dim hpMesg ' 메시지
Dim url
Dim result
userid = ""
passwd = ""
hpSender = ""
hpReceiver = ""
adminPhone = ""
hpMesg = Server.URLEncode("")
url = "https://www.munjanara.co.kr/send.sys?userid=" & userid &_
"&passwd=" & passwd & "&sender=" & hpSender & "&receiver=" &_
hpReceiver & "&encode=1&message=" & hpMesg
result = SendMesg(url)
Response.write result
> Python
import http.client
import urllib.parse
def send_mesg(userid, passwd, hp_sender, hp_receiver, admin_phone, hp_mesg, end_alert=1):
encoded_msg = urllib.parse.quote(hp_mesg)
# URL 경로 작성
url_path = f"/send.sys?userid={userid}&passwd={passwd}" \
f"&sender={hp_sender}&receiver={hp_receiver}&encode=1" \
f"&end_alert={end_alert}&message={encoded_msg}"
conn = http.client.HTTPConnection("munjanara.co.kr", 80, timeout=10)
try:
conn.request("GET", url_path, headers={"Host": "munjanara.co.kr"})
response = conn.getresponse()
body = response.read().decode('utf-8', errors='replace')
return body
except Exception as e:
return f"Error: {e}"
finally:
conn.close()
# 사용 예시
response = send_mesg(
userid="your_id",
passwd="your_passwd",
hp_sender="01012345678",
hp_receiver="01087654321",
admin_phone="01011112222",
hp_mesg="테스트 메시지입니다"
)
print(response)
> Node.js
const http = require('http');
const querystring = require('querystring');
function sendMesg(userid, passwd, hpSender, hpReceiver, adminPhone, hpMesg, endAlert = 1) {
const query = querystring.stringify({
userid: userid,
passwd: passwd,
sender: hpSender,
receiver: hpReceiver,
encode: 1,
end_alert: endAlert,
message: hpMesg
});
const options = {
hostname: 'munjanara.co.kr',
port: 80,
path: `/send.sys?${query}`,
method: 'GET',
headers: {
Host: 'munjanara.co.kr'
}
};
const req = http.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
console.log('Response:', data);
});
});
req.on('error', error => {
console.error('Error:', error);
});
req.end();
}
// 사용 예시
sendMesg(
'your_id',
'your_passwd',
'01012345678',
'01087654321',
'01011112222',
'테스트 메시지입니다'
);
> JAVA
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class SmsSender {
public static String sendMesg(String userid, String passwd, String hpSender,
String hpReceiver, String adminPhone, String hpMesg, int endAlert) {
try {
// 메시지 URL 인코딩
String encodedMsg = URLEncoder.encode(hpMesg, "UTF-8");
// 문자나라 GET 요청 URL 구성
String requestUrl = String.format(
"http://munjanara.co.kr/send.sys?userid=%s&passwd=%s" +
"&sender=%s&receiver=%s&encode=1&end_alert=%d&message=%s",
userid, passwd, hpSender, hpReceiver, endAlert, encodedMsg
);
// HTTP 연결 설정
URL url = new URL(requestUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(10000); // 10초
conn.setReadTimeout(10000);
// 응답 읽기
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine).append("\n");
}
in.close();
return response.toString();
} catch (UnsupportedEncodingException e) {
return "인코딩 에러: " + e.getMessage();
} catch (IOException e) {
return "연결 오류: " + e.getMessage();
}
}
// 테스트 메인 함수
public static void main(String[] args) {
String response = sendMesg(
"your_id", // 문자나라 아이디
"your_password", // 문자나라 2차 비밀번호
"01012345678", // 발신번호
"01087654321", // 수신번호
"01011112222", // 관리자 번호 (옵션)
"테스트 메시지입니다", // 메시지
1 // 전송 완료 알림 여부 (1: 띄움, 0: 안 띄움)
);
System.out.println("서버 응답:\n" + response);
}
}
|