운영자권한 개발가이드

  • 카페24 쇼핑몰 플랫폼은 대표운영자, 부운영자, 공급사운영자를 분리하여 관리할 수 있습니다.
  • 본 가이드에서는 각 운영자별로 App에서 권한을 제어/관리할 수 있는 방법을 설명합니다.

운영자권한 설정 기본 개요

  • 쇼핑몰에서 App의 운영자별 권한을 설정하고 제어하기 위해서 아래와 같은 구조의 사양을 제공하고 있습니다.

운영자권한 설정 기본 개요

운영자권한 확인 URL 등록 및 쇼핑몰 운영자 권한 설정

  • App에서 쇼핑몰 운영자들에게 권한을 설정받기 위해서 App의 운영자 권한을 확인할 수 있는 URI의 등록을 안내합니다.
  • 또한 쇼핑몰에서 운영자들의 권한을 설정하는 예시 동작을 안내합니다.

1. 운영자 권한 확인 URI 등록 (개발자센터)

  • App에서 운영자별 권한에 대한 제어가 필요한 경우 App의 운영자별 권한을 확인할 수 있는 URI을 개발자센터에 등록합니다.
  • 등록하는 URL에서 제공되어야 하는 권한 정보는 하단의 권한 제공 사양(JSON형식)을 참고하세요.

2. 쇼핑몰에서 운영자별 권한 설정 (예시)

  • App에서 등록한 운영자 권한확인 URI 에서 권한을 확인하여 쇼핑몰 플랫폼의 운영자 권한설정 화면에 출력하고, 각 운영자별 권한을 설정받아 쇼핑몰 플랫폼에 저장한 후 App이 실행될 때 설정된 권한을 App에 전송합니다.

App의 권한 제공 사양 (JSON형식)

  • App에서 운영자별 권한의 설정이 필요한 경우 아래의 형식에 맞추어 App에서 필요로 하는 권한을 전달해주어야 합니다.

App의 권한확인 URI에서 제공해야 하는 사양(App → 쇼핑몰) - JSON형식

{
"MENU_LIST":{
"{$메뉴명_1}":{
"code":"{$메뉴명_1의 코드명}"
  },
"{$메뉴명_2}":{
"code":"{$메뉴명_2의 코드명}",
"sub":{
"{$하위메뉴명_1}":{
"code":"{$하위메뉴명_1의 코드명}"
    },
"{$하위메뉴명_2}":{
"code":"{$하위메뉴명_2의 코드명}",
"sub":{
"...":{
"code":"..."
      }
     }
    }
   }
  }
 },
"FUNCTION_LIST":{
"{$기능명_1}":{
"code":"{$기능명_1의 코드명}",
"sub":{
"{$하위기능명_1}":{
"code":"{$하위기능명_1의 코드명}"
    }
   }
  ...
  ...
 }
}

App의 권한확인 URI에서 제공해야 하는 사양(App → 쇼핑몰) - 예제

{
"MENU_LIST":{
  "문의게시판":{
   "code":"Mabc1"
  },
  "통계":{
   "code":"Mabc2",
   "sub":{
    "일별분석":{
     "code":"Mabc3"
    },
    "주별분석":{
     "code":"Mabc4",
     "sub":{
      "1주차":{
       "code":"Mabc5"
      },
      "2주차":{
       "code":"Mabc6"
      }
     }
    }
   }
  }
 }
,
"FUNCTION_LIST":{
  "이용기간 설정":{
   "code":"Fabc1"
  },
  "환불금액 조회":{
   "code":"Fabc2"
  }
 }

}

주의사항
menu code, function code에는 특수문자를 사용할 수 없습니다. (영문 대소문자, 숫자만 사용가능)

쇼핑몰에서 App을 실행시 App에 전달되는 권한정보 사양(쇼핑몰 → App)
쇼핑몰에 설치된 App을 쇼핑몰 운영자가 설치하면 개발자센터에서 등록된 App URL에 GET 요청으로 App을 실행한 쇼핑몰 및 운영자정보,
App의 권한정보가 전달됩니다. 전달된 데이터는 hmac 방식을 이용하여 검증이 가능합니다.
(아래의 형식은 지속적으로 업데이트 될 수 있으니 참고하여 주시기 바랍니다.)

권한정보 사양
변수명 데이터 설명
is_multi_shop 사용함 : 'T'
사용하지 않음 : 'F' or 변수전달 안됨
기본 쇼핑몰 이외에 추가로 등록된 쇼핑몰 여부
lang 한국어 : 'ko_KR'
영어 : 'en_US'
일본어 : 'ja_JP'
중국어 간체 : 'zh_CN'
대만어(번체) : 'zh_TW'
포르투갈어 : 'pt_PT'
스페인어 : 'es_ES'
쇼핑몰에서 사용하는 언어
mall_id 쇼핑몰 아이디 쇼핑몰 아이디
shop_no 숫자 쇼핑몰 고유번호(기본몰은 "1"이며 멀티쇼핑몰 추가시 고유번호 할당)
user_id 쇼핑몰 어드민에 로그인한 사용자 아이디 쇼핑몰 어드민에 로그인한 사용자 아이디
user_name 쇼핑몰 어드민에 로그인한 사용자 이름 쇼핑몰 어드민에 로그인한 사용자 이름
user_type 운영자 (대표운영자) : P
부운영자 : A
공급사운영자 : S
쇼핑몰 어드민에 로그인한 사용자 유형
timestamp timestamp 값 App 실행 요청 시점의 timestamp
hmac base64 인코딩된 문자열 검증용 key

base64 인코딩된 binary hash 값
- hash 알고리즘 : sha256
- hash data(string) : GET으로 전달된 변수들에 대해 알파벳순(변수명 기준)으로 정렬하여 url 인코딩 된 GET query string
- hash key : 개발자센터에서 발급받은 App secret key

https://{{AppUrl}}/?is_multi_shop={{멀티쇼핑몰여부}}&lang={{쇼핑몰언어}}&mall_id={{몰아이디}}&shop_no={{shop_no}}×tamp= {{timestamp}}&user_id={{로그인아이디}}&user_name={{로그인사용자이름}}&user_type={{사용자유형}}&hmac={{검증용 key}}