2-2. 수신 대상자 정보 발송
HTTPS Parameters
앞서 메시지 정보를 보내고 해당 메시지에 대한 IDX를 얻었다면, 보내야 할 대상자들을 500개 한 묶음으로 메시지 IDX와 함께 API서버로 SSL Protocol을 이용하여 파라미터들을 API Server에 전달합니다.
API Server로 전달해야 할 파라미터 들은 아래 표를 참조해 주세요.
[표 2.5] 다수 발송 메시지 HTTPS, Parameters
appkey
필수
-
Application key
appsecret
필수
-
Application Secret
customerkey
필수
-
Customer key
msgidx
필수
-
메시지를 셋팅하고 돌려받은 메시지 idx 값
identity
필수
50
메시지를 받을 대상자(500건 이하로 입력)
message
필수
1000
대상자에게 보낼 메시지(500건 이하로 입력)
prv_attachfname
선택
256
대상자에게 보낼 이미지(500건 이하로 입력)
prv_linkurl
선택
200
대상자에게 보낼 웹링크(500건 이하로 입력)
prv_title
선택
100
대상자에게 보낼 제목(500건 이하로 입력)
Response JSON
API 서버에서 전달 받은 파라미터 처리 후 결과를 JSON 형태로 제공합니다. 만일 발송 대상이 남아 있다면, 해당 결과 수신 후 남은 대상자에 따라 몇 회에 걸쳐 수신 대상자 목록을 발송합니다. (한 번에 최대 500건 단위)
{"result" : "200", "msgIdx" : "A1DS33DDSQ2321", "processCode" : "20002", "message" : "대상자 등록이 처리되었습니다. 대상자를 계속 등록하실 수도, 메시지 등록을 완료하실 수도 있습니다."}JSON 형태로 제공되는 결과 값 및 각 데이터의 코드값에 대한 설명은 [표 2.3] 발송 JSON 결과의 result code 유형과 [표 2.4] JSON 결과의 processCode code 유형을 참조해 주시기 바랍니다.
샘플 소스 설명
다수의 대상자에게 메시지 보내기 두 번째 단계인 대상자 발송의 경우 기본 메시지 전달 후 수신 받은 메시지 IDX(msgidx)와 수신 대상 목록인 식별자(identity) 대상 목록 및 필수 값인 appkey/appsecret/customerkey를 파라미터에 담아 API서버로 보내면 해당 내용에 대해 처리 후 결과 값을 반환합니다.
결과 값에 대해 메시지 전송을 완료할 수도, 대상자를 더 보낼 수도 있습니다.
JAVA Version
Github에 올려져 있는 샘플소스는 아래 설명된 내용 중 중복된 부분들을 method화 하여 처리하므로 약간의 차이가 있을 수 있으나, 기본 발송 방식의 설명이므로 해당 중복되는 부분을 풀어서 설명하도록 하겠습니다.
다수 발송의 첫 단계인 기본 메시지 발송의 부분은 앞서 설명한, 일괄 발송 및 단일 건 발송과 마찬가지로 필수값 및 메시지 부가 정보를 전송하는 것과 동일합니다.
1) 파라미터를 담을 List 객체를 선언해 전달할 값들을 셋팅 합니다.
2) 필수값들을 셋팅 합니다.
3) 푸시를 받을 대상자들을 셋팅 합니다. 한 번에 보내는 대상자는 500건 이하로 해야 합니다.
4) 기존 HttpClient의 DefaultHttpClient를 이용한 원격 접속 방식이 deprecated 된 이유로 HttpsURLConnection을 이용하여 접속합니다. 물론 deprecated 되었다고 해서 DefaultHttpClient 방식이 동작하지 않는 것은 아닙니다. 해당 방식 역시 github에 올려져 있는 샘플 소스에 구현되어 있습니다.
예제: FingerpushDaoImpl.sendHttpsExe(String callUrl, List <BasicNameValuePair> params))
전달하는 파라미터는 UTF-8로 인코딩 하여 전달해야 합니다.
예제: 샘플의 FingerpushDaoImpl.sendHttpsUrlConExe(String callUrl, List <BasicNameValuePair> params)
5) 받은 결과는 JSON 타입의 String 이므로 결과에 맞게 변환하여 사용하시는 UI에 적용하시면 됩니다.
6) 해당 결과로 받은 내용을 JSON 형식으로 받아 파싱한 결과에 따라 다음 프로세스(대상자 발송)를 준비합니다. 샘플 파일에서는 JSON 형식의 String 문자열을 JSON Object로 바꾸어 파싱하기 위해 sourceforge에서 배포하는 JSON-lib (http://sourceforge.net/projects/json-lib/files/)를 사용합니다.
결과값 result : 200, processcode : 20002 에 따라 대상자를 더 보낼 수도 메시지 전송을 마칠 수도 있습니다.
PHP Version
Github에 올려져 있는 샘플소스는 아래 설명된 내용 중 중복된 부분들을 method화 하여 처리하므로 약간의 차이가 있을 수 있으나, 기본 발송 방식의 설명이므로 해당 중복되는 부분을 풀어서 설명하도록 하겠습니다.
다수 발송의 첫 단계인 기본 메시지 발송의 부분은 앞서 설명한, 일괄 발송 및 단일 건 발송과 마찬가지로 필수값 및 메시지 부가 정보를 전송하는 것과 동일합니다.
1) 기본 앱 정보를 세팅합니다.
2) 푸시를 받을 대상자와 받을 메시지들을 세팅합니다. 만일 발송 대상이 남아 있다면, 해당 결과 수신 후 남은 대상자에 따라 몇 회에 걸쳐 수신 대상자 목록을 발송합니다. (한 번에 최대 500건 단위) 이때 '메시지 기본 정보 발송'에서 통신으로 받은 결과값 중 msgidx를 포함 시킵니다.
3) 앱 기본정보와 옵션값을 URL 인코드 한 쿼리 문자열로 생성합니다.
4) PHP cURL 라이브러리를 이용하여 핑거푸시 API와 통신합니다.
PHP cURL 라이브러리: https://www.php.net/manual/en/book.curl.php
다수에게 메시지 발송 API URL: https://api-v2.fingerpush.com/rest/sts/v4/setSTSPushs.jsp
cURL을 아래와 같이 HTTPS통신으로 세팅합니다.
5) 전달 받은 JSON 문자열 결과값을 PHP 변수로 변환합니다.
6) 해당 결과로 받은 내용을 JSON형식으로 받아 파싱한 결과가 result: 200, processCode:20002인 경우 대상자를 더 보낼 수도 메시지 전송을 마칠 수도 있습니다.
[표 2.2] 발송 JSON 결과와 [표 2.3] 발송 JSON 결과의 result code 유형을 참조해 주시기 바랍니다.
Last updated