
간결하고 쉬운 HTTPS 방식으로 API 연동하여 문자 메시지를 보내실 수 있습니다. 국내 메시지 전송은 물론 국제 장문 문자, 현지어 전송 등 다양한 메시지 전송이 가능합니다. API 연동에 대한 자세한 내용은 아래에서 확인하실 수 있으며, 연동 테스트 신청 및 서비스 이용 상담은 아래의 버튼을 눌러주세요.
간결하고 쉬운 HTTPS 방식으로 API 연동하여 문자 메시지를 보내실 수 있습니다. 국내 메시지 전송은 물론 국제 장문 문자, 현지어 전송 등 다양한 메시지 전송이 가능합니다. API 연동에 대한 자세한 내용은 아래에서 확인하실 수 있으며, 연동 테스트 신청 및 서비스 이용 상담은 아래의 버튼을 눌러주세요.
1. Request HTTPS: TCP/IP 통신를 이용하며 Client는 HTTP API 규격에 맞춰서 메시지 전송
2. Response HTTPS: Server는 Client로부터 전달 받은 메시지 전송요청 응답
3. SEND SMS: Server는 통신사에 메시지를 전송
4. Get Reports: 통신사업자로부터 메시지 리포트 수신
5. Get Reports: 통신사업자가 인포뱅크 Server로 전송한 메시지 리포트를 Client로 전달
6. Response Reports: 메시지 리포트 정상 수신 여부에 대한 응답을 Server에 전달
HTTPS METHOD
전송 요청을 위해 HTTPS GET/POST 방식을 제공하며, 전송 응답은 XML 방식을 사용합니다.
ENCODING
UTF-8 인코딩을 기본으로 제공합니다.
TIMEZONE
메시지 기준 시간은 한국 표준 시 KST(UTC+9)를 사용합니다.
Base URL
HTTPS | https://rest.supersms.co/sms/xml |
---|
결과 정보 수신
리포트를 수신 하기 위해서는 인포뱅크에서 제공하는 서버 IP에 대한 접근을 허용해야 하며,
리포트를 수신할 고객사측 IP/PORT 에 대한 정보는 bizplus@infobank.net 로 접수 해야 합니다.
- 결과 송신 서버 IP 정보 : 211.233.70.235 / 211.233.70.236
Request format
전세계 언어를 지원하기 위해 UTF-8인코딩을 사용합니다.
* [M] Mandatory:필수 [O] Optional:옵션
Parameter | M/O | TYPE | Description |
---|---|---|---|
from | M | Char | 발신자 전화번호 (최대 16bytes) ex) 한국 발송 시 01029652189 (국가코드 미포함) 해외 발신 시 821029652189 (국가코드 포함) |
to_country | M | Char | 국가코드 (1 ~ 3 bytes) ex) 한국 발송 시, to_country=82 |
to | M | Char | 수신자 전화번호 (최대 13bytes) ex) 한국 발송 시, to=1093446280 |
title | O | Char | 메시지 제목 (최대 40 byte) - 메시지 제목은 UTF-8과 URL 인코딩 필요 - 한국 장문 발송 시에만 유효함 |
message | M | Char | 메시지 내용 - 메시지 내용은 UTF-8과 URL인코딩 필요 |
report_req | M | Char | 레포트 수신 여부 - ‘1’ : 레포트 수신이며, 필수 셋팅 필요 |
charset | O | Char | 인코딩 설정 (1:UTF-8, 2:euc-kr) - 해당 값을 설정하지 않으면 UTF-8로 기본 인코딩 됨. ex) charset=2 (euc-kr) |
ref | O | Char | 여분 필드, 고객이 설정할 수 있는 필드 값 (최대 길이 20 bytes. 영.숫자만 가능 ) |
ttl | O | Char | 메시지 유효 시간(초단위) ex) ttl=86400 (24hour = 60 * 60 * 24) |
payment_code | O | Char | 정산용 부서코드 (최대 길이 20 byte) |
client_sub_id | O | Char | Sender ID, 메시지 서명을 복수로 지정하기 위한 구분자 (최대 길이 20 byte) |
발신번호는 숫자형식을 지원합니다.
한국으로 90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
Request Example 1 (PHP)
<?php
$url = 'https://rest.supersms.co/sms/xml?' . http_build_query([
'id' => 'infobank_test',
'pwd' => 'pwinfobank',
'from' => '01029652189',
'to_country' => '82',
'to' => '1093446280',
'message' => 'Hello Infobank',
'report_req' => '1'
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$xml = simplexml_load_string($response);
if ($xml === false) {
echo "Failed loading XML: ";
} else {
//print_r($xml);
//echo($xml->to_country);
//echo($xml->to);
echo("response code : " . $xml->messages->message->err_code);
}
?>
Request Example 2 (Shell(BASH))
#!/bin/bash
curl 'https://rest.supersms.co/sms/xml' \
-d id=infobank_test \
-d pwd=pwinfobank \
-d from=01029652189 \
-d to_country=82 \
-d to=1093446280 \
--data-urlencode "message=Hello Infobank" \
-d report_req=1
Request Example 3 (Python)
import urllib
params = {
'id': 'infobank_test',
'pwd': 'pwinfobank',
'from': '01029652189',
'to_country': '82',
'to': '1093446280',
'message': 'Hello Infobank',
'report_req': '1'
}
url = 'https://rest.supersms.co/sms/xml?' + urllib.urlencode(params)
response = urllib.urlopen(url)
print response.read()
Request Example 4 (Ruby)
require "net/http"
require "uri"
uri = URI.parse("https://rest.supersms.co/sms/xml")
params = {
"id" => "infobank_test",
"pwd" => "pwinfobank",
"from" => "01029652189",
"to_country" => "82",
"to" => "1093446280",
"message" => "Hello Infobank",
"report_req" => "1"
}
response = Net::HTTP.post_form(uri, params)
puts response.body
Request Example 5 (nodeJS)
var https = require('https');
var options = {
host: 'rest.supersms.co',
path: 'sms/xml?id=' + encodeURIComponent('infobank_test') +
'&pwd=' + encodeURIComponent('pwinfobank') +
'&from=' + encodeURIComponent('01029652189') +
'&to_country=' + encodeURIComponent('82') +
'&to=' + encodeURIComponent('1093446280') +
'&message=' + encodeURIComponent('Hello Infobank') +
'&report_req=' + encodeURIComponent(1)
};
var req = https.request(options);
req.end();
var responseData = '';
req.on('response', function(res){
res.on('data', function(chunk){
responseData += chunk;
});
res.on('end', function(){
console.log(responseData);
});
});
Request Response format
Request 에 대한 Response 를 통해 전송요청에 대한 성공/실패 여부를 확인 할 수 있으며,
단말기 도착여부는 Report를 통해 확인 할 수 있습니다.
* [M] Mandatory:필수 [O] Optional:옵션
Parameter | M/O | TYPE | Description |
---|---|---|---|
msgid | M | Char | 발송된 메시지에 부여되는 메시지 아이디 |
to_country | M | Char | 국가코드 (1-3 byte) ex) 한국 발송 시, <to_country>82</to_country> |
to | M | Char | 수신자 번호 |
err_code | M | Char | 메시지 전송 결과 코드 |
messages cnt | M | Char | 메시지 건수 |
msg_type | M | Char | 메시지 타입 (1. SMS, 2. MMS) ex) MMS로 메시지 발송된 경우, <msg_type>2</msg_type> |
ref | O | Char | 여분 필드, 고객이 설정할 수 있는 필드 값 - Request에서 설정한 ref값 전달 |
Request Response Example 1 (성공)
<?xml version='1.0' encoding='UTF-8' ?>
<submit_response>
<to_country>82</to_country>
<to>1093446280</to>
<messages cnt=”1”>
<message>
<msgid>00000123</msgid>
<err_code>R000</err_code>
<msg_type>1</msg_type>
</message>
</messages>
<ref>AA123456789</ref>
Request Response Example 2 (실패)
<?xml version='1.0' encoding='UTF-8' ?>
<submit_response>
<to_country>82</to_country>
<to>1093446280</to>
<messages cnt=”1”>
<message>
<err_code>R007</err_code>
</message>
</messages>
<ref>AA123456789</ref>
</submit_response>
err_code 부분은 ‘4. 응답 및 결과코드’ 참조
Report Format
Report는 GET방식으로 클라이언트가 제공한 접속정보로 결과값을 전달합니다.
* [M] Mandatory:필수 [O] Optional:옵션
Parameter | M/O | TYPE | Description |
---|---|---|---|
msgid | M | Char | 발송된 메시지에 부여되는 메시지 아이디 |
to | M | Char | 수신자 번호(국가코드를 제외한 수신번호) ex) 1093446280 |
to_country | M | Char | 수신자 국가코드 ex) 82 |
err_code | M | Char | 리포트 세부 결과 코드 |
network | M | Char | Mobile network MCCMNC. (MCC:국가코드, MNC:이통사코드) ex) 45005 (SKT), 45006 (LGU+), 45008 (KT) |
rescnt | M | Char | 실제 메시지 과금 건수 *Concatenated Message경우, 실제 메시지 과금 된 건수 |
sent_date | O | Char | 단말기 도착 시간 - 한국 표준시 기준 : KST(UTC+9), YYYYMMDDHHMMSS |
ref | O | Char | 여분 필드, 클라이언트 설정 값 - request에서 설정한 ref값 전달 |
REPORT Example 1(성공)
?msgid=00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008
&rescnt=1&err_code=1000&sent_date=20150322140641
REPORT Example 2 (실패)
- 단말기 미 수신시 단말기 도착 시간(sent_date)을 생략한다.
?msgid=00000123&to=1093446280&to_country=82&ref=AA123456789&network=45008&rescnt=0&err_code=3001
자세한 err_code & status는 ‘4.2 Report Return Code’ 참조
Report Response Format
Report를 수신을 설정한 클라이언트는 인포뱅크가 발송한 Report에 대하여 Report Response를 전송하여야 합니다. Report Response가 포맷과 맞지 않을 경우 인포뱅크는 반복해서 Report를 발송합니다.
리포트 관련 IP/PORT 정보는 ‘3.2 결과 정보 수신’ 참조
* [M] Mandatory:필수 [O] Optional:옵션
Parameter | M/O | TYPE | Description |
---|---|---|---|
msgid | M | Char | 발송된 메시지에 부여되는 메시지 아이디 |
to_country | M | Char | 국가코드 (1-3 byte) ex. 한국 발송 시, to_country=82 |
to | M | Char | 수신자 번호 |
Report Response Example
<?xml version='1.0' encoding='UTF-8' ?>
<report_response>
<msgid>00000123</msgid>
<to_country>82</to_country>
<to>1093446280</to>
Response Return Code
Status | code | Description |
---|---|---|
SUCCESS | R000 | 성공 |
FAILURE | R001 | server busy |
INVALID | R002 | 인증 실패 |
INVALID | R003 | 수신자 번호 형식 오류 |
INVALID | R004 | 발신자 번호 형식 오류 |
INVALID | R005 | 메시지 형식 오류 |
INVALID | R006 | 유효하지 않은 TTL |
INVALID | R007 | 유효하지 않은 파라미터 오류 |
INVALID | R008 | 스팸 필터링 |
INVALID | R009 | 서버 capacity 초과, 재시도 요망 |
INVALID | R010 | 등록되지 않은 발신번호 사용 |
INVALID | R011 | 발신번호 변작 방지 기준 위반 발신번호 사용 |
INVALID | R012 | 해당 서비스유형 전송권한 없음 |
INVALID | R013 | 발송 가능건수 초과 |
UNKNOWN | R999 | 알려지지 않은 에러 |
Report Return Code
Status | code | Description |
---|---|---|
SUCCESS | 1000 | 성공 : 단말기에 메시지 정상 도착 |
FAILURE | 2000 | 전송 시간 초과 |
FAILURE | 2001 | 전송 실패 (무선망단) |
FAILURE | 2002 | 전송 실패 (무선망 -> 단말기단) |
FAILURE | 2003 | 단말기 전원 꺼짐 |
FAILURE | 2004 | 단말기 메시지 버퍼 풀 |
FAILURE | 2005 | 음영지역 |
FAILURE | 2006 | 메시지 삭제됨 |
FAILURE | 2007 | 일시적인 단말 문제 |
INVALID | 3000 | 전송할 수 없음 |
INVALID | 3001 | 가입자 없음 |
INVALID | 3002 | 성인 인증 실패 |
INVALID | 3003 | 수신번호 형식 오류 |
INVALID | 3004 | 단말기 서비스 일시 정지 |
INVALID | 3005 | 단말기 호 처리 상태 |
INVALID | 3006 | 착신 거절 |
INVALID | 3008 | 기타 단말기 문제 |
INVALID | 3009 | 메시지 형식 오류 |
INVALID | 3010 | MMS 미지원 단말 |
INVALID | 3011 | 서버 오류 |
INVALID | 3012 | 스팸 |
INVALID | 3013 | 서비스 거부 |
INVALID | 3014 | 기타 |
INVALID | 3015 | 전송 경로 없음 |
INVALID | 3016 | 첨부파일 사이즈 제한 실패 - 발신번호 변작방지 세칙위반 - 동보 메시지 전송 시 일부 건 세칙 위반 |
INVALID | 3018 | 휴대폰 가입 이동통신사를 통해 발신번호 변작 방지 부가 서비스에 가입 된 번호를 발신번호로 사용하는 경우 |
INVALID | 3019 | KISA or 미래부에서 모든 고객사에 대하여 차단 처리 요청된 번호를 발신 번호로 사용하는 경우 |
INVALID | 3022 | Charset conversion error - 동보 사용시 국가코드 ‘82’ 인 경우, 건별 인코딩 오류 처리 |
기술지원 상담
Email help@Infobank.net
Tel. 031-628-1511