request.env['SERVER_NAME']
www.avg.co.jp www.kotoeu.com
Prod Site Dev Site
name “AVG ”
ストア
domains “www.avg.co.jp”
default_currency JPY
name “Kotobukiya”
domains “www.kotoeu.com”
default_currency EUR
has_many :cms_sites
コンビニ クレジット
has_many :payment_methods
銀行振込
Electronic
has_many :shipping_methods
Prod Site Dev Site
has_many :cms_sites
PayPal Credit Card
has_many :payment_methods
EMS
has_many :shipping_methods
Air Mail
どうしても足りない
●
CMS のヘルパー機能の HTML は修正できない
●
カートの HTML も変更できない
Slide 25
Slide 25 text
Spree API
POST /api/orders.json
POST /api/orders/R1234567/line_items.json
POST /api/orders/R1234567/line_items.json
PUT /api/orders/R1234567.json
PUT /api/orders/R1234567.json
PUT /api/orders/R1234567.json
...
CMS のない e コマース
●
カートフローなどをクライアント (js) に
●
コンテンツを静的な形 (jekyll など)に
●
必要に応じて microservices を使う
CHECK
ORDER
PAYMENT
GATEWAY
FRONT
CART.JS
/purchase
GET mystore.com
HTML + cart.js
Slide 34
Slide 34 text
If I were to do it again...
●
“Distributed e-Commerce”
– カートを javascript に任せて、注文状態を保存しない
– サイトを静的な形や外部サービスに任せる
– 注文ではなく決済を中心に
– 出荷も外部サービスに任せる
cart.js pay ship
check
AJAX API
WEB
HOOK