콘텐츠로 이동

세션 매니저 API 가이드

워터마크 전처리를 마친 ‘0’과 ‘1’ 두 버전의 콘텐츠(DASH 또는 HLS)는 사용자의 재생 요청 시에 실시간으로 조합되어 클라이언트에 전달됩니다. 도브러너 포렌식 워터마킹 서비스에서 제공하는 세션 매니저는 해당 재생 세션의 정보와 조합할 콘텐츠 URL을 입력받아, 최종 사용자에게 전달될 세션 URL을 생성합니다.

서비스 사이트는 아마존 CloudFront 또는 아카마이 CDN의 워터마크 연동을 통해 세션 URL에 따라 조합된 콘텐츠를 클라이언트에 스트리밍할 수 있습니다.

sequenceDiagram
    participant A as 서비스 사이트
    participant B as 도브러너 클라우드
    A ->> B: 콘텐츠URL, 세션 정보 전달
    Note right of B: 세션 매니저
    B -->> B: 세션 키(Payload) 생성 및 세션 정보 저장
    B ->> A: 세션 URL 전달

세션 매니져 API 는 2가지 요청 방법을 지원합니다.
Authorization 헤더가 Http Header에 포함되어 있으면 JWT 인증 방식으로 작동합니다.

  • pallycon-apidata 연동 (aes 암호화 방식)
  • JWT 인증

세션 매니저 API 샘플 코드를 이용해 세션 URL을 생성하는 방법에 대한 영상입니다. (영상 후반부 참조)

도브러너 서비스에서 사용하는 각종 HTTP API 요청시 아래 규격을 따릅니다.

API 요청 규격에 대한 샘플 코드는 샘플 다운로드 페이지에서 확인하시기 바랍니다.

Param keyValue
pallycon-apidatabase64 Encoding ( JSON string )
{
"data":"{각 API 별 `API 데이터` JSON 값을 aes256 cbc 암호화한 base64 문자열}",
"timestamp":"{yyyy-mm-ddThh:mm:ssZ}",
"hash":"{아래 'SHA256 입력 포맷'의 문자열 값을 sha256 해시 처리한 base64 문자열}"
}

요청 데이터 명세

KeyTypeRequiredDescription
dataStringY각 API마다 정의된 규격으로 생성한 JSON 문자열을 AES 암호화하고, 결과값을 base64 문자열로 입력
timestampStringYGMT 시간대 기준으로 요청 시점의 시간을 “yyyy-mm-ddThh:mm:ssZ” 포맷으로 입력
hashStringY아래 규격에 따라 생성한 해시값을 입력

AES256 Encryption

aes256 Encryption/Decryption 처리는 도브러너 Cloud 서비스 사이트 생성 시 발급 되는 Site 키 값을 이용하여 아래와 같이 처리 합니다. ( 도브러너 콘솔 사이트에서 확인 )

  • mode : CBC
  • AES key : 32 byte (도브러너 콘솔 사이트에서 발급 되는 site key)
  • AES IV : fixed 16 byte (0123456789abcdef)
  • padding : pkcs7

SHA256 message Format

SHA256 해시의 입력값은 다음과 같은 문자열을 조합해 입력합니다.

[site access key] + [site_id] + [json.data] + [json.timestamp]
  • site access key: 도브러너 Cloud 서비스 사이트 생성 시 발급 되는 access key 값이며 도브러너 콘솔 사이트에서 확인 가능합니다.
  • sha256 해시 함수의 결과 값은 문자열로 변환하지 않고 바이너리 데이터 형태 그대로 base64 함수에 입력되어야 합니다.

Authorization 헤더에 토큰 api를 통해 발급된 데이터를 설정하여 Session API를 호출할 수 있습니다.

  • JWT 인증 규격을 통한 Session API 호출 시 아래 과정을 통해 생성한 인증 토큰을 설정해야 합니다.

1단계: Base64 인코딩된 인증 매개변수 생성

  1. 웹 브라우저로 도브러너 데브콘솔의 Base64 Enc/Dec 페이지에 접속합니다.
  2. Encrypt 옵션이 선택된 상태에서 AccountID:AccessKey 형태의 값을 왼쪽 필드에 입력합니다.
  3. 아래 스크린샷 이미지와 같이 Base64 인코딩 된 값이 화면 오른쪽에 출력됩니다.
  4. 다음 단계에서 사용을 위해 출력된 값을 복사해둡니다.

