運営者権限の開発ガイド

  • cafe24のECプラットフォームは、代表運営者、副運営者、供給会社の運営者をそれぞれ分けて管理することができます。
  • 本ガイドでは、各運営者別にAppでの権限を制御/管理できる方法について説明しています。

運営者権限設定の基本概要

  • ショップでAppの運営者別権限を設定し制御するため、以下のような仕組みの仕様を提供しています。

運営者権限設定の基本概要

運営者権限の確認URL登録およびショップ運営者権限の設定

  • Appでショップ運営者たちに権限を設定するため、Appの運営者権限を確認できるURIの登録方法について案内します。
  • また、ショップで運営者たちの権限を設定するサンプル動作についても案内します。

1. 運営者権限の確認URI登録(cafe24 デベロッパー)

  • Appで運営者別権限に対する制御が必要な場合、Appの運営者別権限を確認できるURIをcafe24 デベロッパーに登録します。
  • 登録するURLから提供される権限情報は、下段の権限提供仕様(JSON形式)をご参考ください。

2. ショップで運営者別権限設定(例)

  • Appで登録した運営者権限確認URIから権限を確認し、ECプラットフォームの運営者権限設定画面に出力して、各運営者別に権限を設定しECプラットフォームに保存した後、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"
  }
 }

}

ショップでAppを実行する際、Appに送信される権限情報仕様(ショップ → App)
ショップに設置されたAppをショップ運営者が設置するとcafe24 デベロッパーから登録された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 ショップ ID ショップ ID
shop_no 数字 ショップの固有番号(基本ショップは「1」、ショップ追加時に固有番号が付与)
user_id ショップの管理画面にログインした
ユーザーID
ショップの管理画面にログインした
ユーザー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 : cafe24 デベロッパーから取得したApp secret key

https://{{AppUrl}}/?is_multi_shop={{マルチショップ可否}}&lang={{ショップ言語}}&mall_id={{ショップID}}&shop_no={{shop_no}}×tamp= {{timestamp}}&user_id={{ログインID}}&user_name={{ログインユーザー名}}&user_type={{ユーザータイプ}}&hmac={{検証用 key}}