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
540
freee_biz_tech_20200205.pdf
benzookapi
February 05, 2020
Tweet
Share
More Decks by benzookapi
See All by benzookapi
技術をお金と貢献に変える、Shopifyテーマとアプリの開発
benzookapi
1
2.2k
Shopify Storefront APIを使った PWA e-commerceの解説とデモ
benzookapi
0
640
DevRel for tech. entrepreneurs: Beyond platform partners
benzookapi
0
180
Shopifyを使ったヘッドレスコマースの 実現方法と事例
benzookapi
0
230
React + GraphQL を使ったShopify Appの作り方と そのマネタイズ方法
benzookapi
1
1.3k
Shopifyアプリエコシステムで始める 第3のスキルマネタイズ
benzookapi
0
4.4k
Tech. Blog TIPS
benzookapi
0
330
Our new DevRel: Invention of scaling out partner ecosystem
benzookapi
0
310
WordPressとShopifyでECサイトを作ろう
benzookapi
0
1.2k
Other Decks in Technology
See All in Technology
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
130
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
260
The essence of decision-making lies in primary data
kaminashi
0
180
ThetaOS - A Mythical Machine comes Alive
aslander
0
220
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
230
AI時代のシステム開発者の仕事_20260328
sengtor
0
310
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
130
LLMに何を任せ、何を任せないか
cap120
10
6.1k
FastMCP OAuth Proxy with Cognito
hironobuiga
3
220
なぜarray_firstとarray_lastは採用、 array_value_firstとarray_value_lastは 見送りだったか / Why array_value_first and array_value_last was declined, then why array_first and array_last was accpeted?
cocoeyes02
0
270
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
320
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
660
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
Technical Leadership for Architectural Decision Making
baasie
3
300
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
850
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Embracing the Ebb and Flow
colly
88
5k
How to build a perfect <img>
jonoalderson
1
5.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Building the Perfect Custom Keyboard
takai
2
720
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!