AccountIDAccessKey 값은 각각 도브러너 서비스 가입 시 입력한 계정 ID와 가입 후 콘솔에 표시되는 엑세스 키를 입력해야 합니다.

2단계: 인코딩 된 매개변수를 이용해 인증 토큰 생성

1단계에서 생성한 Base64 인코딩 결과 값을 아래 토큰 API 요청의 Authorization 헤더에 설정해 API를 호출합니다.

매개변수유형설명
siteId네자리 영숫자콘솔에 표시되는 도브러너 사이트 ID
헤더 명설명
Authorization기본 인증 : Basic base64encode(userId:accessKey)

요청 예제

GET /api/v2/token/DEMO HTTP/1.1
Authorization: basic authInfo
Host: watermark.pallycon.com
필드유형
error_codeString에러 코드
error_messageString에러 메시지
data.tokenStringAPI 인증 토큰

응답 예제

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 112
{
"error_code" : "0000",
"error_message" : "Success.",
"data" : {
"token" : "Bearer valid-token"
}
}

Authorization 헤더에 토큰 API를 통해 발급된 데이터를 설정하여 세션 매니저 API를 호출할 수 있습니다.

응답 상태

HTTP 상태 코드설명
200성공
401JWT 토큰 규격이 잘못 되었거나 사용자 정보를 찾을 수 없습니다.
403API 이용 권한이 없습니다.

응답 데이터 필드

유형
error_codeString0000: 성공 / 실패 시 해당 에러코드
error_messageString에러 메시지
dataJsonAPI 수행 결과

클라이언트에서 재생할 세션 URL(DASH mpd 또는 HLS m3u8 주소)을 받아오는 API입니다. 패키징 단계에서 A/B로 전처리된 결과물의 URL과 워터마크로 임베딩될 세션 정보(forensic mark)를 입력값으로 전달합니다.

  • 도브러너 HTTP API 규격으로 호출
  • URL : https://watermark.pallycon.com/api/v2/session/watermarkUrl/{site_id}
  • Method: GET

URL의 ‘site_id’ 부분은 도브러너 콘솔 사이트에서 발급된 실제 사이트 ID를 입력해야 합니다.

{
"domain": {domain},
"output_path": {output_path},
"cid": {cid},
"streaming_format": {dash/hls},
"cmaf": {true/false},
"forensic_mark": {forensic_mark},
"wmt_type": {aes/jwt},
"prefix_folder": "wm-contents",
"revoke_flag": {true/false}
}

API 데이터 명세

KeyTypeRequiredDescription
domainStringY재생할 콘텐츠 URL의 도메인 부분. 일반적으로 CDN이 적용된 콘텐츠 URL 도메인을 입력. (예: xxxx.cloudfront.net)
output_pathStringY워터마크 패키징 요청 시 입력한 출력 경로
cidStringY콘텐츠의 고유 ID
streaming_formatStringY콘텐츠의 스트리밍 유형 (dash 또는 hls)
cmafBooleanNCMAF 여부 (기본값: false)
forensic_markStringY워터마크로 적용될 세션 데이터 (사용자 ID, 클라이언트 정보 등), 최대 254 byte
wmt_typeStringN세션 URL에 사용되는 워터마크 데이터 형식 (기본값: aes)
- aes: CloudFront CDN 연동에 사용되는 도브러너 고유 규격
- jwt: Akamai, Fastly 등의 CDN 연동에 사용되는 JWT 토큰 규격
prefix_folderStringN (T&P 서비스의 경우는 Y)T&P 서비스에 의해 패키징된 FWM 콘텐츠의 경우 wm-contents 값을 여기에 입력합니다.
revoke_flagStringN세션 차단 적용 여부 (기본값: false)
{
"error_code": {error_code},
"error_message": {message},
"data": {watermark_session_url}
}

응답 데이터 명세

