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
490
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
600
DevRel for tech. entrepreneurs: Beyond platform partners
benzookapi
0
160
Shopifyを使ったヘッドレスコマースの 実現方法と事例
benzookapi
0
200
React + GraphQL を使ったShopify Appの作り方と そのマネタイズ方法
benzookapi
1
1.3k
Shopifyアプリエコシステムで始める 第3のスキルマネタイズ
benzookapi
0
4.3k
Tech. Blog TIPS
benzookapi
0
290
Our new DevRel: Invention of scaling out partner ecosystem
benzookapi
0
280
WordPressとShopifyでECサイトを作ろう
benzookapi
0
1.1k
Other Decks in Technology
See All in Technology
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
900
Android Audio: Beyond Winning On It
atsushieno
0
120
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
150
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
160
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
170
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
420
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
130
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
いま注目のAIエージェントを作ってみよう
supermarimobros
0
210
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
380
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
4 Signs Your Business is Dying
shpigford
184
22k
Site-Speed That Sticks
csswizardry
10
810
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
How GitHub (no longer) Works
holman
315
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Designing Experiences People Love
moore
142
24k
Practical Orchestrator
shlominoach
190
11k
Fireside Chat
paigeccino
39
3.6k
Statistics for Hackers
jakevdp
799
220k
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!