Examples

Coolsms REST-API SDK Delphi 예제파일은 다운받으신 delphi-sdk example 폴더에 들어있습니다.

문자관련

SMS발송

uses에 coolsms.pas를 적용 시켜준뒤 setApiKey를 통해 api_key와 api_secret를 설정해 준 뒤 data에 전송정보들을 넣어서 postRequest('send', data, 'sms')로 전송요청을 합니다.

uses

System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var

coolsms: resource;

jsonObject: TJSONObject;

data: TStringList;

begin

try

// api_key, api_secret 설정

coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters

data := TStringList.create;

data.Values['to'] := '01000000000'; // 수신번호

* 10월 16일 이후로 발신번호 사전등록제로 인해 등록된 발신번호로만 문자를 보내실 수 있습니다. 바로가기

data.Values['from'] := '029302266'; // 발신번호

data.Values['text'] := 'test'; // 문자내용

data.Values['type'] := 'mms'; // 문자타입 sms, mms, lms

data.Values['image'] := '..\..\test.jpg'; // IMAGE 파일 (MMS일경우)

// 그외 parameters, https://developer.coolsms.co.kr/SMS_API#POSTsend 참조

{

data.Values['image_encoding']

이미지 인코딩 방식 binary(Default), base64

data.Values['refname']

참조내용(이름)

data.Values['country']

한국: 82, 일본: 81, 중국: 86, 미국: 1, 기타 등등 (기본 한국)

http://countrycode.org 참고

data.Values['datetime']

예약시간을 YYYYMMDDHHMISS 포맷으로 입력 (입력 없거나 지난날짜를 입력하면 바로 전송) 예) 20131216090510 (2013년 12월 16일 9시 5분 10초에 발송되도록 예약)

data.Values['subject']

LMS, MMS 일때 제목 (40바이트)

data.Values['charset']

한글 인코딩 방식 지정 유니코드 UTF-8 일 경우 utf8 완성형 한글(EUC-KR) 일 경우 euckr 으로 입력 입력 없으면 utf8가 기본

data.Values['srk']

솔루션 제공 수수료를 정산받을 솔루션 등록키

data.Values['mode']

test로 입력할 경우 CARRIER 시뮬레이터로 시뮬레이션됨 수신번호를 반드시 01000000000 으로 테스트하세요. 예약필드 datetime는 무시됨 결과값은 60 잔액에서 실제 차감되며 다음날 새벽에 재충전됨

data.Values['delay']

0~20 사이의 값으로 전송지연 시간을 줄 수 있음, 1은 약 1초 (기본값은 0)

data.Values['force_sms']

누리고푸시를 사용하더라도 SMS로 발송되도록 강제

true 혹은 false(기본)

data.Values['os_platform']

클라이언트의 OS 및 플랫폼 버전) CentOS 6.6

(v1.5에서 추가됨)

data.Values['dev_lang']

개발 프로그래밍 언어 예) PHP 5.3.3

(v1.5에서 추가됨)

data.Values['sdk_version']

SDK 버전 예) PHP SDK 1.5

(v1.5에서 추가됨)

data.Values['app_version']

어플리케이션 버전 예) Purplebook 4.1

(v1.5에서 추가됨)

data.Values['extension']

JSON 포맷의 개별 메시지를 담을 수 있음

}

// send Messages

jsonObject := coolsms.send(data);

if strToBool(jsonObject.GetValue('status').ToString) = TRUE then

begin

Writeln('성공');

Writeln('group_id : ' + jsonObject.Get('group_id').JsonValue.ToString);

Writeln('success_count : ' + jsonObject.Get('success_count').JsonValue.ToString);

Writeln('error_count : ' + jsonObject.Get('error_count').JsonValue.ToString);

Writeln('result_code : ' + jsonObject.Get('result_code').JsonValue.ToString);

Writeln('result_message : ' + jsonObject.Get('result_message').JsonValue.ToString);

end

else

begin

Writeln('실패');

if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString);

if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString);

end;

jsonObject.Free;