KeyTypeDescription
error_codeString”0000” : 성공, 에러인 경우 영문/숫자로 정의된 에러코드
error_messageString에러 메세지 내용
dataString성공한 경우, 변환된 세션 URL (워터마크 URL) 리턴. 세션 URL 형식: 아래 설명 참조
  • CloudFront용 URL (aes type): <content CDN domain>/dldzkdpsxmdnjrtm/<encrypted payload>/<output_path>/<cid>/<stream_format>/<manifest file>

    • 차단 적용 URL: <content CDN domain>/dldzkdpsxmdnjrtm/<revoke_token>.<encrypted payload>/<output_path>/<cid>/<stream_format>/<manifest file>
  • Akamai, Fastly용 URL (jwt type): <content CDN domain>/<WMT>/<output_path>/<cid>/<stream_format>/<manifest file>

  • 세션 URL 구성

    항목설명
    content CDN domain콘텐츠를 서비스하는 CDN의 도메인명. 요청 데이터의 도메인 값을 기준으로 설정됨
    dldzkdpsxmdnjrtm미리 정의된 고정 키워드 (CloudFront 연동 용)
    encrypted payload세션 매니저에서 생성된 세션 키(Payload)를 암호화한 데이터 (CloudFront 연동 용)
    WMT세션 매니저에서 생성된 세션 키(Payload)가 포함된 JWT 토큰 (Akamai, Fastly 연동 용)
    output_path콘텐츠가 저장된 경로. 요청 데이터의 콘텐츠 URL을 기준으로 설정됨
    cid콘텐츠의 고유 ID (ContentID)
    stream_format콘텐츠의 스트리밍 유형에 따라 dash 또는 hls 입력됨
    manifest file스트리밍 유형에 따라 stream.mpd 또는 master.m3u8 입력됨

세션 URL에서 사용되는 워터마크 토큰 데이터(Encrypted payload 또는 WMT)를 직접 요청하는 API입니다. 콘텐츠 경로와 CID, 스트리밍 유형 등의 형식이 고정된 세션 URL API를 사용하는 대신, 직접 임의의 규격으로 세션 URL을 구성하려는 경우에 사용할 수 있습니다.

  • 도브러너 HTTP API 규격으로 호출
  • URL : https://watermark.pallycon.com/api/v2/session/watermarkToken/{site_id}
  • Method: GET

URL의 ‘site_id’ 부분은 도브러너 콘솔 사이트에서 발급된 실제 사이트 ID를 입력해야 합니다.

{
"forensic_mark": {forensic_mark},
"wmt_type": {aes/jwt},
"streaming_format": {dash/hls},
"cmaf": {true/false}
}

API 데이터 명세

KeyTypeRequiredDescription
forensic_markStringY워터마크로 적용될 세션 데이터 (사용자 ID, 클라이언트 정보 등), 최대 254 byte
wmt_typeStringN세션 URL에 사용되는 워터마크 데이터 형식 (기본값: aes)
- aes: CloudFront CDN 연동에 사용되는 도브러너 고유 규격
- jwt: Akamai, Fastly 등의 CDN 연동에 사용되는 JWT 토큰 규격
streaming_formatStringY콘텐츠의 스트리밍 유형 (dash 또는 hls)
cmafBooleanNCMAF 여부 (기본값: false)
revoke_flagStringN세산 차단 적용 여부 (기본값: false)
{
"error_code": {error_code},
"error_message": {message},
"data": {watermark_token_data}
}
  • 세션 차단이 적용된 토큰: <revoke_token>.<encrypted payload>

응답 데이터 명세

KeyTypeDescription
error_codeString”0000” : 성공, 에러인 경우 영문/숫자로 정의된 에러코드
error_messageString에러 메세지 내용
dataString성공한 경우, 요청 데이터의 wmt_type 값에 따라 CloudFront 연동용 Encrypted Payload 또는 Akamai/Fastly 연동용 WMT 토큰 값을 리턴

세션 URL API를 통해 생성된 세션 정보를 조회할 수 있는 API입니다. 도브러너 Console 사이트에서도 동일한 정보를 조회할 수 있습니다.

  • 도브러너 HTTP API 규격으로 호출
  • URL : https://watermark.pallycon.com/api/v2/session/list/{site_id}
  • Method: GET

URL의 ‘site_id’ 부분은 도브러너 콘솔 사이트에서 발급된 실제 사이트 ID를 입력해야 합니다.

{
"keyword": {search keyword},
"search_keyword_type": {watermark, sessionKey},
"from": {yyyymmddhhmmss},
"to": {yyyymmddhhmmss},
"page_unit": {long value},
"last_key": {string},
"last_created_time": {yyyymmddhhmmss}
}

API 데이터 명세

