diff --git a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java index 21ca4b50..cc45da12 100644 --- a/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoAt/service/impl/KakaoAlimTalkServiceImpl.java @@ -862,7 +862,7 @@ public class KakaoAlimTalkServiceImpl extends EgovAbstractServiceImpl implements @Override public StatusResponse insertKakaoAtSandAjax_advc(KakaoVO kakaoVO, HttpServletRequest request) throws Exception { -// log.info(" :: [{}]", kakaoVO.toString()); + log.info(" :: [{}]", kakaoVO.toString()); // 측정할 메소드 호출 전 시간 기록 diff --git a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab1.jsp b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab1.jsp index 75389557..6a4e1f99 100644 --- a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab1.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab1.jsp @@ -177,7 +177,7 @@ ,"senderKey":"6691434xxxxxxxxxxxxxxxxxxxxxxxxx"

- ,""phoneNumber":"010xxxxxxxx" + ,"phoneNumber":"010xxxxxxxx"

,"yellowId":"@ID" diff --git a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab2.jsp b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab2.jsp index a1d49448..67d57e4a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab2.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab2.jsp @@ -38,100 +38,59 @@

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
문자발송(대량) API Request 키 종류 및 설명, 타입, 필수 여부 테이블
설명타입필수
mberId사용자 IDStringO
accessKey인증용 API KeyStringO
callFrom발신자 번호(아이디에 등록되어 있는 번호)StringO
test_yn테스트 데이터 여부StringX
callTo_1수신자 번호 1StringO
smsTxt_1메시지 내용 1 String(1~2,000Byte)O
.........X
callTo_100수신자 번호 100StringX
smsTxt_100메시지 내용 100String(1~2,000Byte)X
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
문자발송 API Request 키 종류 및 설명, 타입, 필수 여부 테이블
설명타입필수
mberId사용자 IDStringO
accessKey인증용 API KeyStringO
senderKey발신 프로필 KeyStringO

※ 문자 텍스트 용량(byte) : 한글 1자당 2byte, 영문/숫자 1자당 1byte

-
-
[Example]
-
-

-
-

"mberId":"홍길동"

-

,"accessKey":"XXXXXXXXXXXXXX414050694b953"

-

,"callFrom":"01012341234"

-

,"test_yn":""

-

,"callTo_1":"01011111111"

-

,"smsTxt_1":"문자 테스트 1"

-

,"callTo_2":"01022222222"

-

,"smsTxt_2":"문자 테스트 2"

-
-

-
-
+
+
[Example]
+
+

+
+

"mberId":"홍길동"

+

,"accessKey":"414050694b953XXXXXXXXXXXXXX"

+

,"senderKey":"669143473b1af459628b8bdXXXXXXXXXXXXXX"

+
+

+
+
Response
@@ -151,97 +110,123 @@ - - resultCode - 성공 여부("0" 아니면 실패) - String - - - data - 결과값 객체(성공 : 데이터, 실패 : 메시지) - Object - - - [data].msgGroupIdList - 메시지 그룹 ID 리스트 - List String - - - [data].msgType - 메시지 타입(4 : 단문, 6 : 장문) - String - - - [data].blockCnt - 수신거부 건수 - String - - - [data].failCnt - 전송 실패 건수 - String - - - [data].successCnt - 성공 건수 - String - - - [data].test_yn - 테스트 데이터 여부 - String - - - -
-

※ JSON 객체로 응답합니다.

-
- -
-
[Example]O 성공 예시
-
-

-
-

"resultCode":"0"

-

,"data":[

-
-

"msgGroupIdList":[

-

-

"MSGGID_0000000013451"

-

-

,{

-

"MSGGID_0000000013452"

-

-

-

,"msgTypeList":[

-

-

"SMS"

-

-

,{

-

"SMS"

-

-

-

,"resultCode":"0"

-

,"successCnt":"2"

-

,"failCnt":"0"

-

,"blockCnt":"0"

-

,"test_yn":null

-

-
-
-

-
-
-
-
[Example]X 실패 예시
-
-

-
-

"resultCode":"1040"

-

,"data":"치환 데이터 오류"

-
-

-
-
- - + + resultCode + 성공 여부("0" 아니면 실패) + String + + + data + 템플릿 정보 리스트 + Array + + + [data].senderKey + 발신 프로필 키 + String + + + [data].templateCode + 템플릿 코드 + String + + + [data].templateName + 템플릿 이름 + String + + + [data].createdAt + 생성일시 + String + + + [data].modifiedAt + 수정일시 + String + + + [data].serviceStatus + 템플릿 상태
(REG: 등록, REQ: 검수요청, REJ: 반려, +STP: 차단, RDY: 발송전, ACT: 정상, DMT: 휴면, BLK: +차단) + String + + + +
+

※ JSON 객체로 응답합니다.

+
+ +
+
[Example]O 성공 예시
+ +
+

+
+

+ "resultCode":"0" +

+

+ ,"data"{ +

+
+

+ ,"senderKey":"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx" +

+

+ ,"templateCode":"bizp_20250527112232xxxxxxxxxxxxx" +

+

+ ,"templateName":"템플릿 명" +

+

+ ,"createdAt":"2025-05-27 11:22:33" +

+

+ ,"modifiedAt":"2025-05-27 11:22:33" +

+

+ ,"serviceStatus":"REG(등록완료)" +

+
+

+

,{

+
+

+ ,"senderKey":"669143473b1af459628xxxxxxxxxxxxxxxxxxxxx" +

+

+ ,"templateCode":"bizp_20250527112232xxxxxxxxxxxxx" +

+

+ ,"templateName":"템플릿 명2" +

+

+ ,"createdAt":"2025-05-27 11:22:33" +

+

+ ,"modifiedAt":"2025-05-27 11:22:33" +

+

+ ,"serviceStatus":"RDY(대기)" +

+
+

+
+

+
+
+
+
[Example]X 실패 예시
+
+

+
+

"resultCode":"4099"

+

,"msg":"기타 시스템 오류"

+
+

+
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab3.jsp b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab3.jsp index 32fae9e8..c9570ab3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab3.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/api/at/apiSpec_tab3.jsp @@ -54,50 +54,32 @@ 필수 - - - mberId - 사용자 ID - String - O - - - accessKey - 인증용 API Key - String - O - - - page - 페이지 번호 - String - X - - - pageSize - 페이지당 출력 개수 - String - X - - - startDate - 시작 일자 - String - X - - - endDate - 마감 일자 - String - X - - - test_yn - 테스트 데이터 여부 - String - X - - + + + mberId + 사용자 ID + String + O + + + accessKey + 인증용 API Key + String + O + + + senderKey + 발신 프로필 Key + String + O + + + templateCode + 템플릿 코드 + String + O + +

※ HTTPS 프로토콜을 사용하여 POST로 요청합니다.

@@ -108,13 +90,10 @@

-

"mberId":"홍길동"

-

,"accessKey":"XXXXXXXXXXXXXX414050694b953"

-

,"page":""

-

,"pageSize":""

-

,"startDate":""

-

,"endDate":""

-

,"test_yn":""

+

"mberId":"홍길동"

+

,"accessKey":"414050694b953XXXXXXXXXXXXXX"

+

,"senderKey":"669143473b1af459628b8bdXXXXXXXXXXXXXX"

+

,"templateCode":"bizp_202503141052XXXXXXXXXXXXXX"

@@ -138,136 +117,85 @@ - - resultCode - 성공 여부("0" 아니면 실패) - String - - - data - 결과값 객체(성공 : 데이터, 실패 : 메시지) - Object - - - [data].message - 문자 - String - - - [data].next_yn - 다음 페이지 여부 - String - - - [data].objectList - 결과값 목록 - Object List - - - [data].msgGroupId - 메시지 그룹 ID - String - - - [data].msgId - 메시지 ID - String - - - [data].msgTypeName - 문자 구분명(단문, 장문, 그림) - String - - - [data].msgType - 메시지 타입(4 : 단문, 6 : 장문) - String - - - [data].callFrom - 발신자 번호 - String - - - [data].callTo - 수신자 번호 - String - - - [data].msgGroupCnt - 문자 발송 건수 - String - - - [data].sCnt - 성공 건수 - String - - - [data].fCnt - 실패 건수 - String - - - [data].wCnt - 대기 건수 - String - - - [data].msgResult - 발송 결과(성공 : S, 실패 : F) - String - - - [data].smsTxt - 문자 내용 - String - - - [data].subject - 제목 - String - - - [data].reqdate - 발송 일자 - String - - - [data].curState - 전송 처리 결과값 - String - - - [data].userId - 사용자 ID - String - - - [data].regdate - 등록 일자 - String - - - [data].reserveCYn - 예약 취소 여부 - String - - - [data].ttlCnt - 전체 요청 수 - String - - - [data].remainMsgCnt - 남은 문자 건수 - String - - - [data].totMsgCnt - 전체 문자 개수 - String - + + resultCode + 성공 여부("0" 아니면 실패) + String + + + data + 템플릿 정보 리스트 + Array + + [data].templateCode템플릿 코드String + [data].templateName템플릿 이름String + [data].templateMessageType템플릿 메시지 유형 (BA:기본형(default), EX:부가정보형, AD:광고추가형, MI:복합형)String + [data].templateEmphasizeType템플릿 강조 유형 (NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형)String + [data].templateContent템플릿 내용String + [data].templateExtra부가정보String + [data].templateAd광고성 메시지String + [data].templateImageName템플릿 이미지 파일명String + [data].templateImageUrl템플릿 이미지 링크String + [data].templateTitle템플릿 내용 중 강조 표기할 핵심 정보String + [data].templateSubtitle강조 표기 보조 문구String + [data].templateHeader헤더String + + [data].categoryCode템플릿 카테고리 코드String + [data].securityFlag보안 템플릿 여부 (true:설정)Boolean + [data].inspectionStatus검수 상태 (REG: 등록, REQ: 검수요청, REJ: 반려, APR: 승인)String + [data].createdAt생성일String + [data].modifiedAt수정일String + [data].status템플릿 상태(D:중지, A:정상, R:대기(발송전))String + [data].block템플릿 차단 여부 (true:차단, false: 해제)Boolean + [data].dormant템플릿 휴면 여부 (true:휴면, false: 해제)Boolean + + [data].templateItemHighlight아이템 하이라이트Object + [data].templateItemHighlight.title타이틀String + [data].templateItemHighlight.description상세 설명String + [data].templateItemHighlight.imageUrl썸네일 이미지 주소String + + [data].templateItem아이템 정보Object + [data].templateItem.list[]아이템 리스트Array + [data].templateItem.list[].title타이틀String + [data].templateItem.list[].description디스크립션String + + [data].templateItem.summary아이템 요약 정보Object + [data].templateItem.summary.title타이틀String + [data].templateItem.summary.description디스크립션String + + + [data].buttons[]버튼 정보Array + [data].buttons[].name버튼명String + [data].buttons[].linkType버튼 링크타입 (DS:배송조회, WL:웹링크, AL:앱링크, BK:봇키워드, MD: 메시지전달, AC: 채널추가, BC: 상담톡전환, BT: 봇전환, P1: 이미지 보안전송 플러그인, P2: 개인정보이용 플러그인, P3: 원클릭 결제 플러그인)String + [data].buttons[].linkAndAndroid 앱 링크 주소String + [data].buttons[].linkIosIOS 앱 링크 주소String + [data].buttons[].linkMo모바일 웹 링크 주소String + [data].buttons[].linkPcPC 웹 링크 주소String + [data].buttons[].pluginId플러그인 IDString + + + [data].quickReplies[]바로연결 정보Array + [data].quickReplies[].name바로연결명String + [data].quickReplies[].linkType바로연결 링크타입 (WL:웹링크, AL:앱링크, BK:봇키워드, MD: 메시지전달, BC: 상담톡전환, BT: 봇전환)String + [data].quickReplies[].linkAndAndroid 앱 링크 주소String + [data].quickReplies[].linkIosIOS 앱 링크 주소String + [data].quickReplies[].linkMo모바일 웹 링크 주소String + [data].quickReplies[].linkPcPC 웹 링크 주소String + + + [data].comments[]댓글 목록Array + [data].comments[].content댓글 본문String + [data].comments[].createdAt댓글 생성일String + [data].comments[].status댓글 상태 (REQ:등록, INQ:문의, APR:승인, REJ:반려, REP:답변)String + [data].comments[].userName댓글 작성자String + [data].comments[].attachment첨부파일Array + + + [data].comments[].attachment[]첨부파일Array + [data].comments[].attachment[].originalFileName업로드한 파일 이름String + [data].comments[].attachment[].filePath파일 다운로드 경로String + +
@@ -283,63 +211,105 @@

,"data":[

-

"resultCode":"0"

-

,"message": null

-

,"next_yn":"n"

-

,"msgGroupId":"MSGGID_0000000000000"

-

,"objectList":[

-

-
-

"msgTypeName":"단문(SMS)"

-

,"msgType":"4"

-

,"callFrom":"01011112222"

-

,"callTo":"01011112223"

-

,"msgGroupCnt":"2"

-

,"msgGroupId":"MSGGID_0000000013340"

-

,"msgId":"MSGID_0000000000001"

-

,"scnt":"2"

-

,"fcnt":"0"

-

,"wcnt":"0"

-

,"msgResult":"S"

-

,"smsTxt":"문자 내용 단문 예제"

-

,"subject":null

-

,"reqdate":"2023-06-13 17:48:07"

-

,"curState":"3"

-

,"userId":"testuser"

-

,"regdate":"2023-06-13 17:48:07"

-

,"reserveCYn":"N"

-

,"ttlCnt":"1"

-

,"remainMsgCnt":"40"

-

,"totMsgCnt":"70"

-
-

-

,{

-
-

"msgTypeName":"장문(LMS)"

-

,"msgType":"6"

-

,"callFrom":"01011112222"

-

,"callTo":"01011112223"

-

,"msgGroupCnt":"1"

-

,"msgGroupId":"MSGGID_0000000013341"

-

,"msgId":"MSGID_0000000000002"

-

,"scnt":"1"

-

,"fcnt":"0"

-

,"wcnt":"0"

-

,"msgResult":"S"

-

,"smsTxt":"문자 내용 장문 예제"

-

,subject":null

-

,reqdate":"2023-06-02 11:46:50"

-

,"curState":"3"

-

,"userId":"testuser"

-

,"regdate":"2023-06-02 11:46:49"

-

,"reserveCYn":"N"

-

,"ttlCnt":"1"

-

,"remainMsgCnt":"40"

-

,"totMsgCnt":"70"

-

-
-

-
+

"templateCode": "bizp_20250314105XXXXXXXXXXXXXXX"

+

,"templateName": "템플릿 명"

+

,"templateMessageType": "BA"

+

,"templateEmphasizeType": "TEXT"

+

,"templateContent": "템플릿 내용 예시"

+

,"templateExtra": "부가정보"

+

,"templateAd": "광고성 문구"

+

,"templateImageName": "template.jpg"

+

,"templateImageUrl": "https://cdn.example.com/image.jpg"

+

,"templateTitle": "강조 제목"

+

,"templateSubtitle": "보조 문구"

+

,"templateHeader": "템플릿 헤더"

+

,"categoryCode": "005001"

+

,"securityFlag": true

+

,"inspectionStatus": "REG"

+

,"createdAt": "2025-06-30 10:30:00"

+

,"modifiedAt": "2025-07-01 11:00:00"

+

,"status": "A"

+

,"block": false

+

,"dormant": false

+ + +

,"templateItemHighlight": {

+
+

"title": "하이라이트 제목"

+

,"description": "하이라이트 설명"

+

,"imageUrl": "https://cdn.example.com/thumb.jpg"

+
+

}

+ + +

,"templateItem": {

+
+

"list": [

+
+

+

"title": "아이템 제목"

+

,"description": "아이템 설명"

+

+
+

],

+

"summary": {

+
+

"title": "요약 제목"

+

,"description": "요약 설명"

+
+

}

+
+

}

+ + +

,"buttons": [

+
+

+

"name": "버튼명"

+

,"linkType": "WL"

+

,"linkAnd": "https://aos.example.com"

+

,"linkIos": "https://ios.example.com"

+

,"linkMo": "https://m.example.com"

+

,"linkPc": "https://www.example.com"

+

,"pluginId": "plugin123"

+

+
+

]

+ + +

,"quickReplies": [

+
+

+

"name": "빠른응답"

+

,"linkType": "WL"

+

,"linkAnd": "https://aos.quick.com"

+

,"linkIos": "https://ios.quick.com"

+

,"linkMo": "https://m.quick.com"

+

,"linkPc": "https://www.quick.com"

+

+
+

]

+ + +

,"comments": [

+
+

+

"content": "댓글 예시입니다."

+

,"createdAt": "2025-07-01 10:00:00"

+

,"status": "REQ"

+

,"userName": "관리자"

+

,"attachment": [

+
+

+

"originalFileName": "example.pdf"

+

,"filePath": "/download/example.pdf"

+

+
+

]

+

+
+

]

+

@@ -351,7 +321,7 @@

-

"resultCode":"3099"

+

"resultCode":"4099"

,"data":"기타 시스템 오류"