OPEN API · Purge

시스템 개요

Cache-Purge Open API 서버는 Cache-Purge 기능을 이용하여, Cache 서버에 Caching 되어 있는 Contents를 무효화(Caching된 컨텐츠 TTL값 0 설정)하는 기능을 지원합니다.
고객은 REST 방식의 Client를 이용하여 원격에서 Purge 기능을 이용할 수 있습니다.

지원 기능

기능내용비고
Purge 실행Cache 서버의 Contents 무효화
(Caching된 컨텐츠 TTL값 0 설정)
최대 50개 object
Wildcard Purge 기능 지원
Purge 결과 조회Purge 실행 결과 조회purgeticket 필요

Client 개발 환경

METHODPOST / GET
URLhttps://openapi.cloudn.co.kr/cdnservice/purge/Method_Name
프로토콜SSL (HTTPS) — REST (HTTP POST / GET)
지원 형식XML  JSON
고객 시스템
OpenAPI 서버
CDN Edge 서버
캐시 삭제 완료
POST

Purge 실행

https://openapi.cloudn.co.kr/cdnservice/purge/PurgeExecution/{request_type}
※ request_type: XML → PurgeExecution  |  JSON → PurgeExecution/json

Cache 서버에 Caching 되어 있는 Contents를 무효화합니다. XML 또는 JSON 형식의 요청 본문(Body)을 POST 방식으로 전송합니다.

요청 파라미터
구분ParameterTypeRequiredDescription
URLrequest_typeStringY요청 형식 지정
PurgeExecution (XML) / PurgeExecution/json (JSON)
commonaction_dateStringY요청시 현재 시간 (ISO 8601)
ex) 2025-10-08T15:19:21+00:00
versionStringYAPI 버전 정보  ex) 1.0.0
service_nameStringY서비스 명 (default: cdn)
user_idStringYUser Portal 계정 ID  ex) speedy_dev
인증passwdString택일계정 password
cloud_key_valueString택일계정 API Key
dataactionStringY실행 type  ex) purge
purge_domainStringYPurge 대상 도메인  ex) http://www.example.com
purge_urlArrayYPurge 대상 Contents 명 (배열)  ex) images/test.jpg
client_typeString조건부요청 client 종류. 업로드 계정 퍼지 시 필수  ex) web, ftp
💡 참고: BODY charset은 "UTF-8"로 지정. purge_url에 한글/특수문자 사용 시 UTF-8로 URL 인코딩하여 전송.
응답 파라미터 (POST / GET 공통)
구분ParameterTypeDescription
commonaction_dateString요청시 현재 시간 (ISO 8601)
versionStringAPI 버전 정보
service_nameString서비스 명
dataactionString실행 type  ex) purge
purge_domainStringPurge 대상 도메인
result_codeString결과 코드  → 에러 코드 참조
result_msgString결과 메시지  ex) success
purge_urlArrayPurge 대상 Contents 명 (배열)
purgeticket_listArrayContents별 고유 key 배열 (각 항목: purge_url + purgeticket)  ※ 결과 조회 시 필수 — 반드시 저장 관리
⚠️ 주의: & 문자는 XML 예약문자이므로 응답에서 &로 대체됩니다.
Example
📤 요청
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api_request>
  <common>
    <action_date>2025-10-08T15:19:21+00:00</action_date>
    <version>1.0.0</version>
    <user_info>
      <user_id>speedy_dev</user_id>
      <passwd>1234</passwd>
    </user_info>
    <service_name>cdn</service_name>
  </common>
  <data>
    <action>purge</action>
    <action_info>
      <client_type>web</client_type>
      <purge_object>
        <purge_domain>http://www.example.com</purge_domain>
        <purge_list>
          <purge_url>images/test1.gif</purge_url>
          <purge_url>file/test2.txt</purge_url>
        </purge_list>
      </purge_object>
    </action_info>
  </data>
</api_request>
📥 응답
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api_response>
  <common>
    <action_date>2025-10-08T15:19:21+00:00</action_date>
    <version>1.0.0</version>
    <service_name>cdn</service_name>
  </common>
  <data>
    <action>purge</action>
    <action_result>
      <purge_domain>http://www.example.com</purge_domain>
      <result_code>200</result_code>
      <result_msg>success</result_msg>
      <purgeticket_list>
        <purge_url>images/test1.gif</purge_url>
        <purgeticket>API_20251008110623_4909dfae...</purgeticket>
      </purgeticket_list>
    </action_result>
  </data>