Writeln('-----------------------------------------');

Writeln('Press <enter> to quit...');

Readln;

except

on E: Exception do

Writeln(E.ClassName, ': ', E.Message);

end;

end.

SMS발송(개별)

SMS발송(개별)은 여러명의 사용자에게 각가 다른 내용이 들어간 문자를 보내고 싶을때 사용합니다.

TStringlist data에 각각의 TJSONObject들이 들어간 TJSONArray를 ToString으로 parameter extension에 넣어주시면됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; jsonObject: TJSONObject; extensionObject: TJSONObject; extensionArray: TJSONArray; data: TStringList;

begin try // api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// 개별 메시지 보내기 extensionObject := TJSONObject.Create; extensionArray := TJSONArray.Create;

// message 1 parameters extensionObject.AddPair('type', 'sms'); extensionObject.AddPair('to', '01000000003'); extensionObject.AddPair('text', 'sms_test'); extensionArray.Add(extensionObject);

// message 2 parameters extensionObject := TJSONObject.Create; extensionObject.AddPair('type', 'sms'); extensionObject.AddPair('to', '01000000000, 010000000001'); extensionObject.AddPair('text', 'sms_test2'); extensionArray.Add(extensionObject);

// input extension_data into string_list data := TStringList.create; data.Values['extension'] := extensionArray.ToString;

* 10월 16일 이후로 발신번호 사전등록제로 인해 등록된 발신번호로만 문자를 보내실 수 있습니다. 바로가기

data.Values['from'] := '029302266'; // 발신번호

// send Messages jsonObject := coolsms.send(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); Writeln('group_id : ' + jsonObject.Get('group_id').JsonValue.ToString); Writeln('success_count : ' + jsonObject.Get('success_count').JsonValue.ToString); Writeln('error_count : ' + jsonObject.Get('error_count').JsonValue.ToString); Writeln('result_code : ' + jsonObject.Get('result_code').JsonValue.ToString); Writeln('result_message : ' + jsonObject.Get('result_message').JsonValue.ToString); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

LMS발송

type 을 lms로 바꿔주시기만하면됩니다.

uses

System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var

coolsms: resource;

jsonObject: TJSONObject;

data: TStringList;

begin

try

// api_key, api_secret 설정

coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters

data := TStringList.create;

data.Values['to'] := '01000000000'; // 수신번호 * 10월 16일 이후로 발신번호 사전등록제로 인해 등록된 발신번호로만 문자를 보내실 수 있습니다. 바로가기

data.Values['from'] := '029302266'; // 발신번호

data.Values['text'] := 'test'; // 문자내용

data.Values['type'] := 'lms'; // 문자타입 sms, mms, lms

// send Messages

jsonObject := coolsms.send(data);

if strToBool(jsonObject.GetValue('status').ToString) = TRUE then

begin

Writeln('성공');

Writeln('group_id : ' + jsonObject.Get('group_id').JsonValue.ToString);

Writeln('success_count : ' + jsonObject.Get('success_count').JsonValue.ToString);

Writeln('error_count : ' + jsonObject.Get('error_count').JsonValue.ToString);

Writeln('result_code : ' + jsonObject.Get('result_code').JsonValue.ToString);

Writeln('result_message : ' + jsonObject.Get('result_message').JsonValue.ToString);

end

else

begin

Writeln('실패');

if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString);

if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString);

end;

jsonObject.Free;

Writeln('-----------------------------------------');

Writeln('Press <enter> to quit...');

Readln;

except

on E: Exception do

Writeln(E.ClassName, ': ', E.Message);

end;

end.

MMS발송

type을 mms로 바꿔준뒤 전송할 이미지 파일 정보를 입력합니다.

uses

System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var

coolsms: resource;

jsonObject: TJSONObject;

data: TStringList;

begin

try

// api_key, api_secret 설정

coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters

data := TStringList.create;

data.Values['to'] := '01000000000'; // 수신번호 * 10월 16일 이후로 발신번호 사전등록제로 인해 등록된 발신번호로만 문자를 보내실 수 있습니다. 바로가기

