LoginSignup
2
1

スクラッチ組織で Salesforce D2C Commerce の環境を作成してみる

Last updated at Posted at 2022-12-29

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

今回の記事では commerce-on-lightning という SFDX コマンドのプラグインを利用してストアの設定や決済の設定、商品のアップロードを行い、スクラッチ環境で D2C Commerce の開発ができるようにしていきたいと思います。

前提

手順

1. コードの修正とインストール

通常は sfdx plugins:install @salesforce/commerce コマンドでインストールすれば可能なのですが、現在進行形で開発が進んでいるということでまだバグがありました。(2022/12時点) 
そのため下記の手順でローカルで修正して使うことをおすすめします。

追記:
(v244.0.7 では正しく動いていることを確認できました。) 

  1. まずは下記コードでレポジトリをクローンします。

    git clone git@github.com:forcedotcom/commerce-on-lightning.git
    
  2. ルートフォルダで下記コードを実行してプラグインをインストールします。

    sfdx plugins:link .
    

    その他レポジトリに対するコントリビュートに関してはこちら

自分の DevHub 組織が英語じゃない場合は下記の内容も追加
  • config/b2b-project-scratch-def.jsonconfig/b2c-project-scratch-def.json に下記コードを追加。(サンプル

    "country": "us",
    "language": "en_US",
    

2. 依存プラグインのインストール

上記のプラグイン内で利用されているプラグインです。

sfdx plugins:install shane-sfdx-plugins

3. スクラッチ組織の作成

今回は DevHub というエイリアスを持つ DevHub 組織を利用して、sampleScratch というエイリアスを持つスクラッチ組織を作成します。

下記コマンドでスクラッチ組織の作成します。
D2C の環境を作成するので、タイプとして b2c を設定しています。またユーザのアカウント名は任意ですが、DevHub 組織内でユニークにする必要があるので、MacOS の組み込み変数の $RANDOM を利用して $RANDOM@1commerce.com のフォーマットで指定しました。

sfdx commerce:scratchorg:create -t b2c -a sampleScratch -u "$RANDOM@1commerce.com" -v DevHub

Tips: 作成時に便利なコマンドを紹介しておきます。

## 作成した組織を一覧表示する
sfdx force:org:list

## 作成した組織をブラウザで開く
sfdx force:org:open -u sampleScratch

## 作成した組織を削除する
sfdx force:org:delete -u sampleScratch

## (SFDXプロジェクト内で)作成した組織をコマンドのデフォルトとして設定する
sfdx config:set defaultusername=sampleScratch

4. ストアの作成・設定

ここが今回の一番重要な部分です。
下記コマンドで、作成したスクラッチ環境にストアを作成し、諸々の設定を行います。
ここでは 1commerce という名前のサイトを作成しています。また今回は D2C のサイトの作成なのでタイプとしては b2c を指定し、さらに samplebuyer$RANDOM@1commerce.com というアカウント名のバイヤー(フロントサイトから買い物するアカウント)を作成します。

sfdx commerce:store:create -n 1commerce -o b2c -u sampleScratch -v DevHub -b "samplebuyer$RANDOM@1commerce.com"

コマンドが完了すると、ターミナル上に下記のような文字列が表示されていれば完了です。これらの情報はフロントサイトにログインする際に利用できます。

スクリーンショット 2023-02-18 14.44.16.png

5. 作成したストアの確認

4. ストアの作成・設定 で表示された communityUrl にアクセスし、ログイン画面を表示します。

スクリーンショット 2022-12-27 15.27.27.png

さらにここで usernamepassword の値でログインできることが確認できます。(もし入れなかったら「Forgot your passowrd?」からパスワードを登録し直してみてください。)

スクリーンショット 2022-12-27 15.33.04.png

追加の設定

サードパーティ決済の設定

下記コマンドで Stripe のサンプルコードをスクラッチ環境に設定することが可能です。Stripe 以外の選択肢はこちらのフォルダ名になります。

sfdx commerce:payments:quickstart:setup -p Stripe -n 1commerce -u sampleScratch

ログインしていなくてもサイトを表示できるようにする

デフォルトではログインしてないとフロントサイトは表示できませんが、ログインなしてフロントを表示できるようにするためには下記の手順で設定を行います。

  1. 作成したストア(1commerce)の設定画面に遷移して「Experience Builder」をクリックします。

    スクリーンショット 2022-12-27 15.41.03.png

  2. エクスペリエンスビルダーの設定から「Guest users can see and interact with the site without logging in」にチェックを入れます。

    スクリーンショット 2022-12-27 14.17.06.png

  3. 最後に右上の「Publish」ボタンをクリックして設定を反映させます。

    スクリーンショット 2022-12-27 14.17.29.png

  4. ログインしていない状態でもフロントサイトが表示されるが確認できます。

    スクリーンショット 2022-12-27 15.46.16.png

もし上記の設定でできなかった場合は、ヘルプを見て設定が入っているか再確認いてください。

自分の環境にソースコードを修正できるようにする(VS Code)

ここではスクラッチ組織にデプロイされているソースをローカルにダウンロードする方法を紹介します。

  1. VS Code のコマンドパレットでSFDX プロジェクトを作成します。方法については以前紹介した Qiita の「プロジェクトの作成」を参照してください。

  2. 作成したプロジェクトのルートフォルダで下記のようにユーザを作成したスクラッチ環境のものに置き換えます。

    sfdx config:set defaultusername=sampleScratch

  3. 最後にコマンドパレットでソースをプルしてください。方法については以前紹介した Qiita の「ソースの取得」を参照してください。

2
1
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
2
1