Outbound SMS

Outbound SMS

Prerequisites

  • Outbound SMS 서비스를 사용하기 위해서는 ToBeText 가입이 필요합니다.
  • TobeText 가입 시 API 의 사용이 가능하도록 Cid 및 token 을 발급하여 드립니다.
  • 회원 가입 시 제공되는 소량의 Credit 으로 Outbound SMS 서비스를 테스트 할 수 있습니다.
  • Outbound SMS 웹 응용프로그램을 사용 할 수 있는 웹 호스트가 필요합니다.

Post Method

  • ToBeText 의 연동 API 는 POST 방식을 사용하여 메시지를 전달 합니다.

Base URL

  • ToBeText API Base URL
    • http://api-dev.tbnws.com/sms (no SSL)
    • http://api-dev.tbnws.com:18443/sms (SSL)
  • ToBeText API Backup URL
    • http://api2-dev.tbnws.com/sms (no SSL)
    • Backup URL 은 평시에는 전송 불가하며, 비상/장애 발생 및 테스트 등의 필요 시 활성화 가동 될 수 있음.
    • Backup URL 의 경우 SSL 인증 제공되지 않음.

Required Parameters

Name Description Remarks
Ckey 고객의 메시지 ID (고객사 메시지 ID 고유번호), 결과값 전송 시 해당 메시지의 식별 값으로 전달 되는 값 (CKey, MsgId) 고객사 전달 값
RecvNum 수신자 번호  (ex : +821012341234) 고객사 전달 값
SendNum 송신자 번호  / 해외 경우 지정된 번호로 자동 변경, 국내 경우 전달된 번호로 전송 고객사 전달 값
Body 메시지 내용, 160Byte 이내. (영문 160자, 다국어 포함시 80자) 고객사 전달 값
Cid 고객사 고유 번호 (ToBeText 제공값) ToBe 제공 값
token 고객사 인증을 위한 토큰값 (ToBeText 제공값) ToBe 제공 값

Optional Parameters

Name Description Remarks
callback 결과 수신을 위한 URL 고객사 전달 값

Outbound SMS Sample Codes

Java
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;

public class ToBeText {

	public static void main(String[] args) throws Exception {

		ToBeText tobe = new ToBeText();
		tobe.sendSMS();
	}

	private void sendSMS() throws Exception {

		String USER_AGENT = "Mozilla/5.0";
		String url = "http://api-dev.tbnws.com/sms";
		URL obj = new URL(url);
		HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
		// HttpsURLConnection conn = (HttpsURLConnection) obj.openConnection(); // SSL connection
		conn.setRequestMethod("POST");
		conn.setRequestProperty("User-Agent", USER_AGENT);
		conn.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

		StringBuffer urlParameters = new StringBuffer();
		urlParameters.append("Ckey=메시지ID");
		urlParameters.append("&RecvNum=수신전화번호");
		urlParameters.append("&SendNum=발신전화번호");
		urlParameters.append("&Body=메시지본문");
		urlParameters.append("&Cid=ToBeText에서 발급받은 고객님의 Cid");
		urlParameters.append("&token=ToBeText에서 발급받은 고객님의 token");
		urlParameters.append("&callback=상태 값 Callback URL");

		System.out.println("Request to URL : " + url);
		System.out.println("\n\nParameters : " + urlParameters);

		// Send post request
		conn.setDoOutput(true);
		DataOutputStream ostream = new DataOutputStream(conn.getOutputStream());
		ostream.writeBytes(urlParameters.toString());
		ostream.flush();
		ostream.close();

		int responseCode = conn.getResponseCode();
		System.out.println("\n\nResponse Code : " + responseCode);

		BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();
		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}

		in.close();

