3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

B2C Commerce のその他 Salesforce 製品との接続 - Commerce API, WebDAV

Last updated at Posted at 2023-04-14

※ これから記載する事項は、私が所属する会社とは切関係のない事柄です。

今回は「B2C Commerce のその他 Salesforce 製品との接続」シリーズとして Commerce API, WebDAV について紹介します。
Commerce API については以前紹介した「Salesforce B2C CommerceのヘッドレスAPIを呼んでみる」シリーズをご覧ください。
今回は WebDAV のみについて紹介したいと思います。

Cross Cloud (10) (1).jpg

WebDAV とは?

出典:フリー百科事典『ウィキペディア(Wikipedia)』

WebDAV(Web-based Distributed Authoring and Versioning、ウェブダブ)はHypertext Transfer Protocolを拡張したもので、Webサーバ上のファイル管理を目的とした分散ファイルシステムを実現するプロトコルである。

出典:ChatGPT

WebDAV (Web Distributed Authoring and Versioning) は、HTTP(Hypertext Transfer Protocol)プロトコルを使用して、Web サーバー上のファイルを編集、更新、バージョン管理するための拡張機能です。WebDAV を使用すると、クライアントアプリケーション(WebDAV クライアント)を介して、WebDAV サーバーに接続し、ファイルを読み書きすることができます。

接続内容とポイント

  • WebDAV Client が WebDAV Server に対してファイル操作を行います。

  • B2C Commerce の(違うインスタンス上に構築されていたとしても)インスタンス同士の WebDAV での操作はできません。

    • b2c_data_io_slide_15.gif
  • クレデンシャルの種類には下記の2種類があり、それぞれのクレデンシャルに対してアクセスできるフォルダーに制限をかけることができます。

    • 1.Business Manager ユーザーのクレデンシャル

      • Business Manager を利用するユーザーごとに制限をかけることが可能です
      • Business Manager の制限をかける画面:
        • 管理 > 組織 > 役割 > {ユーザに紐づいている役割} - WebDAV の許可
    • 2.Account Manager で作成する API Client のクレデンシャル

      • アプリケーションなどの API を利用するクライアント単位で制限をかけることが可能です
      • Business Manager の制限をかける画面:
        • 管理 > 組織 > クライアントの WebDAV 許可

接続方法

今回は Business Manager ユーザーのクレデンシャル情報を利用して下記の2つの方法を試してみます。(Account Manager で作成する API Client のクレデンシャルの設定方法についてはこちらをご覧ください)

  • Mac の Finder から接続する方法
  • curl コマンドで接続する方法

(試す前に) Business Manager ユーザーのクレデンシャル情報(ID、パスワード)の取得

まず接続を行う前に B2C Commerce の WebDAV サーバーに接続するためのクレデンシャル情報を取得します。

上部右上のプロフィールアイコンをクリックすると下記のようなマイプロフィール画面が表示されます。そこのログインという項目から ID を取得します。(Eメールアドレスになっているかと思います)
さらに「アクセスキーの管理」のリンクをクリックしパスワードとなるアクセスキーを生成する画面に遷移します。
スクリーンショット 2023-04-11 17.32.17.png

アクセスキーを生成する画面で「アクセスキーの生成」ボタンをクリックし、表示されたポップアップから「WebDAV のファイルアクセスと UX Studio」を選択し「生成」ボタンをクリックし生成を行います。
スクリーンショット 2023-04-11 17.34.33.png

生成を行うとアクセスキーが表示されるのでコピーしておきます。念の為ファイルとしてダウンロードしておくのもおすすめです。
スクリーンショット 2023-04-11 17.34.39.png

権限の設定

今回は Administrator の役割をアサインしているので、すべてのフォルダにアクセスできるのですが、ここではどのフォルダいにアクセスできるかを確認・編集する方法だけ紹介しておきます。

下記のように、 管理 > 組織 > 役割 > Administrator - WebDAV の許可 へアクセスすると、Administrator に割り当てられている権限を確認することができ、役割によっては編集することも可能です。

スクリーンショット 2023-04-11 18.39.25.png

Mac の Finder から接続する方法

接続の方法はこちらを参考にしました。

Mac で Finder を開き、 移動 > サーバーへの接続 をクリックしポップアップを表示します。

スクリーンショット 2023-04-11 17.58.42.png

今回は Logs フォルダにアクセスしますのでURL入力欄に https://{domain}.dx.commercecloud.salesforce.com/on/demandware.servlet/webdav/Sites/Logs というフォーマットで入力し接続します。
スクリーンショット 2023-04-11 18.47.37.png

補足:
入力するURLは Busness Manger の 管理 > サイトの開発 > 開発セットアップ から確認できます。
スクリーンショット 2023-04-11 18.57.05.png

接続しようとするとID(名前)とパスワードを求められますので、上記「Business Manager ユーザーのクレデンシャル情報(ID、パスワード)の取得」で取得したID・パスワードを入力し接続します。
スクリーンショット 2023-04-11 18.48.19.png

接続が完了すると下記のように B2C Commerce 上の WebDAV サーバーにあるファイルが表示され操作することが可能です。
スクリーンショット 2023-04-11 18.48.51.png

curl コマンドで接続する方法

WebDAV を curl コマンドで利用する方法はここが参考になりました。
今回は Logs フォルダ内のファイル一覧を取得してみたいと思います。

下記の curl コマンドを実行します。

curl --user 'ID:Password' 'https://{domain}.dx.commercecloud.salesforce.com/on/demandware.servlet/webdav/Sites/Logs'

下記のように HTML の形式でフォルダ内のファイル一覧を取得できました。
スクリーンショット 2023-04-12 12.49.58.png

接続データとポイント

ファイルの制限についてはこちらを参考にしてください。下記にポイントをまとめます。

  • 必ず SSL 接続が必要となります。
  • 一回での最大アップロード容量は 500 MB です。またあまりに時間がかかる場合はタイムアウトになってしまうので、サポートに問い合わせてください。
  • 一回での最大ダウンロード容量は 200 MB です。

リソース

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?