(5) 決済-配送先(配送時間指定)

ルーティング ec_client_ship_select
引数 無し
{{path(“ec_client_ship_select”)}}

※ec_client_ship_selectは、リンク元からpostで移動する必要があります。 

 

その際、name=”consumer_address_id”を渡す必要があります。 

name=”consumer_address_id”のvalueに、お届先IDをセットしてpostします。 

name=”consumer_address_id”のvalueが、”multi”だった時のみ「(3) 決済-配送先(複数)」に遷移します。 

 

配送時間は配送ごとに設定します。

前述しましたが、配送は、住所と配送方法によって分けられます。

例えばAという、冷凍便で配送すべき商品を2個、Bという、普通便で配送すべき商品を2個購入し、

東京と大阪にそれぞれAを1つ、Bを1つずつ送りたい場合、AとBは同梱できませんので、合計で4回配送しなければなりません。

よって、配送は配送先と配送方法の2次元で分岐されます。

 

Ⅰ 非会員購入

 

非会員の顧客は複数配送先の機能を利用できません。

なので、決済-配送先(非会員購入)で入力した住所にのみ配送することになります。

決済-配送先(非会員購入)で入力した値は、app.session.get(“consumer_shipment_data”)で取得できます。

 

app.session.get(“consumer_shipment_data”)

username

メールアドレス

last_name

first_name

last_name_kana

セイ

first_name_kana

メイ

zipcode1

郵便番号1

zipcode2

郵便番号2

country

国名

district

都道府県

locality

市区町村

street

その他住所

tel1

電話番号1

tel2

電話番号2

tel3

電話番号3

 

Ⅱ 非会員購入以外の配送先

 

配送は住所と配送方法によって分かれますので、array(consumerAddressId => array(deliveryId => products[]));というような配列になっています。

 

app.session.get(“ship”)
キー:consumerAddressId キーは顧客の配送先ID
値:tmpship[] 配送先に紐づく配送方法の構造体
キー:deliveryId キーは配送ID
値:tmpship2[] 配送方法に紐づく商品情報の構造体
products[]
products[i] 商品情報のi番目の配列
product_array[0] 商品SKUID
product_array[1] カートに入れた数
lastName
firstName
lastNameKana セイ
firstNameKana メイ
country
district 都道府県
locality 市区町村
street その他住所
getAddress country〜streetの住所
tel 電話番号
zipcode 郵便番号

 

Ⅲ 配送日時のリスト

 

顧客が指定できる、配送日と配送時間のリストです。

配送日は休業日管理と最短指定配達日を計算したリスト、配送時間は配送方法ごとに設定した時間帯のリストを出力します。

配送ごとに指定できるよう、配送先と配送方法の組合せを指定してリストを呼び出します。

 

まず、配送日は、

を使用します。

これは連想配列であり、キーは、

配送先ID_配送方法ID

となります。

具体的には、

を前提とすると、

となります。

 

配送時間は配送方法ごとに設定されているので、配送方法の情報を取得する必要があります。

でdeliveryの内容を取得します。

それぞれ、具体的な使い方として、以下のようなリストを想定しています。

 

 

送信先は以下のようになります。

 

配送日 

キー名 説明 必須
delivery_abroad[お届先ID_配送ID] 配送日の日付  

 

配送時間 

キー名 説明 必須
delivery_time[お届先ID_配送ID] 配送時間  

 

Ⅳ オプション商品

商品詳細ページ等で既にオプション商品をカートに入れている場合、cart_api.getAdditionCount()でその数量を取得できます。

具体的には、

のように、カートに入れている商品のSKUとオプション商品の情報を、引数で渡して取得します。

該当する情報が取得できればその数量を、取得できなければ0が返って来ます。

 

キーはお届先ID、配送ID、商品ID、オプション商品IDを以下のように組み合わせます。

 

キー名 説明 必須
delivery_addition[お届先ID_配送ID_商品ID_オプション商品ID] 数量 1以上の数値でない場合は無視

具体的には、以下のように記述します。

関連記事

メルマガ登録
セミナーやキャンペーン情報など、不定期で配信しています