		System.out.println("\n\nRespose : " + response.toString());
	}
}
Curl
curl -X POST http://api-dev.tbnws.com/sms
-d 'Ckey=메시지ID'
-d 'RecvNum=수신전화번호'
-d 'SendNum=발신전화번호'
-d 'Body=메시지본문'
-d 'Cid=ToBeText에서 발급받은 고객님의 Cid'
-d 'token=ToBeText에서 발급받은 고객님의 token'
-d 'callback=상태 값 Callback URL'
php
<?php
	$url = 'http://api-dev.tbnws.com/sms';

	$post_data["Ckey"] = "메시지ID";
	$post_data["RecvNum"] = "수신전화번호";
	$post_data["SendNum"] = "발신전화번호";
	$post_data["Body"] = "메시지본문";
	$post_data["Cid"] = "ToBeText에서 지급한 고객님의 Cid";
	$post_data["token"] = "ToBeText 에서 지급한 고객님의 token";
	$post_data["callback"] = "상태 값 Callback URL";

	$curlsession = curl_init ();
	curl_setopt ($curlsession, CURLOPT_URL, $url);
	curl_setopt ($curlsession, CURLOPT_POST, 1);
	curl_setopt ($curlsession, CURLOPT_POSTFIELDS, $post_data);
	curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
	$res = curl_exec ($curlsession);

	var_dump($res); //결과값 출력
	curl_close($curlsession);
?>

Instant Response

  • ToBe Networks 로 메시지 호출 후 ack 값으로 전달되는 결과 값. XML 형태로 제공되며 Parameter 와 Sample 은 아래 참조.

Return Parameters

Name Description Remarks
CKey 고객의 메시지 ID (고객사 메시지 ID 고유번호), 결과값 전송시 해당 메시지의 식별 값으로 전달 되는 값 (CKey, MsgId)
Status 전송 결과 값
MsgId ToBe Networks 고유 메시지 ID 값 Char 34 bytes
SendNum 송신자 전화 번호  / 해외 경우 지정된 번호로 자동 변경, 국내 경우 전달된 번호로 전송
RecvNum 수신자 전화 번호
ErrorCode 고객사 전달용 에러 코드
ErrorMsg 고객사 전달용 에러 메시지

Error Codes

Error Code Description Remarks
200 Success 전송성공
410 Authentication Failed, 인증 실패, Cid 및 token 값 확인 전송실패
2001 Ckey 값 오류 전송실패
2002 CCode 값 오류 전송실패
2004 SendNum 값 오류 전송실패
2005 Body field 값 오류 전송실패
2006 Cid (고객사 ID) 값 오류 전송실패
2007 token 값 오류 전송실패

Response Sample

<ToBeTextResult>
<Status>SUCCESS</Status>
<MsgId>41aa33709703dea382c10a057823ffdc</MsgId>
<SendNum>821012341234</SendNum>
<RecvNum>821012341234</RecvNum>
<ErrorCode>200</ErrorCode>
<ErrorMsg>Message successfully sent</ErrorMsg>
</ToBeTextResult>

Status Callback

  • SMS 전송 결과를 주기적으로 전송. (전송후 약 3분 ~ 30분 이내)
  • 메시지 전송 시 입력한 Callback URL 로 회신.

Status Callback URL

  • SMS 전송 시 callback Parameter로 전달되는 URL.
    예) http://yourdomain.com/recv/
    ※ http:// 를 포함한 Full Address

Parameters

Name Description Remarks
CKey 고객의 메시지 ID (고객사 메시지 ID 고유번호), 결과값 전송시 해당 메시지의 식별 값으로 전달 되는 값 (CKey, MsgId)
Status 전송 결과 값
MsgId ToBe Networks 고유 메시지 ID 값 34byte
SendNum 송신자 전화 번호  / 해외 경우 지정된 번호로 자동 변경, 국내 경우 전달된 번호로 전송
RecvNum 수신자 전화 번호
ErrorCode 고객사 전달용 에러 코드
ErrorMsg 고객사 전달용 에러 메시지

Error Codes

Error Code Description Remarks
200 Success 전송성공
400 Failed 전송실패
411 내부 오류 전송실패
412 기타 전송실패
Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Not readable? Change text. captcha txt