KeyTypeRequiredDescription
keywordStringN결과값에 대한 키워드 검색 시, 아래 검색 유형에 해당하는 키워드를 입력
search_keyword_typeStringN키워드 검색 유형 (watermark 또는 sessionKey 입력)
fromStringN세션 API 요청 시간을 기준으로 한 검색 시작 날짜 (yyyyMMddHHmmss 형식 GMT 시간)
toStringN검색 종료 날짜 (yyyyMMddHHmmss 형식 GMT 시간)
page_unitLongN조회할 항목 갯수 (default: 25)
last_keyStringN마지막으로 조회한 세션키
last_created_timeStringN마지막으로 조회한 세션키의 생성 시간 (yyyyMMddHHmmss 형식 GMT 시간)
{
"error_code": {error_code},
"error_message": {message},
"count": {watermark_url},
"lastKey": {
"key": {sessionKey},
"createdTime": {YYMMDDhhmmss}
},
"data": [{
"key": {sessionKey},
"forensicMark": {watermark},
"createdTime": {YYMMDDhhmmss}
}]
}

응답 데이터 명세

KeyTypeDescription
error_codeString”0000” : 성공, 에러인 경우 영문/숫자로 정의된 에러코드
error_messageString에러 메세지 내용
countString조회된 항목 갯수
lastKeyJson마지막으로 조회된 세션키 정보
dataJson Array조회된 세션 정보 목록

lastKey 항목 명세

KeyTypeDescription
keyString마지막으로 조회된 세션키
createdTimeString마지막 조회된 세션키의 생성 날짜 (yyyyMMddHHmmss 형식 GMT 시간)

data 항목 명세

KeyTypeDescription
keyString마지막 조회된 세션키
forensicMarkString세션 API 요청 데이터를 통해 입력된 워터마크 정보 (예: 최종 사용자 ID, IP주소 등)
createdTimeString마지막 조회된 세션키의 생성 날짜 (yyyyMMddHHmmss 형식 GMT 시간)

세션 URL API를 통해 생성된 세션 성공 정보를 조회할 수 있는 API입니다. 도브러너 Console 사이트에서도 동일한 성공 정보를 조회할 수 있습니다.

  • 도브러너 HTTP API 규격으로 호출
  • URL : https://watermark.pallycon.com/api/v2/session/success/{site_id}
  • Method: GET

URL의 ‘site_id’ 부분은 도브러너 콘솔 사이트에서 발급된 실제 사이트 ID를 입력해야 합니다.

{
"keyword": {search keyword},
"search_keyword_type": {watermark, sessionKey},
"from": {yyyymmddhhmmss},
"to": {yyyymmddhhmmss},
"page_unit": {long value},
"page_index": {long value}
}

API 데이터 명세

KeyTypeRequiredDescription
keywordStringN결과값에 대한 키워드 검색 시, 아래 검색 유형에 해당하는 키워드를 입력
search_keyword_typeStringN키워드 검색 유형 (watermark 또는 sessionKey 입력)
fromStringN세션 API 요청 시간을 기준으로 한 검색 시작 날짜 (yyyyMMddHHmmss 형식 GMT 시간)
toStringN검색 종료 날짜 (yyyyMMddHHmmss 형식 GMT 시간)
page_unitLongN조회할 항목 갯수 (default: 25)
page_indexLongN검색 결과 페이지 번호(default: 1)
{
"error_code": {error_code},
"error_message": {message},
"count": {watermark_url},
"data": [{
"error_code": {errorCode},
"forensicMark": {watermark},
"createdTime": {YYMMDDhhmmss}
}]
}

응답 데이터 명세

KeyTypeDescription
error_codeString”0000” : 성공, 에러인 경우 영문/숫자로 정의된 에러코드
error_messageString에러 메세지 내용
countString조회된 항목 갯수
dataJson Array조회된 세션 정보 목록

data 항목 명세

