개요
통계 부가 기능의 경우, 기본적인 메시지 발송 기능 외에 기존 핑거푸시 사이트에 접속하여야만 확인이 가능했던 푸시 관련 통계 데이터를 Server to Server 방식으로 지원합니다.
핑거푸시의 Server to server 부가서비스 기능은 별도의 서비스 신청 후 바로 사용이 가능합니다.
비용 처리는 익월 정산 시 추가 청구됩니다.
Server to Server는 Restful 방식으로 처리되며 해당 API는 핑거푸시 서비스에서 원격 접속으로 제공 가능한 범위의 데이터에 한해서만 제공합니다.
해당 원격 통계 데이터 서비스는 일 1000회 호출로 제한하며, 운영 중 서비스 부하 및 데이터 구조 변경 등에 의해 이용 중 변경될 수 있습니다.
필수 값: appid, appkey, customerkey
Server To Server Push 메시지 발송을 위해 필수적으로 핑거푸시 서버에 전달되어져야 하는 Parameter에는 Application Key, Application Secret, Customer Key가 있습니다.
해당 값들은 핑거푸시 사이트에 로그인 하신 후 확인하실 수 있습니다.
1) Application Key 및 Application Secret, Customer key 조회
핑거푸시 사이트에서 로그인 후, 사용자 콘솔의 APP PUSH 메뉴를 클릭합니다.
선택하고자 하는 앱의 '앱 설정' 화면에 표시됩니다.
2) Customer Key: 12자리 난수로 되어 있으며 서비스 이용 권한 등을 조회하는데 이용되므로, 취급에 주의하셔야 합니다.
만일 Customer Key를 분실 혹은 유출이 된 경우 새로고침 버튼을 통해 해당 페이지에서 재발급을 받으실 수 있습니다.
Server to Server 개발내용이나 Agent 등 모든 원격 서비스에 영향을 주므로, 꼭 필요한 경우가 아니면 적용하지 말아야 합니다.
Customer key를 재발급 받으신 경우에는 관련 API 소스가 적용된 부분의 Customer key를 재발급 받으신 키로 변경해 주셔야 합니다.
API 호출
발송 방법
HTTPS Parameters: SSL Protocol을 이용하여 파라미터들을 핑거푸시 Server to Server API Server(이하 API Server)에 전달합니다.
API Server로 전달해야 할 파라미터들은 '1. 일괄 발송 > [표 1.1] 일괄 발송 HTTPS, Parameters'를 참조해 주세요.
제공 API
대시보드 영역
❶ 월별 사용 현황(발송/오픈/삭제)
검색하고자 하는 해당 월. ex) 202106
{
"code": "200",
"pushs": [
{
"fail": "0",
"day": "1",
"sent": "0",
"open": "0",
"appdel": "0"
},
...
],
"message": ""
}
❷ 월별 사용 현황(설치)
검색하고자 하는 해당 월. ex) 202106
{
"code": "200",
"message": "",
"apps": [
{
"d": "01",
"ios_installed": 0,
"and_installed": 0
},
...
]
}
❸ 액티브 디바이스 OS별 카운트
{
"code": "200",
"message": "",
"device": {
"android": "2",
"ios": "0"
}
}
❹ 시간별 설치 수 조회(최근 6시간)
핑거푸시 Ver 5.0부터는 시간별 설치수를 제공하지 않습니다.
{
"code": "200",
"list": [
{
"ios_installed": 0,
"h": "2021-06-13 06",
"and_installed": 0
},
...
],
"message": ""
}
발송결과 리포트 영역
① 메시지에 따른 상태구분, 푸시 발송 시작일시, 메시지 등록일, 발송 완료일시, 발송수, 오픈수, 삭제수, 실패수, 설치수(전일 기준)
DEFT: 전체발송
STOS: 타겟팅(캠페인/자동) 발송
등록된 메시지 번호. 결과 조회 시 사용
-Agent를 이용한 발송 시 Result 테이블의 msgidx 컬럼값
-Server ot server AP를 이용한 발송 시 결과 json의 msgIdx 값
ex) 전체 푸시 DEF_123456, 타겟팅 푸시 앞의 난수 10자리 뒤의 숫자값 A334D3d12A220112332
발송상태
T: 발송 대상 셋팅 중
R: 발송 대기
C: 성공
F: 실패
SP/P: 일시중지
{
message: "",
pushInfo: {
sendDate: "2022.04.10 18:00",
failedTotal: 0,
appDelTotal: 61,
openTotal: 2679,
sentTotal: 27234,
wdate: "2022.04.08 17:25",
resultDate: "2022.04.10 18:03:34",
installed_count: "361",
step: "C"
},
code: "200"
}
필수 파라미터가 없거나, 파라미터 유형이 맞지 않음
디바이스 통계 영역
1) 활성디바이스(액티브디바이스) 현황: 지난7일/지난 한달/기간 선택
W: 7일 데이터
M: 30일 데이터
B: 기간 검색
{
code: "200",
message: "",
avg_android_cnt_h: "1033.00",
avg_ios_cnt_h: "2334.00",
avg_cnt_h: "3367.00",
logs: [
{
date: "2019.06.04",
android_gap: "0",
total_cnt: "3367",
total_gap: "0",
ios_gap: "0",
ios_cnt: "2334",
android_cnt: "1033"
},
... 중략 ...
]
}
날자 형식이 맞지 않음
ex) yyyymmdd
2) 수신거부 디바이스 현황: 지난7일/지난 한달/기간 선택
활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.
3) 설치 디바이스 현황: 지난7일/지난 한달/기간 선택
활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.
4) 접속 디바이스 현황: 지난7일/지난 한달/기간 선택
활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.
발송이력
1) 메시지 번호, 메시지 제목, 메시지 내용, 발송 예정일, 메시지 등록일, 메시지 수정일, 발송 완료일시, 발송타입, 안드로이드 발송여부, iOS 발송여부, 발송수, 오픈수, 실패수, 앱 삭제수, 발송 라벨
해당하는 idx(해당 idx 하위의 다음 리스트를 호출)
메시지 상태값
C: 발송 완료
R: 발송 예약
S: 발송 중
F: 발송 실패
P: 일시정지
조회 시작기간
(조회 기간이 길면 s_date 기준으로 최대 조회일 제한)
{
"code": "200",
"size": 200,
"message": "정상 처리 되었습니다.",
"pushs": [
{
"msgIdx": "12345678912345678",
"title": "푸시 타이틀입니다.",
"message": "푸시 메시지입니다.",
"senddate": "2022-01-26 12:31:48",
"wdate": "2022-01-26 12:31:48",
"udate": "2022-01-26 12:31:48",
"step": "C",
"resultdate": "2022-01-26 12:32:05",
"isandroid": "Y",
"isios": "Y",
"sent": 0,
"opend": 0,
"failed": 0,
"appdel": 0,
"label_name": ""
},
... 중략 ...
]
}
호출 예
해당 통신 방법에 대한 내용은 github에 올려져 있는 Fingerpush Server to Server 샘플 클래스를 이용하여 개발 가능합니다.
JAVA Version
만일 핑거푸시 Server to Server 메시지 발송 샘플을 이용할 경우, 앞서 설명한 시간별 설치 수 조회 방법은 아래와 같이 처리할 수 있습니다.
// 1. 변수 선언
String jsonString = ""; // 서버로 발송 후 결과 메시지
String callUrl = "https://api-v2.fingerpush.com/rest/ext/v1/api명.jsp";
FingerpushDao pushDao = new FingerpushDaoImpl();
// 2. 파라미터 셋팅
List <BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
// 3. 필수값 셋팅
params.add (new BasicNameValuePair("appid", 앱아이디)); // (필수)
params.add (new BasicNameValuePair("appkey",앱 시크릿 키)); // (필수)
params.add (new BasicNameValuePair("customerkey",커스터머 키)); // (필수)
// 4. 파라미터 발송 후 결과 조회
jsonString = pushDao.sendHttpsUrlConExe(callUrl, params);
system.out.print(jsonString);
PHP Version
1. 대시보드 영역
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$option = array("sdate" => "202312");
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getAppSOD.jsp';
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$option = array("sdate" => "202312");
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getInstallM.jsp';
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getActiveDeviceCont.jsp';
$param = http_build_query($key);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getInstallH.jsp';
$param = http_build_query($key);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
2. 발송결과 리포트 영역
메시지에 따른 상태구분, 푸시 발송 시작일시, 메시지 등록일, 발송 완료일시, 발송수, 오픈수, 삭제수,
실패수, 설치수(전일 기준)
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getPushInfo.jsp';
// 68LA2F7SZQ17030542667996621 -> 17030542667996621 // STOS 방식
// DEF_17030553691436908 -> 17030553691436908 // DEFT 방식
$msgidx = "17030553691436908"; // DEF_ 제외한 msgidx값
$option = array(
"mode" => "DEFT", // DEFT: 전체발송, STOS: 타겟팅(캠페인/자동) 발송 (필수)
"msg_idx" => $msgidx // msgidx (필수)
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
3. 디바이스 통계 영역
활성디바이스(액티브디바이스) 현황: 지난7일/지난 한달/기간 선택
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getActiveDevice.jsp';
$option = array(
"mode" => "W", // W: 7일, M: 30일, B: 기간검색(필수)
"sdate" => '', // mode 가 B 일때
"edate" => '', // mode 가 B 일때
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
수신거부 디바이스 현황: 지난7일/지난 한달/기간 선택
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getDeactiveDevice.jsp';
$option = array(
"mode" => "W", // W: 7일, M: 30일, B: 기간검색(필수)
"sdate" => '', // mode 가 B 일때
"edate" => '', // mode 가 B 일때
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
설치 디바이스 현황: 지난7일/지난 한달/기간 선택
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getInstalledDevice.jsp';
$option = array(
"mode" => "W", // W: 7일, M: 30일, B: 기간검색(필수)
"sdate" => '', // mode 가 B 일때
"edate" => '', // mode 가 B 일때
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
접속 디바이스 현황: 지난7일/지난 한달/기간 선택
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getConnectedDevice.jsp';
$option = array(
"mode" => "W", // W: 7일, M: 30일, B: 기간검색(필수)
"sdate" => '', // mode 가 B 일때
"edate" => '', // mode 가 B 일때
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>
4. 발송 이력
메시지 번호, 메시지 제목, 메시지 내용, 발송 예정일, 메시지 등록일, 메시지 수정일, 발송 완료일시,
발송타입, 안드로이드 발송여부, iOS 발송여부, 발송수, 오픈수, 실패수, 앱 삭제수, 발송 라벨
<?php
// 공통 필수
$key = array(
'appid' => '[발급받은 appkey]',
'appkey' => '[발급받은 appsecret]',
'customerkey' => '[발급받은 customerkey]',
);
$url = 'https://api-v2.fingerpush.com/rest/ext/v1/getPushList.jsp';
$option = array(
"mode" => "DEFT", // DEFT: 전체 푸시, STOS: 타겟팅 푸시 (필수)
"msgidx" => "",
"listCount" => "2", // 조회수(최대 200개) : 2개
"step" => "F", // C: 발송완료, R: 발송예약, S: 발송중, F: 발송실패, P: 일시정지
"s_value" => "",
"label_code" => "",
"s_date" => "20231210", // 검색 시작일 : 20231210
"e_date" => "20231220", // 검색 종료일 : 20231220
);
$data = array_merge($key, $option);
$param = http_build_query($data);
$ch = curl_init (); // cURL 선언
curl_setopt ( $ch, CURLOPT_URL, $url ); // URL 세팅
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false ); // 인증서 체크
curl_setopt ( $ch, CURLOPT_SSLVERSION, 1 ); // SSL 버전 -> 1만 된다.
curl_setopt ( $ch, CURLOPT_HEADER, 0 ); // 헤더 출력 여부
curl_setopt ( $ch, CURLOPT_POST, 1 ); // POST, GET 접속 여부
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 ); // Time Out 세팅
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // 결과값 리턴 여부
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $param ); // parameter
$res = curl_exec ( $ch ); // cURL 실행하고 결과 저장
/* cURL 에러검출 */
$cErrno = curl_errno($ch);
if ($cErrno == 0) $response = trim($res);
else $response = exit;
curl_close ( $ch ); // cURL을 닫고 자원 반환
// 1. json 처리시
echo $response;
// 2. object 처리시
$result = json_decode ( $response, true ); // 결과값 JSON 디코드
print_r($result);
?>