8. 부가 서비스-통계

개요

통계 부가 기능의 경우, 기본적인 메시지 발송 기능 외에 기존 핑거푸시 사이트에 접속하여야만 확인이 가능했던 푸시 관련 통계 데이터를 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

대시보드 영역

❶ 월별 사용 현황(발송/오픈/삭제)

  • 파라미터

  • 결과 값

  • 결과 예시

{
  "code": "200",
  "pushs": [
    {
      "fail": "0",
      "day": "1",
      "sent": "0",
      "open": "0",
      "appdel": "0" 
    },
    ...
    ],
   "message": "" 
}
  • 결과 코드

❷ 월별 사용 현황(설치)

  • 파라미터

  • 결과 값

  • 결과 예시

{
  "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": "" 
}
  • 결과 코드

발송결과 리포트 영역

① 메시지에 따른 상태구분, 푸시 발송 시작일시, 메시지 등록일, 발송 완료일시, 발송수, 오픈수, 삭제수, 실패수, 설치수(전일 기준)

  • 파라미터

  • 결과 값

  • 결과 예시

{
  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일/지난 한달/기간 선택

  • 파라미터

  • 결과 값

  • 결과 예시

{
      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" 
             },
              ... 중략 ...
           ]
         }
  • 결과 코드

2) 수신거부 디바이스 현황: 지난7일/지난 한달/기간 선택

활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.

3) 설치 디바이스 현황: 지난7일/지난 한달/기간 선택

활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.

4) 접속 디바이스 현황: 지난7일/지난 한달/기간 선택

활성 디바이스API 와 동일한 파라미터/결과 값/결과 코드로 이루어져 있습니다. 호출 경로만 다르게 호출하면 됩니다.

발송이력

1) 메시지 번호, 메시지 제목, 메시지 내용, 발송 예정일, 메시지 등록일, 메시지 수정일, 발송 완료일시, 발송타입, 안드로이드 발송여부, iOS 발송여부, 발송수, 오픈수, 실패수, 앱 삭제수, 발송 라벨

  • 파라미터

  • 결과 값

  • 결과 예시

{
    "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);
?>

  • 액티브 디바이스 OS별 카운트

<?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);
?>

  • 시간별 설치 수 조회(최근 6시간)

<?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);
?>

Last updated