KeyTypeDescription
errorCodeString세션 발급 실패 에러 코드
forensicMarkString세션 API 요청 데이터를 통해 입력된 워터마크 정보 (예: 최종 사용자 ID, IP주소 등)
createdTimeString마지막 조회된 세션키의 생성 날짜 (yyyyMMddHHmmss 형식 GMT 시간)
에러 코드상태원인해결 방안
0000API 응답 성공
A1000API 파라미터 오류API URL의 파라미터가 null이거나 잘못된 값이 입력되었습니다.API 가이드에 따라 정확한 파라미터를 입력해 다시 호출합니다.
A1002Timestamp 형식 오류pallycon-apidata 내부의 timestamp 형식이 잘못되었습니다.timestamp 값을 yyyy-mm-ddThh:mm:ssZ 형식의 GMT 시간으로 입력합니다.
A1003사이트 ID 값을 찾을 수 없음API 파라미터에 사이트 ID가 누락되었거나 잘못된 값이 입력되었습니다.도브러너 콘솔 사이트에서 정확한 사이트 ID (네자리 영숫자) 값을 확인해 적용합니다.
A1006사이트 키 복호화 실패pallycon-apidatadata 부분이 잘못된 사이트 키로 암호화 되었습니다.도브러너 콘솔 사이트에서 정확한 사이트 키 값을 확인해 적용합니다.
A1007해시 검증 실패API 요청 데이터의 해시 값이 잘못 생성되었습니다.API 가이드 문서를 참고해 정확한 해시 값을 적용합니다.
A1008데이터베이스 접속 실패API 서버 내부적으로 데이터베이스 접속이 실패하였습니다.
A1915사이트 ID 값 오류API 파라미터에 사이트 ID가 누락되었거나 잘못된 값이 입력되었습니다.도브러너 콘솔 사이트에서 정확한 사이트 ID 값을 확인해 적용합니다.
A1916워터마크 데이터 길이 오류forensic_mark 항목에 입력된 워터마크 데이터 길이가 254 바이트를 초과했습니다.해당 값을 254 바이트보다 짧게 줄여 입력합니다.
A1917트라이얼 계정 제한 초과트라이얼 계정에 적용된 세션 API 호출 제한(최대 1,000회)이 초과되었습니다.상용 계정으로 전환하거나 필요 시 헬프데스크를 통해 트라이얼 제한 초기화를 요청합니다.
A1918포렌식 워터마크 서비스 중지됨트라이얼이 만료되었거나 상용 서비스가 중단되었습니다.트라이얼 고객인 경우, 상용 플랜으로 전환하거나 필요 시 콘솔에서 트라이얼 연장을 신청합니다. 상용 플랜 이용 중에 해당 에러가 발생한 경우에는 헬프데스크로 문의해 주시기 바랍니다.
A2001워터마크 URL 생성에 필요한 파라미터 누락API 입력 데이터에 필요한 파라미터가 누락되었습니다.API 가이드 문서를 참고해 정확한 입력값을 적용합니다.
A2002트라이얼 제한 관련 오류 발생데이터베이스 연결 오류로 트라이얼 카운트 업데이트를 하지 못했습니다.
A2003스트리밍 포맷 입력값 오류streaming_format 입력값이 누락되거나 잘못되었습니다.대상 스트림 포맷에 따라 dash 또는 hls 를 정확히 입력합니다.
A2004API 입력 데이터 파싱 실패규격에 맞지 않는 데이터가 입력되었습니다.API 가이드 문서를 참고해 정확한 규격의 pallycon-apidata를 적용합니다.
A2005워터마크 토큰 생성에 필요한 파라미터 누락API 입력 데이터에 필요한 파라미터가 누락되었습니다.API 가이드 문서를 참고해 정확한 입력값을 적용합니다.
A4002워터마크 데이터 저장 실패API 서버 내부적인 데이터베이스 접속 오류로 인해 워터마크 데이터를 저장하지 못했습니다.
A4003워터마크 데이터 생생 실패시스템 내부 오류로 인해 워터마크 데이터를 생성하지 못했습니다.
A5001아카마이 인증 키가 등록되지 않음아카마이 CDN 연동에 필요한 인증 키를 찾을 수 없습니다.헬프데스크를 통해 아카마이 인증 키 등록을 요청합니다.
A5002아카마이 연동 토큰 오류아카마이 워터마크 토큰과 관련해 내부 오류가 발생했습니다.
A7008API 데이터 파싱 실패pallycon-apidata 값이 누락되었거나 잘못 생성되었습니다.API 가이드 문서를 참고해 정확한 규격의 pallycon-apidata를 적용합니다.
A7009API 버전 오류지원되지 않는 API 버전이 사용되었습니다.API URL의 버전 정보를 확인해 정확한 버전을 사용합니다.
A7010날짜 형식 오류파라미터 중 fromto 항목의 날짜 형식이 잘못되었습니다.YYYY-MM-DD 형식의 날짜 데이터를 사용합니다.
A7011매니페스트에 워터마크 적용 실패내부 오류로 인해 스트림 매니페스트에 워터마크를 적용하지 못했습니다.
A7012매니페스트 확인 실패내부 오류로 인해 스트림 매니페스트를 확인하지 못했습니다.
A7013지원되지 않는 스트림 형식stream_format 항목에 dash 또는 hls 이외의 값이 입력되었습니다.대상 스트림 포맷에 따라 dash 또는 hls 를 정확히 입력합니다.
A9001유효하지 않는 토큰 형식jwt token 이 유효 하지 않습니다.basic token 포맷에 맞게 입력합니다.
A9002유요하지 않는 토큰 페이로드jwt token payload 가 유효 하지 않습니다.
A9008계정 오류사용자 게정이 정확하지 않습니다.사용자 정보를 확인합니다.