data.Values['from'] := '029302266'; // 발신번호

data.Values['text'] := 'test'; // 문자내용

data.Values['type'] := 'mms'; // 문자타입 sms, mms, lms

data.Values['image'] := '..\..\test.jpg'; // IMAGE 파일 (MMS일경우)

// send Messages

jsonObject := coolsms.send(data);

if strToBool(jsonObject.GetValue('status').ToString) = TRUE then

begin

Writeln('성공');

Writeln('group_id : ' + jsonObject.Get('group_id').JsonValue.ToString);

Writeln('success_count : ' + jsonObject.Get('success_count').JsonValue.ToString);

Writeln('error_count : ' + jsonObject.Get('error_count').JsonValue.ToString);

Writeln('result_code : ' + jsonObject.Get('result_code').JsonValue.ToString);

Writeln('result_message : ' + jsonObject.Get('result_message').JsonValue.ToString);

end

else

begin

Writeln('실패');

if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString);

if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString);

end;

jsonObject.Free;

Writeln('-----------------------------------------');

Writeln('Press <enter> to quit...');

Readln;

except

on E: Exception do

Writeln(E.ClassName, ': ', E.Message);

end;

end.

예약발송

data에 datetime을 추가해주시면 됩니다.

uses

System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var

coolsms: resource;

jsonObject: TJSONObject;

data: TStringList;

begin

try

// api_key, api_secret 설정

coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters

data := TStringList.create;

data.Values['to'] := '01000000000'; // 수신번호 * 10월 16일 이후로 발신번호 사전등록제로 인해 등록된 발신번호로만 문자를 보내실 수 있습니다. 바로가기

data.Values['from'] := '029302266'; // 발신번호

data.Values['text'] := 'test'; // 문자내용

data.Values['datetime'] := '20131216090510'; // 예약시간을 YYYYMMDDHHMISS 포맷으로 입력 (입력 없거나 지난날짜를 입력하면 바로 전송) 예) 20131216090510 (2013년 12월 16일 9시 5분 10초에 발송되도록 예약)

// send Messages

jsonObject := coolsms.send(data);

if strToBool(jsonObject.GetValue('status').ToString) = TRUE then

begin

Writeln('성공');

Writeln('group_id : ' + jsonObject.Get('group_id').JsonValue.ToString);

Writeln('success_count : ' + jsonObject.Get('success_count').JsonValue.ToString);

Writeln('error_count : ' + jsonObject.Get('error_count').JsonValue.ToString);

Writeln('result_code : ' + jsonObject.Get('result_code').JsonValue.ToString);

Writeln('result_message : ' + jsonObject.Get('result_message').JsonValue.ToString);

end

else

begin

Writeln('실패');

if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString);

if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString);

end;

jsonObject.Free;

Writeln('-----------------------------------------');

Writeln('Press <enter> to quit...');

Readln;

except

on E: Exception do

Writeln(E.ClassName, ': ', E.Message);

end;

end.

예약취소

data에 mid나 gid를 입력하신뒤 postRequest('cancel', data, 'sms')를 호출합니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; jsonObject: TJSONObject; data: TStringList;

begin try // api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters, http://www.coolsms.co.kr/SMS_API#POSTcancel 참조 data := TStringList.create; data.Values['mid'] := 'R1M55D585C2CE9E9'; // 메시지ID // data.Values['gid'] := ''; // 그룹ID

// 예약취소 요청 jsonObject := coolsms.cancel(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

발송내역

data에 mid나 gid를 입력하신후 request('sent', data, 'sms')를 통해 발송내역을 가져옵니다.

Return 값은 jsonObject 안에 jsonArray로 받습니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject; jsonArray: TJSONArray; jsonObjectData: TJSONObject; i: integer;

begin try // api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74'); //https.create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters, data 설정 mid나 gid 둘 중 하나는 들어가야 합니다. data := TStringList.create; data.Values['mid'] := 'R1M55B1FFB27E5308'; // 메시지ID