</api_response>
📤 요청
{
  "api_request": {
    "common": {
      "user_info": {
        "user_id": "speedy_dev",
        "passwd": "1234"
      },
      "action_date": "2025-10-08T15:19:21+00:00",
      "version": "1.0.0",
      "service_name": "cdn"
    },
    "data": {
      "action": "purge",
      "action_info": {
        "client_type": "web",
        "purge_object": {
          "purge_domain": "http://www.example.com",
          "purge_list": {
            "purge_url": [
              "images/test1.gif",
              "file/test2.txt"
            ]
          }
        }
      }
    }
  }
}
📥 응답
{
  "api_response": {
    "common": {
      "action_date": "2025-10-08T15:19:21+00:00",
      "service_name": "cdn",
      "version": "1.0.0"
    },
    "data": {
      "action": "purge",
      "action_result": {
        "purge_domain": "http://www.example.com",
        "result_code": "200",
        "result_msg": "All Success",
        "purgeticket_list": [
          {
            "purge_url": "images/test1.gif",
            "purgeticket": "API_20251008110623_4909dfae..."
          }
        ]
      }
    }
  }
}
GET

Purge 실행

https://openapi.cloudn.co.kr/cdnservice/purge/PurgeExecutionGT
response_type=json 파라미터 추가 시 JSON 형식 응답 (기본값: xml)

Query String 파라미터를 이용한 GET 방식 Purge 실행 API입니다.

요청 파라미터
구분ParameterTypeRequiredDescription
datauser_idStringYUser Portal 계정 ID  ex) speedy_dev
passwdString택일계정 password
cloud_key_valueString택일계정 API Key
actionStringY실행 type  ex) purge
purge_domainStringYPurge 대상 도메인
purge_urlArrayYPurge 대상 Contents 명 (반복 파라미터)
client_typeString조건부업로드 계정 퍼지 요청 시 필수  ex) ftp
선택response_typeStringNJSON 응답 시 json 지정 (기본값: xml)
⚠️ 주의: password에 #{ }[ ]| 문자 포함 시 API 수행 불가. 비밀번호 변경 또는 API Key 발급 요청 필요.
💡 인코딩: purge_url에 한글/특수문자 사용 시 UTF-8로 URL 인코딩. 전체 값을 인코딩 (double encoding 아님).
Example Request (URL)
Ex 1) passwd 사용
GET https://openapi.cloudn.co.kr/cdnservice/purge/PurgeExecutionGT
  ?user_id=speedy_dev
  &passwd=1234
  &action=purge
  &purge_domain=http://www.example.com
  &purge_url=images/test.jpg
  &purge_url=file/list.txt
Ex 2) API Key 사용
GET https://openapi.cloudn.co.kr/cdnservice/purge/PurgeExecutionGT
  ?user_id=speedy_dev
  &cloud_key_value=1234
  &action=purge
  &purge_domain=http://www.example.com
  &purge_url=images/test.jpg
  &purge_url=file/list.txt
Ex 3) API Key + JSON 응답
GET https://openapi.cloudn.co.kr/cdnservice/purge/PurgeExecutionGT
  ?user_id=speedy_dev
  &cloud_key_value=1234
  &action=purge
  &purge_domain=http://www.example.com
  &purge_url=images/test.jpg
  &response_type=json
POST

Purge 결과 조회

https://openapi.cloudn.co.kr/cdnservice/purge/GetPurgeResult/{request_type}
※ request_type: XML → GetPurgeResult  |  JSON → GetPurgeResult/json

Purge 실행 결과를 조회합니다. Purge 실행 시 수신한 purgeticket 값이 필요합니다.

요청 파라미터 (POST)
구분ParameterTypeRequiredDescription
URLrequest_typeStringY요청 형식 지정
GetPurgeResult (XML) / GetPurgeResult/json (JSON)
commonaction_dateStringY요청시 현재 시간 (ISO 8601)
versionStringYAPI 버전 정보
service_nameStringY서비스 명 (default: cdn)
user_idStringYUser Portal 계정 ID
인증passwdString택일계정 password
cloud_key_valueString택일계정 API Key
dataactionStringY실행 type  ex) purge_result
client_typeStringY요청 client 종류  ex) web
응답 파라미터
구분ParameterTypeDescription
commonaction_dateString요청시 현재 시간 (ISO 8601)
versionStringAPI 버전 정보
service_nameString서비스 명
dataactionString실행 type
purge_domainString조회 도메인 명
result_codeString결과 코드  → 에러 코드 참조
result_msgString결과 메시지
purge_urlStringPurge 대상 Contents 명
resultStringPurge 결과 진행률  ex) 50%
fail_server_countIntegerPurge 실패 서버 개수  ex) 2
⚠️ 주의: & 문자는 XML 예약문자이므로 응답에서 &amp;로 대체됩니다.
Example
📤 요청
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api_request>
  <common>
    <action_date>2025-10-08T15:19:21+00:00</action_date>
    <version>1.0.0</version>
    <user_info>
      <user_id>speedy_dev</user_id>
      <passwd>1234</passwd>
    </user_info>
    <service_name>cdn</service_name>
  </common>
  <data>
    <action>purge_result</action>
    <action_info>
      <client_type>web</client_type>
      <purge_object>
        <purge_domain>http://www.example.com</purge_domain>
        <purgeticket>API_20251008110623_4909dfae...</purgeticket>
      </purge_object>
    </action_info>
  </data>