pallycon-apidata를 이용하는 단계 별 예제 (세션 URL API)

Section titled “pallycon-apidata를 이용하는 단계 별 예제 (세션 URL API)”

아래 가이드는 세션 URL API에 대해 요청 데이터를 생성하고 응답을 얻는 방법을 단계 별로 보여줍니다. 세션 목록 요청 API 등의 다른 API의 경우에도 유사한 방법으로 적용할 수 있습니다.

아래 단계 별 예제와 함께 Github에 공유된 다음의 샘플 코드도 참고하시기 바랍니다.

샘플 타입GitHub 링크
Pythonhttps://github.com/inka-pallycon/pallycon-wm-api-request-sample-python
Javahttps://github.com/inka-pallycon/pallycon-wm-api-request-sample-java
{
"domain": "cdn.service-site.com",
"output_path": "output",
"cid": "content1",
"streaming_format": "dash",
"forensic_mark": "testmark.1234567",
"wmt_type": "aes",
"prefix_folder": "wm-contents"
}

2단계 - JSON 문자열의 AES256 암호화

Section titled “2단계 - JSON 문자열의 AES256 암호화”
  • 테스트 가능한 곳: https://www.devglan.com/online-tools/aes-encryption-decryption
  • 모드: CBC
  • 키 길이: 256
  • IV: 0123456789abcdef (고정값)
  • 비밀 키: cUk29dLagiJ0FGiK681tFIR75ETESe0S (도브러너 콘솔 사이트에서 확인한 ‘사이트 키’ 값을 입력)
  • 결과물 형식: Base64 문자열
ra2Q7t5DTIImHYsOcARkiG5/cuXfa/nB4jR3IVBRUVDZBxvqK+zQXcTv2bljMGAyt03WDXbMex5KzrSTIrDbWuDkX0juIMdngoHaS8WKX6fhDlKJ/AkBaUEcF5SkAOmfYgCs7cURH3gwgZ1rrJ6WyBD09vLoqHqAs61a5Mrqv342TYqooCjibcsSYQujXkzfAgLTD390Eiakf/MkWMVVSjw0GP3LZkbnl67SiVwo58aW6ZTz/jnlKCuoz/zicUEa58KLmPzDBJjP8i+VhdRw8Q==
  • 액세스 키: A3DfypNw0bLgR3FAa5Q2TbS1iiUK4iIf (도브러너 콘솔 사이트에서 확인한 엑세스 키 값을 입력)
  • 사이트 ID: EXPL (도브러너 콘솔 사이트에서 확인한 사이트 ID 값을 입력)
  • api data: 2단계 결과물
  • 타임스탬프: 2021-09-07T02:15:00Z

해시 생성을 위해 조합된 문자열

Section titled “해시 생성을 위해 조합된 문자열”
A3DfypNw0bLgR3FAa5Q2TbS1iiUK4iIfEXPLN5CNHHCgEPVDFBpgtHzraqNUzBZoy4pzx3fSDnzHDMek5AMlmWSlII67tNQ2MJP1NL+dSjQZlEnXp7+ATXOopJEdH1KIZ0jNjY19bRLl9aG0gJSsbS6krhNxuuDzLayT/CgPwQUge1hQj1U2xtXSbDFUfiXSFZtJLSlA/QdTwTC5NpxfLjBmtRspPh1AOuKNwgiS9HuJxV9f6NDK22unYrzZyq6HG+qNEY6O3kp8GdRkdTU62U4t9J/byiAtEkLT2021-09-07T02:15:00Z
Z4f4gAJPeJUytea8f4DXg7jz+vAkmzNVQEiaU7QO3tA=

4단계 - 요청 데이터 JSON 생성 및 Base64 인코딩