// 그외 parameters, http://www.https.co.kr/SMS_API#GETsent 참조 { data.Values['count'] 기본값 20이며 20개의 목록을 받을 수 있음. 40입력시 40개의 목록이 리턴 data.Values['page'] 1부터 시작하는 페이지값 data.Values['rcpt'] 수신번호로 검색 data.Values['start'] 검색 시작일시 접수 날짜와 시간으로 검색 YYYY-MM-DD HH:MI:SS 포맷의 날짜와 시간 data.Values['end'] 검색 종료일시 접수 날짜와 시간으로 검색 YYYY-MM-DD HH:MI:SS 포맷의 날짜와 시간 data.Values['status'] 메시지 상태 값으로 검색 data.Values['resultcode'] 전송결과 값으로 검색 data.Values['notin_resultcode'] 입력된 전송결과 값 이외의 건들만 조회 data.Values['gid'] 그룹ID }

// sent Messages jsonObject := coolsms.sent(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); jsonArray := JsonObject.Get('data').JsonValue as TJSONArray;

Writeln('total_count : ' + jsonObject.Get('total_count').JsonValue.ToString); Writeln('list_count : ' + jsonObject.Get('list_count').JsonValue.ToString); Writeln('page : ' + jsonObject.Get('page').JsonValue.ToString);

for i := 0 to jsonArray.Size - 1 do begin jsonObjectData := TJSONObject.Create; jsonObjectData := jsonArray.Get(i) as TJSONObject;

Writeln('-----------------------------------------'); Writeln('type : ' + jsonObjectData.Get('type').JsonValue.ToString); Writeln('recipient_number : ' + jsonObjectData.Get('recipient_number').JsonValue.ToString); Writeln('text : ' + jsonObjectData.Get('text').JsonValue.ToString); Writeln('carrier : ' + jsonObjectData.Get('carrier').JsonValue.ToString); Writeln('status : ' + jsonObjectData.Get('status').JsonValue.ToString); Writeln('result_code : ' + jsonObjectData.Get('result_code').JsonValue.ToString); Writeln('result_message : ' + jsonObjectData.Get('result_message').JsonValue.ToString); Writeln('message_id : ' + jsonObjectData.Get('message_id').JsonValue.ToString); Writeln('group_id : ' + jsonObjectData.Get('group_id').JsonValue.ToString); Writeln('sent_time : ' + jsonObjectData.Get('sent_time').JsonValue.ToString); Writeln('accepted_time : ' + jsonObjectData.Get('accepted_time').JsonValue.ToString); end; end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

잔액정보

request('balance', Nil, 'sms')를 통해 잔액정보를 가져옵니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils;

var coolsms: resource; jsonObject: TJSONObject;

begin try // api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// 남은잔액 요청, http://www.coolsms.co.kr/SMS_API#GETbalance 참조 jsonObject := coolsms.balance(); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); Writeln('cash : ' + jsonObject.Get('cash').JsonValue.ToString); Writeln('point : ' + jsonObject.Get('point').JsonValue.ToString); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

발신번호등록

발신번호 등록 요청

* 보안상 문제로 현재는 제공하지 않습니다. 쿨에스엠에스 사이트에서 발신번호를 등록해 주세요

관련 정보는 http://www.coolsms.co.kr/SenderID_API를 참고해주세요.

postRequest('register', data, 'senderid')로 요청을 해서 넘어오는 ars_number로 전화를 걸어주시면 됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject;

begin try // http://www.coolsms.co.kr/SenderID_API#POSTregister 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters data := TStringList.create; data.Values['phone'] := '01090683469'; // 발신번호로 등록할 전화번호를 입력해주세요.

// 발신번호등록 요청 jsonObject := coolsms.register(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); Writeln('handle_key : ' + jsonObject.Get('handle_key').JsonValue.ToString); Writeln('ars_number : ' + jsonObject.Get('ars_number').JsonValue.ToString); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

발신번호 등록 확인

* 보안상 문제로 현재는 제공하지 않습니다. 쿨에스엠에스 사이트에서 발신번호를 등록해 주세요

