Slide 1

Slide 1 text

EC-CUBE4 API β版を触ってみよう! 2020/04/09 Okazy

Slide 2

Slide 2 text

okazy (岡嶋 秀記) 株式会社イーシーキューブ - EC-CUBE関⻄UG勉強会を主催 - オープンエンジニア - EC-CUBE4の開発メンバー - Github等ではokazyで活動中 - 趣味は旅⾏、温泉、世界遺産 - 今年は⾃粛中

Slide 3

Slide 3 text

Web APIのベータ版が公開 - GraphQL - OAuth2 - https://www.ec-cube.net/press/detail.php?press_id=252

Slide 4

Slide 4 text

EC-CUBE4 API β版を触ってみよう!

Slide 5

Slide 5 text

EC-CUBE4 API β版を触ってみよう! - Web APIって何︖何が嬉しいの︖ - EC-CUBE4 API β版でできること - インストールの⼿引き - 実際に実⾏してみよう - 今後について

Slide 6

Slide 6 text

- Web APIって何︖何が嬉しいの︖ - 「API」は「Application Programming Interface」の頭⽂字 - 「Interface」は「境界⾯」「接点」 - アプリケーション同⼠をつなぐもの - Web APIはWebアプリケーション同⼠をつなぐもの

Slide 7

Slide 7 text

- Web APIって何︖何が嬉しいの︖ - ⾊々なサービスがつながる時代 - Web APIが無いと独⾃の仕様(Interface)でアプリ ケーションをつなぐ必要がある - Web APIがあると、その仕様に従ってアプリケーシ ョンの連携ができる

Slide 8

Slide 8 text

- Web APIって何︖何が嬉しいの︖ - 開発・プラグイン - メリット︓⾃由度が⾼い、機能追加も可能 - デメリット︓独⾃開発・プラグイン開発/導⼊が必要 - API - メリット︓EC-CUBE側で特別な開発が不要 - デメリット︓⽤意されていない機能は対応できない

Slide 9

Slide 9 text

EC-CUBE4 API β版を触ってみよう! - Web APIって何︖何が嬉しいの︖ - EC-CUBE4 API β版でできること - インストールの⼿引き - 実際に実⾏してみよう - 今後について

Slide 10

Slide 10 text

- EC-CUBE4 API β版でできること - OAuth2.0による認可 - GraphQLによる情報の取得

Slide 11

Slide 11 text

- EC-CUBE4 API β版でできること - OAuth2.0とは - 権限の認可を⾏うためのオープンスタンダード - 「このアプリはこの情報が⾒られる権限がある」 - 連携前に、アプリケーションの連携の設定をする

Slide 12

Slide 12 text

- EC-CUBE4 API β版でできること - GraphQLとは - Web APIの規格 - RESTful API(3系) - 1回のリクエストで取れる { products { id name ProductClasses { id code } } }

Slide 13

Slide 13 text

- EC-CUBE4 API β版でできること - GraphQLで取得できるデータ - 商品⼀覧 - 受注⼀覧 - 会員⼀覧 - 各⼀覧画⾯での検索条件が指定可能

Slide 14

Slide 14 text

EC-CUBE4 API β版を触ってみよう! - Web APIって何︖何が嬉しいの︖ - EC-CUBE4 API β版でできること - インストールの⼿引き - 実際に実⾏してみよう - 今後について

Slide 15

Slide 15 text

- インストールの⼿引き - 少し難易度が⾼いです - https://doc4.ec-cube.net/api_quickstart_guide - 通常のインストールとの違い - experimental/api ブランチ - OAuth2.0⽤の鍵の設置 - コマンドでClientの作成

Slide 16

Slide 16 text

EC-CUBE4 API β版を触ってみよう! - Web APIって何︖何が嬉しいの︖ - EC-CUBE4 API β版でできること - インストールの⼿引き - 実際に実⾏してみよう - 今後について

Slide 17

Slide 17 text

- 実際に実⾏してみよう - APIクライアント - Insomnia - https://insomnia.rest/ - POSTMAN - https://www.postman.com/

Slide 18

Slide 18 text

- 実際に実⾏してみよう - OAuth2.0による認可 # OAuth2認可情報 - Grant Type: Authorization Code - Authorization Endpoint: http://example.com/admin/authorize - Access Token Endpoint: http://example.com/token - 初期登録クライアント - Callback URL: http://example.com/ - Client ID: 3032b086e75e7653d9ea77cc3493db20 - Client Secret: ⾒せないよ - Scope: read,write # GraphQL接続情報(取得のみ可能) - Endpoint: http://example.com/api

Slide 19

Slide 19 text

- 実際に実⾏してみよう - 受注情報を取得 { orders { id order_no name01 name02 } }

Slide 20

Slide 20 text

- 実際に実⾏してみよう - 出荷情報を追加 { orders { id order_no name01 name02 Shippings { id postal_code Pref { name } addr01 addr02 } } }

Slide 21

Slide 21 text

- 実際に実⾏してみよう - 商品情報を追加 { orders { id order_no name01 name02 Shippings { id postal_code Pref { name } addr01 addr02 } } products { id name } }

Slide 22

Slide 22 text

- 実際に実⾏してみよう - 受注⽇の条件を追加 { orders( order_date_start: "2020-01-01" ) { id order_no name01 name02 } }

Slide 23

Slide 23 text

- 実際に実⾏してみよう - 受注ステータスの条件を追加 { orders( order_date_start: "2020-01-01" status: ["1","4","6"] ) { id order_no name01 name02 } }

Slide 24

Slide 24 text

EC-CUBE4 API β版を触ってみよう! - Web APIって何︖何が嬉しいの︖ - EC-CUBE4 API β版でできること - インストールの⼿引き - 実際に実⾏してみよう - 今後について

Slide 25

Slide 25 text

- 今後について(暫定) - APIの仕様 - 4.0.x系のプラグインとしてリリース - GraphQL - Mutation - 登録できるデータ: 商品登録、受注登録、会員登録 - それぞれの登録画⾯で登録できる項⽬が登録可能

Slide 26

Slide 26 text

- 今後について(暫定) - 暫定の計画です - 随時Issueを更新していきますので乞うご期待︕ - https://github.com/EC-CUBE/ec- cube/issues/4447#issuecomment-611329376

Slide 27

Slide 27 text

- お願い - 実際に利⽤されたい⽅、すでにAPI連携をされている ⽅のご意⾒を募集しています。 - こんなユースケースで利⽤したいなどIssueでも私に 直接でもいいのでご相談ください。

Slide 28

Slide 28 text

告知 - 4⽉16⽇(⽊) オンライン関⻄UG勉強会 - 売上を上げるためのサイト改善

Slide 29

Slide 29 text

Thanks #eccube