Section titled “4단계 - 요청 데이터 JSON 생성 및 Base64 인코딩”
  • ‘data’: 2단계 결과물
  • ‘timestamp’: 3단계의 타임스탬프와 동일한 값
  • ‘hash’: 3단계 결과물
{
"data": "N5CNHHCgEPVDFBpgtHzraqNUzBZoy4pzx3fSDnzHDMek5AMlmWSlII67tNQ2MJP1NL+dSjQZlEnXp7+ATXOopJEdH1KIZ0jNjY19bRLl9aG0gJSsbS6krhNxuuDzLayT/CgPwQUge1hQj1U2xtXSbDFUfiXSFZtJLSlA/QdTwTC5NpxfLjBmtRspPh1AOuKNwgiS9HuJxV9f6NDK22unYrzZyq6HG+qNEY6O3kp8GdRkdTU62U4t9J/byiAtEkLT",
"timestamp":"2021-09-07T02:15:00Z",
"hash":"Z4f4gAJPeJUytea8f4DXg7jz+vAkmzNVQEiaU7QO3tA="
}

4단계 결과물 (base64 인코딩된 JSON)

Section titled “4단계 결과물 (base64 인코딩된 JSON)”
ewogICAgImRhdGEiOiAiTjVDTkhIQ2dFUFZERkJwZ3RIenJhcU5VekJab3k0cHp4M2ZTRG56SERNZWs1QU1sbVdTbElJNjd0TlEyTUpQMU5MK2RTalFabEVuWHA3K0FUWE9vcEpFZEgxS0laMGpOalkxOWJSTGw5YUcwZ0pTc2JTNmtyaE54dXVEekxheVQvQ2dQd1FVZ2UxaFFqMVUyeHRYU2JERlVmaVhTRlp0SkxTbEEvUWRUd1RDNU5weGZMakJtdFJzcFBoMUFPdUtOd2dpUzlIdUp4VjlmNk5ESzIydW5ZcnpaeXE2SEcrcU5FWTZPM2twOEdkUmtkVFU2MlU0dDlKL2J5aUF0RWtMVCIsCiAgICAidGltZXN0YW1wIjoiMjAyMS0wOS0wN1QwMjoxNTowMFoiLAogICAgImhhc2giOiJaNGY0Z0FKUGVKVXl0ZWE4ZjREWGc3anordkFrbXpOVlFFaWFVN1FPM3RBPSIKfQ==
https://watermark.pallycon.com/api/v2/session/watermarkUrl/EXPL?pallycon-apidata=ewogICAgImRhdGEiOiAiTjVDTkhIQ2dFUFZERkJwZ3RIenJhcU5VekJab3k0cHp4M2ZTRG56SERNZWs1QU1sbVdTbElJNjd0TlEyTUpQMU5MK2RTalFabEVuWHA3K0FUWE9vcEpFZEgxS0laMGpOalkxOWJSTGw5YUcwZ0pTc2JTNmtyaE54dXVEekxheVQvQ2dQd1FVZ2UxaFFqMVUyeHRYU2JERlVmaVhTRlp0SkxTbEEvUWRUd1RDNU5weGZMakJtdFJzcFBoMUFPdUtOd2dpUzlIdUp4VjlmNk5ESzIydW5ZcnpaeXE2SEcrcU5FWTZPM2twOEdkUmtkVFU2MlU0dDlKL2J5aUF0RWtMVCIsCiAgICAidGltZXN0YW1wIjoiMjAyMS0wOS0wN1QwMjoxNTowMFoiLAogICAgImhhc2giOiJaNGY0Z0FKUGVKVXl0ZWE4ZjREWGc3anordkFrbXpOVlFFaWFVN1FPM3RBPSIKfQ==
{
"error_message":"Success",
"error_code":"0000",
"url":"https://cdn.service-site.com/wm-contents/OHVPUw4N4tUoc-wlcA72aX6Hj5a_v-HuXcLAbFwYSpwDDsiVdSLNbWnbjkVvTX20yiKw7U6nOmJzZaDep1_3YJYxfvHzof01IAVgAguBhGk=/output/ddb2b84b-c3ce-4f37-9182-c36f83fc3fce/dash/stream.mpd"
}

JWT를 이용하여 API를 호출 해 볼 수 있게 해주는 Postman Collection 입니다. 자세한 사항은 Postman Collection 사용 가이드를 참고하시기 바랍니다.

Collection JSON 파일 Environment JSON 파일