register에서 받은 ars_number로 전화를 거신후 handle_key로 postRequest('verify', data, 'senderid')를 호출하시면 발신번호 등록이 완료됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject;

begin try // http://www.coolsms.co.kr/SenderID_API#POSTverify 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters data := TStringList.create; data.Values['handle_key'] := 'SID5FFFF7614ED3'; // register 호출 후 리턴받은 핸들값

// 발신번호등록확인 요청 jsonObject := coolsms.verify(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

발신번호 삭제

data에 해당 발신번호릐 handle_key를 입력하시고 postRequest('delete', data, 'sendid')를 호출하시면 됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject;

begin try // http://www.coolsms.co.kr/SenderID_API#POSTdelete 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters data := TStringList.create; data.Values['handle_key'] := 'SFFFFFFF7E1D7'; // 삭제할 발신번호의 handle_key

// 발신번호삭제 요청 jsonObject := coolsms.delete(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

발신번호 목록 보기

request('list', Nil, 'senderid')를 요청하시면 됩니다.

Return값은 jsonObject안에 jsonArray로 처리해주세요.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject; jsonArray: TJSONArray; jsonObjectData: TJSONObject; i: integer;

begin try // http://www.coolsms.co.kr/SenderID_API#GETlist 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// 발신번호 리스트 요청 jsonObject := coolsms.list();

if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); jsonArray := JsonObject.Get('data').JsonValue as TJSONArray; for i := 0 to jsonArray.Size - 1 do begin jsonObjectData := TJSONObject.Create; jsonObjectData := jsonArray.Get(i) as TJSONObject;

Writeln('-----------------------------------------'); Writeln('idno : ' + jsonObjectData.Get('idno').JsonValue.ToString); Writeln('phone_number : ' + jsonObjectData.Get('phone_number').JsonValue.ToString); Writeln('flag_default : ' + jsonObjectData.Get('flag_default').JsonValue.ToString); Writeln('updatetime : ' + jsonObjectData.Get('updatetime').JsonValue.ToString); Writeln('regdate : ' + jsonObjectData.Get('regdate').JsonValue.ToString); end; end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

기본 발신번호 설정

해당 발신번호의 handle_key를 data에 넣으신후 postRequest('set_default', data, 'senderid')를 요청하시면 됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject;

begin try // http://www.coolsms.co.kr/SenderID_API#POSTset_default 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// parameters data := TStringList.create; data.Values['handle_key'] := 'SIDFFFFF614ED3'; // register 호출 후 리턴받은 핸들값

// default 발신번호등록 요청 jsonObject := coolsms.setDefault(data); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

기본 발신번호 보기

request('get_default', Nil, 'senderid')로 요청하시면 됩니다.

uses System.Json, coolsms in '..\..\coolsms.pas', https in '..\..\https.pas', System.SysUtils, Classes;

var coolsms: resource; data: TStringList; jsonObject: TJSONObject;

begin try // http://www.coolsms.co.kr/SenderID_API#POSTset_default 참조

// api_key, api_secret 설정 coolsms := resource.Create('NCS55882FB7DE511A', '4FB5FF82B9AB7D0E0AEB840D403DE0F74');

// default 발신번호 요청 jsonObject := coolsms.getDefault(); if strToBool(jsonObject.GetValue('status').ToString) = TRUE then begin Writeln('성공'); Writeln('handle_key : ' + jsonObject.Get('handle_key').JsonValue.ToString); Writeln('phone_number : ' + jsonObject.Get('phone_number').JsonValue.ToString); end else begin Writeln('실패'); if jsonObject.Get('code').Equals(Nil) = FALSE then Writeln('code : ' + jsonObject.Get('code').JsonValue.ToString); if jsonObject.Get('message').Equals(Nil) = FALSE then Writeln('message : ' + jsonObject.Get('message').JsonValue.ToString); end;

jsonObject.Free;

Writeln('-----------------------------------------'); Writeln('Press <enter> to quit...'); Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.

Last updated