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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
benzookapi
February 05, 2020
Technology
0
530
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
630
DevRel for tech. entrepreneurs: Beyond platform partners
benzookapi
0
180
Shopifyを使ったヘッドレスコマースの 実現方法と事例
benzookapi
0
220
React + GraphQL を使ったShopify Appの作り方と そのマネタイズ方法
benzookapi
1
1.3k
Shopifyアプリエコシステムで始める 第3のスキルマネタイズ
benzookapi
0
4.4k
Tech. Blog TIPS
benzookapi
0
320
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
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
超初心者からでも大丈夫!オープンソース半導体の楽しみ方〜今こそ!オレオレチップをつくろう〜
keropiyo
0
110
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
310
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
970
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
配列に見る bash と zsh の違い
kazzpapa3
3
160
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
170
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
Statistics for Hackers
jakevdp
799
230k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
97
Building AI with AI
inesmontani
PRO
1
700
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
68
How to Talk to Developers About Accessibility
jct
2
130
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Producing Creativity
orderedlist
PRO
348
40k
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!