</api_request>
📥 응답
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api_response>
  <common>
    <action_date>2025-10-08T15:19:21+00:00</action_date>
    <version>1.0.0</version>
    <service_name>cdn</service_name>
  </common>
  <data>
    <action>purge_result</action>
    <action_result>
      <purge_domain>http://www.example.com</purge_domain>
      <result_code>200</result_code>
      <result_msg>success</result_msg>
      <purge_object>
        <purge_url>images/test1.gif</purge_url>
        <result>50%</result>
        <fail_server_count>2</fail_server_count>
      </purge_object>
    </action_result>
  </data>
</api_response>
📤 요청
{
  "api_request": {
    "common": {
      "user_info": {
        "user_id": "speedy_dev",
        "passwd": "1234"
      },
      "action_date": "2025-10-08T15:19:21+00:00",
      "version": "1.0.0",
      "service_name": "cdn"
    },
    "data": {
      "action": "purge_result",
      "action_info": {
        "purge_object": {
          "purgeticket": "API_20251008110623_4909dfae...",
          "purge_domain": "http://www.example.com"
        },
        "client_type": "web"
      }
    }
  }
}
📥 응답
{
  "api_response": {
    "common": {
      "service_name": "cdn",
      "action_date": "2025-10-08T15:19:21+00:00",
      "version": "1.0.0"
    },
    "data": {
      "action_result": {
        "result_msg": "success",
        "purge_object": {
          "result": "50%",
          "purge_url": "images/test1.gif",
          "fail_server_count": 2
        },
        "result_code": 200,
        "purge_domain": "http://www.example.com"
      },
      "action": "purge_result"
    }
  }
}
GET

Purge 결과 조회

https://openapi.cloudn.co.kr/cdnservice/purge/GetPurgeResultGT

Query String 파라미터를 이용한 GET 방식 Purge 결과 조회 API입니다. Purge 실행 시 수신한 purgeticket 값이 필요합니다.

요청 파라미터 (GET)
구분ParameterTypeRequiredDescription
datauser_idStringYUser Portal 계정 ID
passwdString택일계정 password
cloud_key_valueString택일계정 API Key
actionStringY실행 type  ex) purge_result
purge_domainStringY조회 대상 도메인
purgeticketStringYPurge 실행 시 수신한 고유 key 값
⚠️ 주의: password에 #{ }[ ]| 문자 포함 시 API 수행 불가.
Example Request (URL)
Ex 1) passwd 사용
GET https://openapi.cloudn.co.kr/cdnservice/purge/GetPurgeResultGT
  ?user_id=speedy_dev
  &passwd=1234
  &action=purge_result
  &purge_domain=http://www.example.com
  &purgeticket=API_20251008112603_9d95fa9d...
Ex 2) API Key 사용
GET https://openapi.cloudn.co.kr/cdnservice/purge/GetPurgeResultGT
  ?user_id=speedy_dev
  &cloud_key_value=1234
  &action=purge_result
  &purge_domain=http://www.example.com
  &purgeticket=API_20251008112603_9d95fa9d...

에러 코드

Cache-Purge Open API 서버의 응답(오류) 코드입니다.

2XX — 성공
코드내역비고
200요청 성공
201요청한 URL 중 일부만 성공
4XX — 실패
코드내역비고
401XML 파일 형식 오류
404데이터 없음결과 조회 시 purgeticket으로 조회된 결과 없음
41X — Purge object 오류
코드내역비고
410Purge object 미 기입
411Purge object에 잘못된 문자 입력
412Purge object 최대 요청 개수 오류max: 50개
42X — User 정보 오류
코드내역비고
420ID/PW 불일치
421Domain 정보 불일치
422Purge 권한 없음
에러 응답 예시 (XML)
<api_response>
  <common>
    <action_date>2025-10-08T15:19:21+00:00</action_date>
    <version>1.0.0</version>
    <service_name>cdn</service_name>
  </common>
  <data>
    <action>purge</action>
    <action_result>
      <result_code>420</result_code>
      <result_msg>ID/PW mismatch</result_msg>
    </action_result>
  </data>
</api_response>
💡 에러 발생 시 result_coderesult_msg로 원인을 확인하십시오.
💬 문의하기