Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
freee_biz_tech_20200205.pdf
Search
benzookapi
February 05, 2020
Technology
0
510
freee_biz_tech_20200205.pdf
benzookapi
February 05, 2020
Tweet
Share
More Decks by benzookapi
See All by benzookapi
技術をお金と貢献に変える、Shopifyテーマとアプリの開発
benzookapi
1
2.1k
Shopify Storefront APIを使った PWA e-commerceの解説とデモ
benzookapi
0
610
DevRel for tech. entrepreneurs: Beyond platform partners
benzookapi
0
170
Shopifyを使ったヘッドレスコマースの 実現方法と事例
benzookapi
0
210
React + GraphQL を使ったShopify Appの作り方と そのマネタイズ方法
benzookapi
1
1.3k
Shopifyアプリエコシステムで始める 第3のスキルマネタイズ
benzookapi
0
4.3k
Tech. Blog TIPS
benzookapi
0
310
Our new DevRel: Invention of scaling out partner ecosystem
benzookapi
0
290
WordPressとShopifyでECサイトを作ろう
benzookapi
0
1.1k
Other Decks in Technology
See All in Technology
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
210
なぜブラウザで帳票を生成したいのか どのようにブラウザで帳票を生成するのか
yagisanreports
0
150
膨大なデータをどうさばく? Java × MQで作るPub/Subアーキテクチャ
zenta
0
120
Service Monitoring Platformについて
lycorptech_jp
PRO
0
320
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
560
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
300
技術広報のOKRで生み出す 開発組織への価値 〜 カンファレンス協賛を通して育む学びの文化 〜 / Creating Value for Development Organisations Through Technical Communications OKRs — Nurturing a Culture of Learning Through Conference Sponsorship —
pauli
5
490
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
340
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
0
230
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
5
1.7k
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
3.1k
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
10
4.6k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Fireside Chat
paigeccino
41
3.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
It's Worth the Effort
3n
187
28k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Practical Orchestrator
shlominoach
190
11k
Building Adaptive Systems
keathley
44
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
670
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Transcript
ˏ freee Biz Tech Frontier 2020 άϩʔόϧίϚʔεϓϥοτϑΥʔϜͷ APIΤίγεςϜ
• Junichi Okamura, Technical Partner Manager at Shopify • @benzookapi
• API Lover/Midnight Developer/MANGA Creator/Beer Lover/App Hacker Who am I?
• ShopifyͱͦͷΤίγεςϜͷ֓ཁ • ShopifyͷΦʔϓϯͳٕज़ج൫ʹ͍ͭͯ • ͳͥΤίγεςϜ͕ඞཁͳͷ͔ʁ • ΞϓϦAPIɺύʔτφʔͷॏཁੑ • Shopify
APIͱfreee APIΛͬͨέʔεελσΟ • ·ͱΊʢٕज़ΤίγεςϜͷಈʣ ຊ͓͍ͨ͜͠͠ͱ
Make Commerce Better For Everyone
ShopifyΫϥυϕʔεͷΦϜχνϟωϧΛ࣮ݱͨ͠ϓϥοτϑΥʔϜͰ͢ɻ ݸਓͷํ͔Βେاۀ·Ͱ҆৺ͯ͠͝ར༻͍͚ͨͩ·͢ɻ 2006 Shopifyϩʔϯν $1,073M ؒརӹֹ (աڈ12ϱ݄) 2,900+ ΞϓϦετΞʹެ։͞Ε͍ͯΔΞϓϦͷ $100B
ࣄۀऀ༷ͷ૯ྲྀ௨ֹ (ྦྷܭ) 2.1 million ϢχʔΫͷετΞΞΧϯτ 1,000,000+ ళฮ —— ~175ϱࠃ 4,000+ ࣾһ 22,000 աڈ12Χ݄ͷؒͰ1ళฮҎ্ͷShopifyετΞΛ ϦϦʔεͨ͠ύʔτφʔͷ
؆୯ʹݴ͏ͱɾɾ ͓ᔬམͳετΞΛ؆୯ʹ࡞ΕΔϓϥοτϑΥʔϜʢʴ͍ΖΜͳͱ͜ΖͰൢചՄೳʣ
ShopifyύʔτφʔΤίγεςϜ Ϛʔνϟϯτ͕ αʔυύʔςΟʔ ΞϓϦΛར༻ 80%+ ύʔτφʔ͔Βͷհ Ϛʔνϟϯτ 200,000+ Shopifyύʔτφʔ͕ಘͨऩӹ 1,320ԯԁ
(2018) ΞϓϦ։ൃύʔτφʔ͕ ಘͨऩӹ 200ԯԁ (2018)
2,900+ ެ։͞Ε͍ͯΔAPIͰࣗ༝ʹΧελϚΠζΞϓϦͷ࡞͕Մೳ ച্Ξοϓ ૹ ࡏݿཧ ސ٬ཧ ࡒɾձܭ ଟݴޠɾଟ௨՟ Ϩϙʔτ ιʔγϟϧ
ϚʔέςΟϯά Shopify ΞϓϦετΞ https://apps.shopify.com/?locale=ja
Shopify ςʔϚετΞ 100छྨҎ্ͷσβΠϯςϯϓϨʔτ https://themes.shopify.com
͓ɾɾɾʁ
Shopifyͷٕज़ج൫
ΞϓϦͷߏ Partner Server App Bridge (page) App Bridge (Action) Admin
API Storefront API Polaris (UI) Webhook Webhook App Bridge (POS) API calls
App Bridgeͱʁ ShopifyʹΞϓϦΛຒΊࠐΉͨΊͷJavascriptϥΠϒϥϦʢPOSΞϓϦʹରԠʣ
Polarisͱʁ ShopifyϚʔνϟϯτʹ࠷దͳUXΛఏڙ͢ΔͨΊͷCSSʢReact ʣϥΠϒϥϦʢOSSʣ
Webhookͱʁ Shopifyͷσʔλߋ৽ͷΠϕϯτΛ௨ͯ͘͠ΕΔػೳʢAPIΛݺͼग़͢͜ͱՄೳʣ ※ʮઃఆʯ> ʮ௨ʯ > ʮWebhookʯ ͔ΒઃఆͰ͖·͢ Webhookͱ
ଟ͘ͷπʔϧίϯϙʔωϯτOSSͱͯ͠ఏڙ
ͦͯ͠؊৺ͳAPIɾɾɾ αʔόʔαΠυͷGraphQLͱRESTͷ΄͔ɺϑϩϯτ༻ͷAjax API༻ҙ GraphQL REST Ajax
؆୯ʹShopify APIΛࢼ͢ํ๏ GraphQL App (GraphQLͷίʔυαδΣετػೳͱ εΩʔϚࣙॻ͋Γʣ Private App ʢτʔΫϯͳ͠ͷBasicೝূͰAPI͕ݺΔͷͰ RESTΛςετ͍͢͠ʣ
ͪͳΈʹ؆୯ʹfreee APIΛࢼ͢ํ๏ɾɾɾ Swagger UI (σϕϩούʔαΠτͰͦͷ··ݺͼग़ͤΔ)
͜ΕΒͷΦʔϓϯͳٕज़ج൫ͰͨΒ͞ΕΔͷ • ωΠςΟϒʹ͍֦ۙுੑͷߴ͍ΞϓϦͷ։ൃ • ॊೈͳAPIʹΑΔ։ൃऀͷΠϯεϐϨʔγϣϯ • APIΛิڧ͢ΔػೳʹΑΔ෯͍ΧελϚΠζ
ͦΜͳShopifyͷΞϓϦ։ൃʹڵຯΛ࣋ͨΕͨํɾɾɾ ຊޠϒϩάͷαϚϦʔϖʔδΛ͝ཡ͍ͩ͘͞ʂ ShopifyΞϓϦͷ։ൃํ๏ɹɹɹɹɹɹɹɹɹɹɹɹɹɹ
ΤίγεςϜͷॏཁੑ
ͳͥΤίγεςϜ͕ॏཁ͔ ίϚʔεͱ͍͏ෳࡶͳχʔζʹਖ਼͘͠ਝʹରԠ͠ɺΈΜͳΛϋοϐʔʹ͢ΔͨΊ
ΤίγεςϜͱ͍͏ଆ໘ͰShopifyΛఆٛͯ͠ΈΔͱɾɾɾ • Shopify = Commerce OS (by App) • Shopify
= Headless commerce (by API/SDK) • Shopify = Hybrid cloud in OSS approachʢby partners)
ʢҰݴͰݴ͏ͱʣ͜͏ͳΒͳ͍ͨΊ
ΞϓϦΛ͏ϝϦοτͱͳʹ͔ʁ ʹػೳͷՃ͚ͩͰͳ͘ɺߋ৽ͱআ͕Ͱ͖ΔʢTry & Error͕Ͱ͖Δʣ Ճɾߋ৽ আ ※ΞϓϦػೳͷ͚͚ͩ͠ͷಓ۩Ͱͳ͍
APISDKΛ͏ϝϦοτͱͳʹ͔ʁ ʹχʔζʹԠͨ͡ॊೈͳઃܭ͕Ͱ͖Δʢಉ͡ΧςΰϦʹόϦΤʔγϣϯ͕ੜ·ΕΔʣ ※API࡞͚ͬͨͩͰҙຯ͕ͳ͘ɺ࿈ܞ͚͕ͩ༻్Ͱͳ͍
ύʔτφʔΛר͖ࠐΉϝϦοτͱͳʹ͔ʁ ʹϓϥοτϑΥʔϜΛར༻͢Δશͯͷਓͷޭʹͭͳ͕Δʢ࣋ଓՄೳͳΤίγεςϜʣ ※֎෦ύʔτφʔϦιʔεͰͳ͍
ΤίγεςϜͱ ຬ͖ٕͨ͢ज़ͱͦΕΛϏδωεʹੜ͔ͤΔΈ͕͋ͬͯॳΊͯΓཱͭͷ
ɹShopifyͱfreeeͰͷέʔεελσΟ
͓ᶃɿShopifyͱfreeeΛ࿈ܞ͢Δ߹ͷ༷ ҎԼͷ༷ͷͲͪΒ͕ద͔ʁ A. WebhookΛઃఆͯ͠จ͕ೖΔͨͼʹfreeeͷAPIΛݺΜͰऔҾొ ͢Δ B. औΓࠐΈϘλϯΛ࡞ͬͯShopifyͷAPIͰจσʔλΛҾ͍ͯfreeeͷ APIͰऔҾొ͢Δ
͓ᶄɿShopifyͱfreeeΛ࿈ܞ͢Δ߹ͷνΣοΫ ҎԼͷνΣοΫͲͪΒ͕ΑΓద͔ʁ A. ೋॏऔΓࠐΈ͠ͳ͍Α͏ʹऔΓࠐΈࡁΈσʔλΛfreee APIͰଘࡏ֬ ೝ͢ΔॲཧΛೖΕΔ B. ೋॏऔΓࠐΈ͠ͳ͍Α͏ʹShopify APIΛͬͯऔΓࠐΈࡁΈ͔Ͳ͏ ͔ͷϑϥάΛσʔλʹೖΕΔ
͓ᶅɿShopifyͱfreeeΛ࿈ܞ͢Δ߹ͷঝೝϓϩηε ҎԼͷϓϩηεͲͪΒ͕ΑΓద͔ʁ A. ͡ΊʹShopifyΞϓϦͷΠϯετʔϧը໘ͰShopify OAuthͷঝೝ Λऔͬͯɺͦͷޙ freeeͷϦμΠϨΫτͰfreee OAuthͷঝೝΛऔΔ B. ͡ΊʹfreeeͷϦμΠϨΫτͰfreee
OAuthͷঝೝΛऔͬͯɺͦͷ ޙShopifyΞϓϦͷΠϯετʔϧը໘ͰShopify OAuthͷঝೝΛऔΔ
͑ɿ ͲͪΒͰྑ͍ʢ͋ͳͨ࣍ୈʣ
ɹ·ͱΊ
ΤίγεςϜͱ͍͏ΞϓϩʔνࠓޙͲ͏ͳΔ͔ʁ =ଟ༷Խ͢ΔੈքͰϓϥοτϗʔϜΛ࡞Δखஈͱͯ͠ओྲྀʹͳΔͱࢥΘΕΔ • ୠ͠ɺҎԼͷΛߟྀ͢Δඞཁ͕͋Δ • =>ݸผχʔζ࿈ܞͷඞཁ͕ຊʹ͋Δ͔ • =>൚༻తͳΠϯλʔϑΣʔεʢAPISDKʣΛఏڙͰ͖Δ͔ • =>ϝϦοτΛڗडͰ͖ΔίϛϡχςΟ͕ੜ͞ΕΔ͔
ͦͯ͠ΤίγεςϜͷओɺ ٕज़Λѻ͑Δ͋ͳͨͰ͢ʂ
ˏ freee Biz Tech Frontier 2020 Thank you!