바로가기설치 | 즐겨찾기추가 | 블로그 | 시작화면 요금안내 | 이용안내
메인페이지로 이동
RCS 문자
전체
전체서비스
회원가입
내주소록
주소록등록
보낸내역
예약문자
수신거부관리
정기문자

전송 전 필수 확인 사항
분양 광고 문자 발송 불가
무효번호 문자 차단 시행
카드결제 금액제한 관련 안내
이통사별 스팸차단 서비스
- 문자나라 웹사이트 방문없이 고객서버에서 문자 전송
- 웹페이지(HTTP)를 호출하는 방식으로 개발언어와 상관없이 연동
- PHP/ASP 예제소스를 제공하며 관련 파일을 참고하여 쉽게 연동
- 기본 단가 단문 30원, 장문 50원이며 (그림문자 지원X) 월누적량 대량 이용시 단가 할인가능
> 구성
> 절차
> 고객사
- 국외 서버(아이피)의 연동시 고객센터에 문의, 사전등록
> 연동경로
- 전송요청, 잔액조회 동일
- https://munjanara.co.kr/send.sys
> 전송요청 - 전달값(파라메터)
사용 명칭 속성 필수 설명
userid 아이디 8 ~ 12자, 영문 O 문자나라 아이디
passwd 비밀번호 8 ~ 12자, 영문, 일부특수제외 O 가입정보 외에 추가 설정한 2차 비밀번호
sender 발신번호 8 ~ 11자, 숫자 O 등록된 발신번호
receiver 수신번호 8 ~ 13자, 숫자 O 050X(평생번호 등) 사용가능
message 전송내용 단문 90 byte, 장문 2000 byte O 장문전송시 allow_mms 설정필요
send_time 예약전송 12자리(분까지표기 예:202609270650), 숫자 X 5분 단위로 전송처리(16분요청시 20분전송)
sender_name 전송자성명 1 ~ 4자, 한글, 영문 X 보낸메시지결과 조회시 참고정보
receiver_name 수신자성명 1 ~ 4자, 한글, 영문 X 보낸메시지결과 조회시 참고정보
return_url 결과페이지 URL (아래 전달값 참고)
- rlst : 결과 (결과코드 메뉴얼 참조)
- money : 잔액
- send : 발송건수
- stype : 예약유무 (0:즉시, 1:예약)
- val1 : URL에 포함되어 있던 전달값
X 고객사의 특정페이지로 처리결과 전달
end_alert 결과안내창 1: 띄움, ETC : 안띄움 X 처리후, 연동페이지에 안내창을 띄움
encode URL디코딩 1: 실행, ETC : 미실행 X message 등을 인코딩해서 보내는 경우
seq 식별자 1 ~ 10자이내 추천, 영문/특수문자/숫자 X 결과페이지에 그대로 전달
allow_mms 장문허용 1 : 허용, ETC : 미허용 X 미허용시 90 byte 자동짤림
> 전송요청 - 처리결과
- 결과 : 결과코드|남은잔액|전송건수|예약유무|고객전달값(식별자)
결과코드 설명
9 성공
1 필수전달값이 빠짐
2 존재하지 않는 아이디
3 비밀번호 인증실패(2차 비밀번호설정 유무 확인)
4 잔액 부족
6 발신번호가 숫자로 이루어져 있지 않음
7 사용 중지된 아이디
11 중복 전송(짧은 시간 같은 내용, 같은 번호로의 전송)
12 발신번호의 전화번호 규칙 또는 자릿수 틀림
13 발신번호가 사전등록되어 있지 않음
14 국내아이피가 아니거나 사전등록되지 않은 아이피
15 비정상적인 반복 접속
16 예약시간 설정오류(이전시간 또는 포멧오류)
> 잔액조회 - 전달값(파라메터)
사용 명칭 속성 필수
call_type 구분값 1 O
userid 아이디 8 ~ 12자, 영문 O
passwd 비밀번호 8 ~ 12자, 영문, 일부특수제외 O
> 잔액조회 - 처리결과
- 결과 : 유료잔액|무료건수|단문단가|장문단가
- 이외의 경우, 전송요청 결과코드 참조
> 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);
    }
}
> PHP
- 기본형 (메시지/전화번호 입력)
- 심플형 (전화번호만 입력)
> ASP
- 기본형 (메시지/전화번호 입력)
- 심플형 (전화번호만 입력)
> 미리보기