SlideShare a Scribd company logo
1 of 25
Shopify
By Jumayel Islam
About
● one of the best designed and most feature-packed of the cloud-hosted ecommerce solutions
● amazing platform for building an online retail business
● Currently 275,000 stores use the platform
● it's a hosted solution, which means Shopify host your shop on their servers
● You don't have access to the back-end code but you can still massively customise your shop via
configuration, 'apps' or by customising your theme
Benefits
1. Responsive Website
- Free/Premium themes available
- Liquid is Shopify’s proprietary language to build custom themes
2. No Tech Worries
- provide faster and more secure hosting than you can do on your own
- don't have to worry about scalability
- fully PCI compliant
- use of caching, CDNs and other techniques by Shopify
- backed up on a regular basis
Benefits(Cont.)
3. 24/7 Customer Support
4. Easily add powerful features from App Store
- third party apps that can add functionality to your store
- Apps can be developed using Ruby on Rails
5. Import Large Product Catalogues Quickly
6. Plenty of Payment Gateways to Choose from
7. Minimal set up effort/cost
8. Easy to use admin screens including order management
9. No hardware/hosting worries
10. Access to a superfast platform, beneficial for user experience and SEO
Why shopify app?
• Shopify’s API provides an almost unlimited set of possibilities for interfacing the Shopify
platform with third-party software.
• Two ways you can make money building apps for Shopify stores
- Create a custom app for a client: Use the Shopify API to build and sell an app that
adds features and functionality to a client’s Shopify store.
- Build an app and sell it in the Shopify App Store: You’ll earn 80% of each app sale.
Get Started
● Become a Shopify Partner(Free) and create your development store
● Develop and install your app into your Development Store
● Submit to the app store
Prerequisites
• Create a new application in your partner account
• Set the Application Callback URL
to:http://localhost:3000
• Set the Application redirect_uri to:
http://localhost:3000/auth/shopify/callback
Shopify app store (GET)
Localhost (authenticate)
Shopify Admin (Permission)
Localhost (Install app, make api
calls)
OAuth (Step 1: Get the client’s credentials)
OAuth (Step 2: Asking for permission)
OAuth (Step 2: Asking for permission - Cont.)
To show the prompt, redirect the user to this URL:
https://{shop}.myshopify.com/admin/oauth/authorize? client_id={api_key}&
scope={scopes}&
redirect_uri={redirect_uri}&
state={nonce}}
{shop} - substitute this with the name of the user’s shop.
{scopes} - substitute this with a comma-separated list of scopes. For example, to write orders and read
customers use scope=write_orders,read_customers.
{redirect_uri} - substitute this with the URL where you want to redirect the users after they authorize the
client.
{nonce} - a randomly selected value provided by your application, which is unique for each authorization
request.
OAuth (Step 3: Confirming installation)
When the user clicks the Install button in the prompt, they will be redirected to the client server
One of the parameters passed in the confirmation redirect is the Authorization Code
https://example.org/some/redirect/uri?code={authorization_code}&
hmac=da9..08985&
timestamp=1409..6174&
state={nonce}&
shop={hostname}
OAuth (Step 3: Confirming installation - Cont.)
The authorization code can be exchanged once for a permanent access token
The exchange is made with a request to the shop
POST https://{shop}.myshopify.com/admin/oauth/access_token
With {shop} substituted for the name of the user’s shop and with the following parameters provided in the
body of the request:
client_id :The API Key for the app.
client_secret: The Shared Secret for the app.
code: The authorization code provided in the redirect.
OAuth (Step 3: Confirming installation - Cont.)
The server will respond with an access token
{
"access_token": "f85632530bf277ec9ac6f649fc327f17",
"scope": "write_orders,read_customers"
}
access_token is an API access token that can be used to access the shop’s data as long as the client is installed
Create Rails Application
We will use shopify_app gem to get the basic configuration to build our first shopify app using Ruby on
Rails
To get started add shopify_app to your Gemfile and bundle install
$ rails new my_shopify_app
$ cd my_shopify_app
$ echo "gem 'shopify_app'" >> Gemfile
$ bundle install
Run generator
$ rails generate shopify_app --api_key <your_api_key> --secret <your_app_secret>
The default generator will run the install, shop, and home_controller generators. This is the
recommended way to start your app.
Now you will need to configure few things in shopify_app.rb file in my_shopify_app/config/initializers
directory.
Configure Initializer
scope - the Oauth access scope required for your app, eg read_products, write_orders. Multiple options
need to be delimited by a comma-space. Ex:
config.scope = 'read_orders, read_products, write_products, read_themes, write_themes'
embedded - the default is to generate an embedded app, if you want a legacy non-embedded app then set
this to false. Ex:
config.embedded_app = false
● This generator creates a simple shop model and a migration.
● This generator also creates an example home controller and view which fetches and displays
products using the ShopifyAPI. You can later modify it according to your need.
Mounting the Engine
Mounting the Engine will provide the basic routes to authenticating a shop with your custom application. It
will provide:
Verb Route Action
GET '/login' Login
POST '/login' Login
GET '/auth/shopify/callba
ck'
Authenticate Callback
GET '/logout' Logout
POST '/webhooks/:type' Webhook Callback
Mounting the Engine(cont.)
The default routes of the Shopify rails engine, which is mounted to the root, can be altered to mount on
a different route.
The config/routes.rb can be modified to put these under a nested route (say /app-name) as:
mount ShopifyApp::Engine, at: '/app-name'
This will create the Shopify engine routes under the specified Subdirectory, as a result it will redirect new
consumers to /app-name/login and following a similar format for the other engine routes.
Shopify API
ShopifyAPI uses ActiveResource to communicate with the REST web service.
ActiveResource has to be configured with a fully authorized URL of a particular store first.
To make authenticated API requests you need to set the base site url as follows:
shop_url = "https://#{API_KEY}:#{SHOPIFY_TOKEN}@#{SHOP_URL}/admin"
ShopifyAPI::Base.site = shop_url
API_KEY: This is the key generated when you created your app in partner’s account.
SHOPIFY_TOKEN: This is the token stored in your shop table when the app is installed for a particular shop.
Shopify API(cont.)
shop = ShopifyAPI::Shop.current
"shop": {
"id": 690933842,
"name": "Apple Computers",
"email": "steve@apple.com",
"domain": "shop.apple.com",
"created_at": "2007-12-31T19:00:00-05:00",
"province": "California",
"country": "US",
"address1": "1 Infinite Loop",
"zip": "95014",
… … …
… … ...
}
Shopify API(cont.)
products = ShopifyAPI::Product.find(:all)
ShopifyAPI::Webhook.create({ topic: 'orders/create', address: [ENDPOINT_URL], format: 'json' })
themes = ShopifyAPI::Theme.find(:all)
asset = ShopifyAPI::Asset.find('templates/cart.liquid', :params => {:theme_id => main_theme_id})
Webhooks
Cart carts/create, carts/update
Checkout checkouts/create, checkouts/delete, checkouts/update
Order orders/cancelled, orders/create, orders/delete, orders/fulfilled,
orders/paid, orders/partially_fulfilled, orders/updated
Product products/create, products/delete, products/update
Shop app/uninstalled, shop/update
Theme themes/create, themes/delete, themes/publish, themes/update
API Reference
https://help.shopify.com/api/reference
Popular Shopify Apps
Better Coupon Box
offer site visitors a discount coupon if they follow social accounts or subscribe emails for newsletter.
Stores installing this app with a view to rocketing followers for their Facebook / Twitter accounts and
growing email list to sell much better with email marketing.
Quick Facebook Live Chat
allows your customers to send messages to your Facebook page inbox right on store.
Then, you can chat with them via inbox as Facebook friends and turn them into your paying customers.
Your conversation history with customers are forever saved with Facebook messenger. No more emails
exchange for customer support,
Thank You

More Related Content

What's hot

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Folio3 Software
 
How to setup shopify store
How to setup shopify storeHow to setup shopify store
How to setup shopify storeGoWebBaby
 
Shopify Solutions Proposal PowerPoint Presentation Slides
Shopify Solutions Proposal PowerPoint Presentation SlidesShopify Solutions Proposal PowerPoint Presentation Slides
Shopify Solutions Proposal PowerPoint Presentation SlidesSlideTeam
 
Shopify Online Store Proposal PowerPoint Presentation Slides
Shopify Online Store Proposal PowerPoint Presentation SlidesShopify Online Store Proposal PowerPoint Presentation Slides
Shopify Online Store Proposal PowerPoint Presentation SlidesSlideTeam
 
Shopify Proposal Template PowerPoint Presentation Slides
Shopify Proposal Template PowerPoint Presentation SlidesShopify Proposal Template PowerPoint Presentation Slides
Shopify Proposal Template PowerPoint Presentation SlidesSlideTeam
 
Introduction to WooCommerce
Introduction to WooCommerce Introduction to WooCommerce
Introduction to WooCommerce Dat Hoang
 
Shopify case study
Shopify case studyShopify case study
Shopify case studyPaul Miller
 
Building Shopify Store Proposal PowerPoint Presentation Slides
Building Shopify Store Proposal PowerPoint Presentation SlidesBuilding Shopify Store Proposal PowerPoint Presentation Slides
Building Shopify Store Proposal PowerPoint Presentation SlidesSlideTeam
 
How to start Dropshipping Aliexpress using woocommerce Guide
How to start Dropshipping Aliexpress using woocommerce Guide How to start Dropshipping Aliexpress using woocommerce Guide
How to start Dropshipping Aliexpress using woocommerce Guide deba akram
 
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesShopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesSlideTeam
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
Lead generation stragety ppt
Lead generation stragety pptLead generation stragety ppt
Lead generation stragety pptnehaanandjha
 
Driving Growth With Omnichannel Marketing
Driving Growth With Omnichannel Marketing Driving Growth With Omnichannel Marketing
Driving Growth With Omnichannel Marketing MoEngage Inc.
 
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdfEuropean Innovation Academy
 
eCommerce Strategy In-a-Box
eCommerce Strategy In-a-BoxeCommerce Strategy In-a-Box
eCommerce Strategy In-a-BoxJoel Serino
 
Product Listing (PDF) @ Amazon
Product Listing (PDF) @ AmazonProduct Listing (PDF) @ Amazon
Product Listing (PDF) @ Amazonebech0
 
Ecommerce Online Store Developer Proposal PowerPoint Presentation Slides
Ecommerce Online Store Developer Proposal PowerPoint Presentation SlidesEcommerce Online Store Developer Proposal PowerPoint Presentation Slides
Ecommerce Online Store Developer Proposal PowerPoint Presentation SlidesSlideTeam
 

What's hot (20)

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts
 
Shopify
ShopifyShopify
Shopify
 
How to setup shopify store
How to setup shopify storeHow to setup shopify store
How to setup shopify store
 
Shopify Solutions Proposal PowerPoint Presentation Slides
Shopify Solutions Proposal PowerPoint Presentation SlidesShopify Solutions Proposal PowerPoint Presentation Slides
Shopify Solutions Proposal PowerPoint Presentation Slides
 
Shopify Online Store Proposal PowerPoint Presentation Slides
Shopify Online Store Proposal PowerPoint Presentation SlidesShopify Online Store Proposal PowerPoint Presentation Slides
Shopify Online Store Proposal PowerPoint Presentation Slides
 
Shopify Proposal Template PowerPoint Presentation Slides
Shopify Proposal Template PowerPoint Presentation SlidesShopify Proposal Template PowerPoint Presentation Slides
Shopify Proposal Template PowerPoint Presentation Slides
 
Introduction to WooCommerce
Introduction to WooCommerce Introduction to WooCommerce
Introduction to WooCommerce
 
Shopify case study
Shopify case studyShopify case study
Shopify case study
 
Building Shopify Store Proposal PowerPoint Presentation Slides
Building Shopify Store Proposal PowerPoint Presentation SlidesBuilding Shopify Store Proposal PowerPoint Presentation Slides
Building Shopify Store Proposal PowerPoint Presentation Slides
 
How to start Dropshipping Aliexpress using woocommerce Guide
How to start Dropshipping Aliexpress using woocommerce Guide How to start Dropshipping Aliexpress using woocommerce Guide
How to start Dropshipping Aliexpress using woocommerce Guide
 
Shopify
ShopifyShopify
Shopify
 
Web Designing
Web Designing Web Designing
Web Designing
 
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation SlidesShopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
Shopify Ecommerce Solutions Proposal PowerPoint Presentation Slides
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Lead generation stragety ppt
Lead generation stragety pptLead generation stragety ppt
Lead generation stragety ppt
 
Driving Growth With Omnichannel Marketing
Driving Growth With Omnichannel Marketing Driving Growth With Omnichannel Marketing
Driving Growth With Omnichannel Marketing
 
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf
26_07_Marketing 101_Maeghan Smulders_EIA Porto 2022.pdf
 
eCommerce Strategy In-a-Box
eCommerce Strategy In-a-BoxeCommerce Strategy In-a-Box
eCommerce Strategy In-a-Box
 
Product Listing (PDF) @ Amazon
Product Listing (PDF) @ AmazonProduct Listing (PDF) @ Amazon
Product Listing (PDF) @ Amazon
 
Ecommerce Online Store Developer Proposal PowerPoint Presentation Slides
Ecommerce Online Store Developer Proposal PowerPoint Presentation SlidesEcommerce Online Store Developer Proposal PowerPoint Presentation Slides
Ecommerce Online Store Developer Proposal PowerPoint Presentation Slides
 

Viewers also liked

Shopify Retail Tour - Mailchimp Email Marketing
Shopify Retail Tour - Mailchimp Email MarketingShopify Retail Tour - Mailchimp Email Marketing
Shopify Retail Tour - Mailchimp Email MarketingShopify
 
Shopify - Start Your Business Now
Shopify - Start Your Business NowShopify - Start Your Business Now
Shopify - Start Your Business Nowkabukithemes
 
Growth Strategies
Growth StrategiesGrowth Strategies
Growth StrategiesShopify
 
Shipping with Shopify
Shipping with ShopifyShipping with Shopify
Shipping with ShopifyShopify
 
Conquering The Omnichannel Arena
Conquering The Omnichannel ArenaConquering The Omnichannel Arena
Conquering The Omnichannel ArenaG3 Communications
 
Shopify Tutorial
Shopify TutorialShopify Tutorial
Shopify TutorialPuttiApps
 
20 Shopify landing pages that will inspire your next redesign
20 Shopify landing pages that will inspire your next redesign20 Shopify landing pages that will inspire your next redesign
20 Shopify landing pages that will inspire your next redesignGoSquared
 
Retail Tour Partner Workshop - Zendesk
Retail Tour Partner Workshop - ZendeskRetail Tour Partner Workshop - Zendesk
Retail Tour Partner Workshop - ZendeskShopify
 
50+ Shopify Tools to Grow and Manage Your eCommerce Business
50+ Shopify Tools to Grow and Manage Your eCommerce Business50+ Shopify Tools to Grow and Manage Your eCommerce Business
50+ Shopify Tools to Grow and Manage Your eCommerce BusinessPixc
 
Retail Industry Analysis 2013
Retail Industry Analysis 2013Retail Industry Analysis 2013
Retail Industry Analysis 2013Propane Studio
 
Creating a Great Customer Experience Any Place with Tara and Anne
Creating a Great Customer Experience Any Place with Tara and AnneCreating a Great Customer Experience Any Place with Tara and Anne
Creating a Great Customer Experience Any Place with Tara and AnneiQmetrixCorp
 
Omni-Channel Marketing – Bridging the Gap between Insight & Execution
Omni-Channel Marketing – Bridging the Gap between Insight & ExecutionOmni-Channel Marketing – Bridging the Gap between Insight & Execution
Omni-Channel Marketing – Bridging the Gap between Insight & ExecutionG3 Communications
 
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue Model
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue ModelJDA Innovation Forum: Seamless Omnichannel Campaigns Revenue Model
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue ModelFederico Gasparotto
 
Neo noir
Neo noirNeo noir
Neo noirCaxie
 
Audiodec
AudiodecAudiodec
AudiodecIvan Bz
 
без имени 1
без имени 1без имени 1
без имени 1Aleksej123
 

Viewers also liked (16)

Shopify Retail Tour - Mailchimp Email Marketing
Shopify Retail Tour - Mailchimp Email MarketingShopify Retail Tour - Mailchimp Email Marketing
Shopify Retail Tour - Mailchimp Email Marketing
 
Shopify - Start Your Business Now
Shopify - Start Your Business NowShopify - Start Your Business Now
Shopify - Start Your Business Now
 
Growth Strategies
Growth StrategiesGrowth Strategies
Growth Strategies
 
Shipping with Shopify
Shipping with ShopifyShipping with Shopify
Shipping with Shopify
 
Conquering The Omnichannel Arena
Conquering The Omnichannel ArenaConquering The Omnichannel Arena
Conquering The Omnichannel Arena
 
Shopify Tutorial
Shopify TutorialShopify Tutorial
Shopify Tutorial
 
20 Shopify landing pages that will inspire your next redesign
20 Shopify landing pages that will inspire your next redesign20 Shopify landing pages that will inspire your next redesign
20 Shopify landing pages that will inspire your next redesign
 
Retail Tour Partner Workshop - Zendesk
Retail Tour Partner Workshop - ZendeskRetail Tour Partner Workshop - Zendesk
Retail Tour Partner Workshop - Zendesk
 
50+ Shopify Tools to Grow and Manage Your eCommerce Business
50+ Shopify Tools to Grow and Manage Your eCommerce Business50+ Shopify Tools to Grow and Manage Your eCommerce Business
50+ Shopify Tools to Grow and Manage Your eCommerce Business
 
Retail Industry Analysis 2013
Retail Industry Analysis 2013Retail Industry Analysis 2013
Retail Industry Analysis 2013
 
Creating a Great Customer Experience Any Place with Tara and Anne
Creating a Great Customer Experience Any Place with Tara and AnneCreating a Great Customer Experience Any Place with Tara and Anne
Creating a Great Customer Experience Any Place with Tara and Anne
 
Omni-Channel Marketing – Bridging the Gap between Insight & Execution
Omni-Channel Marketing – Bridging the Gap between Insight & ExecutionOmni-Channel Marketing – Bridging the Gap between Insight & Execution
Omni-Channel Marketing – Bridging the Gap between Insight & Execution
 
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue Model
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue ModelJDA Innovation Forum: Seamless Omnichannel Campaigns Revenue Model
JDA Innovation Forum: Seamless Omnichannel Campaigns Revenue Model
 
Neo noir
Neo noirNeo noir
Neo noir
 
Audiodec
AudiodecAudiodec
Audiodec
 
без имени 1
без имени 1без имени 1
без имени 1
 

Similar to Shopify

Big commerce app development
Big commerce app developmentBig commerce app development
Big commerce app developmentNascenia IT
 
API Product Management and Strategy
API Product Management and StrategyAPI Product Management and Strategy
API Product Management and Strategyadritab
 
Salesforce Marketing Cloud connector for Wordpress WooCommerce
Salesforce Marketing Cloud connector for Wordpress WooCommerceSalesforce Marketing Cloud connector for Wordpress WooCommerce
Salesforce Marketing Cloud connector for Wordpress WooCommerceWebkul Software Pvt. Ltd.
 
Different architecture topology for dynamics 365 retail
Different architecture topology for dynamics 365 retailDifferent architecture topology for dynamics 365 retail
Different architecture topology for dynamics 365 retailSonny56
 
Salesforce Marketing Cloud Connector for PrestaShop
Salesforce Marketing Cloud Connector for PrestaShopSalesforce Marketing Cloud Connector for PrestaShop
Salesforce Marketing Cloud Connector for PrestaShopWebkul Software Pvt. Ltd.
 
Building a Headless Shop
Building a Headless ShopBuilding a Headless Shop
Building a Headless ShopPascalKaufmann
 
Developing eCommerce Apps with the Shopify API
Developing eCommerce Apps with the Shopify APIDeveloping eCommerce Apps with the Shopify API
Developing eCommerce Apps with the Shopify APIJosh Brown
 
Connection flows
Connection flowsConnection flows
Connection flowsAPI2Cart
 
Shopify Theme Building Workshop
Shopify Theme Building WorkshopShopify Theme Building Workshop
Shopify Theme Building WorkshopKeir Whitaker
 
Shopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShahram Foroozan
 
Shopify custom payment gateway development for paycertify - The Brihaspati In...
Shopify custom payment gateway development for paycertify - The Brihaspati In...Shopify custom payment gateway development for paycertify - The Brihaspati In...
Shopify custom payment gateway development for paycertify - The Brihaspati In...The Brihaspati Infotech
 
Salesforce Marketing Cloud Connector For Shopify
Salesforce Marketing Cloud Connector For ShopifySalesforce Marketing Cloud Connector For Shopify
Salesforce Marketing Cloud Connector For ShopifyWebkul Software Pvt. Ltd.
 
Customer Automation Masterclass - Workshop 1: Data Enrichment using Clearbit
Customer Automation Masterclass - Workshop 1: Data Enrichment using ClearbitCustomer Automation Masterclass - Workshop 1: Data Enrichment using Clearbit
Customer Automation Masterclass - Workshop 1: Data Enrichment using ClearbitJanBogaert8
 
Birmingham Autumn Shopify Meetup - 5th October 2017
Birmingham Autumn Shopify Meetup - 5th October 2017Birmingham Autumn Shopify Meetup - 5th October 2017
Birmingham Autumn Shopify Meetup - 5th October 2017Alisa Nemova
 
Building Ecommerce Storefronts on the JAMstack
Building Ecommerce Storefronts on the JAMstackBuilding Ecommerce Storefronts on the JAMstack
Building Ecommerce Storefronts on the JAMstackBigCommerce
 
Azure APIM Presentation to understand about.pptx
Azure APIM Presentation to understand about.pptxAzure APIM Presentation to understand about.pptx
Azure APIM Presentation to understand about.pptxpythagorus143
 
Wix to Shopify migration checklist.pdf
Wix to Shopify migration checklist.pdfWix to Shopify migration checklist.pdf
Wix to Shopify migration checklist.pdfCart2Cart2
 

Similar to Shopify (20)

Big commerce app development
Big commerce app developmentBig commerce app development
Big commerce app development
 
API Product Management and Strategy
API Product Management and StrategyAPI Product Management and Strategy
API Product Management and Strategy
 
Salesforce Marketing Cloud For WooCommerce
Salesforce Marketing Cloud For WooCommerceSalesforce Marketing Cloud For WooCommerce
Salesforce Marketing Cloud For WooCommerce
 
CS-Cart Shopify Connector
CS-Cart Shopify ConnectorCS-Cart Shopify Connector
CS-Cart Shopify Connector
 
Salesforce Marketing Cloud connector for Wordpress WooCommerce
Salesforce Marketing Cloud connector for Wordpress WooCommerceSalesforce Marketing Cloud connector for Wordpress WooCommerce
Salesforce Marketing Cloud connector for Wordpress WooCommerce
 
Different architecture topology for dynamics 365 retail
Different architecture topology for dynamics 365 retailDifferent architecture topology for dynamics 365 retail
Different architecture topology for dynamics 365 retail
 
Salesforce Marketing Cloud Connector for PrestaShop
Salesforce Marketing Cloud Connector for PrestaShopSalesforce Marketing Cloud Connector for PrestaShop
Salesforce Marketing Cloud Connector for PrestaShop
 
Building a Headless Shop
Building a Headless ShopBuilding a Headless Shop
Building a Headless Shop
 
Developing eCommerce Apps with the Shopify API
Developing eCommerce Apps with the Shopify APIDeveloping eCommerce Apps with the Shopify API
Developing eCommerce Apps with the Shopify API
 
Connection flows
Connection flowsConnection flows
Connection flows
 
Shopify Theme Building Workshop
Shopify Theme Building WorkshopShopify Theme Building Workshop
Shopify Theme Building Workshop
 
Shopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptx
 
Shopify custom payment gateway development for paycertify - The Brihaspati In...
Shopify custom payment gateway development for paycertify - The Brihaspati In...Shopify custom payment gateway development for paycertify - The Brihaspati In...
Shopify custom payment gateway development for paycertify - The Brihaspati In...
 
Salesforce Marketing Cloud Connector For Shopify
Salesforce Marketing Cloud Connector For ShopifySalesforce Marketing Cloud Connector For Shopify
Salesforce Marketing Cloud Connector For Shopify
 
Customer Automation Masterclass - Workshop 1: Data Enrichment using Clearbit
Customer Automation Masterclass - Workshop 1: Data Enrichment using ClearbitCustomer Automation Masterclass - Workshop 1: Data Enrichment using Clearbit
Customer Automation Masterclass - Workshop 1: Data Enrichment using Clearbit
 
Magento Mailchimp module user manual
Magento Mailchimp module user manualMagento Mailchimp module user manual
Magento Mailchimp module user manual
 
Birmingham Autumn Shopify Meetup - 5th October 2017
Birmingham Autumn Shopify Meetup - 5th October 2017Birmingham Autumn Shopify Meetup - 5th October 2017
Birmingham Autumn Shopify Meetup - 5th October 2017
 
Building Ecommerce Storefronts on the JAMstack
Building Ecommerce Storefronts on the JAMstackBuilding Ecommerce Storefronts on the JAMstack
Building Ecommerce Storefronts on the JAMstack
 
Azure APIM Presentation to understand about.pptx
Azure APIM Presentation to understand about.pptxAzure APIM Presentation to understand about.pptx
Azure APIM Presentation to understand about.pptx
 
Wix to Shopify migration checklist.pdf
Wix to Shopify migration checklist.pdfWix to Shopify migration checklist.pdf
Wix to Shopify migration checklist.pdf
 

More from Nascenia IT

Introduction to basic data analytics tools
Introduction to basic data analytics toolsIntroduction to basic data analytics tools
Introduction to basic data analytics toolsNascenia IT
 
Communication workshop in nascenia
Communication workshop in nasceniaCommunication workshop in nascenia
Communication workshop in nasceniaNascenia IT
 
The Art of Statistical Deception
The Art of Statistical DeceptionThe Art of Statistical Deception
The Art of Statistical DeceptionNascenia IT
 
করোনায় কী করি!
করোনায় কী করি!করোনায় কী করি!
করোনায় কী করি!Nascenia IT
 
GDPR compliance expectations from the development team
GDPR compliance expectations from the development teamGDPR compliance expectations from the development team
GDPR compliance expectations from the development teamNascenia IT
 
Writing Clean Code
Writing Clean CodeWriting Clean Code
Writing Clean CodeNascenia IT
 
History & Introduction of Neural Network and use of it in Computer Vision
History & Introduction of Neural Network and use of it in Computer VisionHistory & Introduction of Neural Network and use of it in Computer Vision
History & Introduction of Neural Network and use of it in Computer VisionNascenia IT
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineNascenia IT
 
iphone 11 new features
iphone 11 new featuresiphone 11 new features
iphone 11 new featuresNascenia IT
 
Software quality assurance and cyber security
Software quality assurance and cyber securitySoftware quality assurance and cyber security
Software quality assurance and cyber securityNascenia IT
 
Job Market Scenario For Freshers
Job Market Scenario For Freshers Job Market Scenario For Freshers
Job Market Scenario For Freshers Nascenia IT
 
Modern Frontend Technologies (BEM, Retina)
Modern Frontend Technologies (BEM, Retina)Modern Frontend Technologies (BEM, Retina)
Modern Frontend Technologies (BEM, Retina)Nascenia IT
 
CSS for Developers
CSS for DevelopersCSS for Developers
CSS for DevelopersNascenia IT
 
Integrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationIntegrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationNascenia IT
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideTypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideNascenia IT
 
Ruby conf 2016 - Secrets of Testing Rails 5 Apps
Ruby conf 2016 - Secrets of Testing Rails 5 AppsRuby conf 2016 - Secrets of Testing Rails 5 Apps
Ruby conf 2016 - Secrets of Testing Rails 5 AppsNascenia IT
 
COREXIT: Microsoft’s new cross platform framework
COREXIT: Microsoft’s new cross platform frameworkCOREXIT: Microsoft’s new cross platform framework
COREXIT: Microsoft’s new cross platform frameworkNascenia IT
 
An overview on the Reddot Ruby Conf 2016, Singapore
An overview on the Reddot Ruby Conf 2016, SingaporeAn overview on the Reddot Ruby Conf 2016, Singapore
An overview on the Reddot Ruby Conf 2016, SingaporeNascenia IT
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilNascenia IT
 

More from Nascenia IT (20)

Introduction to basic data analytics tools
Introduction to basic data analytics toolsIntroduction to basic data analytics tools
Introduction to basic data analytics tools
 
Communication workshop in nascenia
Communication workshop in nasceniaCommunication workshop in nascenia
Communication workshop in nascenia
 
The Art of Statistical Deception
The Art of Statistical DeceptionThe Art of Statistical Deception
The Art of Statistical Deception
 
করোনায় কী করি!
করোনায় কী করি!করোনায় কী করি!
করোনায় কী করি!
 
GDPR compliance expectations from the development team
GDPR compliance expectations from the development teamGDPR compliance expectations from the development team
GDPR compliance expectations from the development team
 
Writing Clean Code
Writing Clean CodeWriting Clean Code
Writing Clean Code
 
History & Introduction of Neural Network and use of it in Computer Vision
History & Introduction of Neural Network and use of it in Computer VisionHistory & Introduction of Neural Network and use of it in Computer Vision
History & Introduction of Neural Network and use of it in Computer Vision
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding Guideline
 
iphone 11 new features
iphone 11 new featuresiphone 11 new features
iphone 11 new features
 
Software quality assurance and cyber security
Software quality assurance and cyber securitySoftware quality assurance and cyber security
Software quality assurance and cyber security
 
Job Market Scenario For Freshers
Job Market Scenario For Freshers Job Market Scenario For Freshers
Job Market Scenario For Freshers
 
Modern Frontend Technologies (BEM, Retina)
Modern Frontend Technologies (BEM, Retina)Modern Frontend Technologies (BEM, Retina)
Modern Frontend Technologies (BEM, Retina)
 
CSS for Developers
CSS for DevelopersCSS for Developers
CSS for Developers
 
Integrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationIntegrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails Application
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideTypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation Guide
 
Clean code
Clean codeClean code
Clean code
 
Ruby conf 2016 - Secrets of Testing Rails 5 Apps
Ruby conf 2016 - Secrets of Testing Rails 5 AppsRuby conf 2016 - Secrets of Testing Rails 5 Apps
Ruby conf 2016 - Secrets of Testing Rails 5 Apps
 
COREXIT: Microsoft’s new cross platform framework
COREXIT: Microsoft’s new cross platform frameworkCOREXIT: Microsoft’s new cross platform framework
COREXIT: Microsoft’s new cross platform framework
 
An overview on the Reddot Ruby Conf 2016, Singapore
An overview on the Reddot Ruby Conf 2016, SingaporeAn overview on the Reddot Ruby Conf 2016, Singapore
An overview on the Reddot Ruby Conf 2016, Singapore
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devil
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

Shopify

  • 2. About ● one of the best designed and most feature-packed of the cloud-hosted ecommerce solutions ● amazing platform for building an online retail business ● Currently 275,000 stores use the platform ● it's a hosted solution, which means Shopify host your shop on their servers ● You don't have access to the back-end code but you can still massively customise your shop via configuration, 'apps' or by customising your theme
  • 3. Benefits 1. Responsive Website - Free/Premium themes available - Liquid is Shopify’s proprietary language to build custom themes 2. No Tech Worries - provide faster and more secure hosting than you can do on your own - don't have to worry about scalability - fully PCI compliant - use of caching, CDNs and other techniques by Shopify - backed up on a regular basis
  • 4. Benefits(Cont.) 3. 24/7 Customer Support 4. Easily add powerful features from App Store - third party apps that can add functionality to your store - Apps can be developed using Ruby on Rails 5. Import Large Product Catalogues Quickly 6. Plenty of Payment Gateways to Choose from 7. Minimal set up effort/cost 8. Easy to use admin screens including order management 9. No hardware/hosting worries 10. Access to a superfast platform, beneficial for user experience and SEO
  • 5. Why shopify app? • Shopify’s API provides an almost unlimited set of possibilities for interfacing the Shopify platform with third-party software. • Two ways you can make money building apps for Shopify stores - Create a custom app for a client: Use the Shopify API to build and sell an app that adds features and functionality to a client’s Shopify store. - Build an app and sell it in the Shopify App Store: You’ll earn 80% of each app sale.
  • 6. Get Started ● Become a Shopify Partner(Free) and create your development store ● Develop and install your app into your Development Store ● Submit to the app store
  • 7. Prerequisites • Create a new application in your partner account • Set the Application Callback URL to:http://localhost:3000 • Set the Application redirect_uri to: http://localhost:3000/auth/shopify/callback Shopify app store (GET) Localhost (authenticate) Shopify Admin (Permission) Localhost (Install app, make api calls)
  • 8. OAuth (Step 1: Get the client’s credentials)
  • 9. OAuth (Step 2: Asking for permission)
  • 10. OAuth (Step 2: Asking for permission - Cont.) To show the prompt, redirect the user to this URL: https://{shop}.myshopify.com/admin/oauth/authorize? client_id={api_key}& scope={scopes}& redirect_uri={redirect_uri}& state={nonce}} {shop} - substitute this with the name of the user’s shop. {scopes} - substitute this with a comma-separated list of scopes. For example, to write orders and read customers use scope=write_orders,read_customers. {redirect_uri} - substitute this with the URL where you want to redirect the users after they authorize the client. {nonce} - a randomly selected value provided by your application, which is unique for each authorization request.
  • 11. OAuth (Step 3: Confirming installation) When the user clicks the Install button in the prompt, they will be redirected to the client server One of the parameters passed in the confirmation redirect is the Authorization Code https://example.org/some/redirect/uri?code={authorization_code}& hmac=da9..08985& timestamp=1409..6174& state={nonce}& shop={hostname}
  • 12. OAuth (Step 3: Confirming installation - Cont.) The authorization code can be exchanged once for a permanent access token The exchange is made with a request to the shop POST https://{shop}.myshopify.com/admin/oauth/access_token With {shop} substituted for the name of the user’s shop and with the following parameters provided in the body of the request: client_id :The API Key for the app. client_secret: The Shared Secret for the app. code: The authorization code provided in the redirect.
  • 13. OAuth (Step 3: Confirming installation - Cont.) The server will respond with an access token { "access_token": "f85632530bf277ec9ac6f649fc327f17", "scope": "write_orders,read_customers" } access_token is an API access token that can be used to access the shop’s data as long as the client is installed
  • 14. Create Rails Application We will use shopify_app gem to get the basic configuration to build our first shopify app using Ruby on Rails To get started add shopify_app to your Gemfile and bundle install $ rails new my_shopify_app $ cd my_shopify_app $ echo "gem 'shopify_app'" >> Gemfile $ bundle install
  • 15. Run generator $ rails generate shopify_app --api_key <your_api_key> --secret <your_app_secret> The default generator will run the install, shop, and home_controller generators. This is the recommended way to start your app. Now you will need to configure few things in shopify_app.rb file in my_shopify_app/config/initializers directory.
  • 16. Configure Initializer scope - the Oauth access scope required for your app, eg read_products, write_orders. Multiple options need to be delimited by a comma-space. Ex: config.scope = 'read_orders, read_products, write_products, read_themes, write_themes' embedded - the default is to generate an embedded app, if you want a legacy non-embedded app then set this to false. Ex: config.embedded_app = false ● This generator creates a simple shop model and a migration. ● This generator also creates an example home controller and view which fetches and displays products using the ShopifyAPI. You can later modify it according to your need.
  • 17. Mounting the Engine Mounting the Engine will provide the basic routes to authenticating a shop with your custom application. It will provide: Verb Route Action GET '/login' Login POST '/login' Login GET '/auth/shopify/callba ck' Authenticate Callback GET '/logout' Logout POST '/webhooks/:type' Webhook Callback
  • 18. Mounting the Engine(cont.) The default routes of the Shopify rails engine, which is mounted to the root, can be altered to mount on a different route. The config/routes.rb can be modified to put these under a nested route (say /app-name) as: mount ShopifyApp::Engine, at: '/app-name' This will create the Shopify engine routes under the specified Subdirectory, as a result it will redirect new consumers to /app-name/login and following a similar format for the other engine routes.
  • 19. Shopify API ShopifyAPI uses ActiveResource to communicate with the REST web service. ActiveResource has to be configured with a fully authorized URL of a particular store first. To make authenticated API requests you need to set the base site url as follows: shop_url = "https://#{API_KEY}:#{SHOPIFY_TOKEN}@#{SHOP_URL}/admin" ShopifyAPI::Base.site = shop_url API_KEY: This is the key generated when you created your app in partner’s account. SHOPIFY_TOKEN: This is the token stored in your shop table when the app is installed for a particular shop.
  • 20. Shopify API(cont.) shop = ShopifyAPI::Shop.current "shop": { "id": 690933842, "name": "Apple Computers", "email": "steve@apple.com", "domain": "shop.apple.com", "created_at": "2007-12-31T19:00:00-05:00", "province": "California", "country": "US", "address1": "1 Infinite Loop", "zip": "95014", … … … … … ... }
  • 21. Shopify API(cont.) products = ShopifyAPI::Product.find(:all) ShopifyAPI::Webhook.create({ topic: 'orders/create', address: [ENDPOINT_URL], format: 'json' }) themes = ShopifyAPI::Theme.find(:all) asset = ShopifyAPI::Asset.find('templates/cart.liquid', :params => {:theme_id => main_theme_id})
  • 22. Webhooks Cart carts/create, carts/update Checkout checkouts/create, checkouts/delete, checkouts/update Order orders/cancelled, orders/create, orders/delete, orders/fulfilled, orders/paid, orders/partially_fulfilled, orders/updated Product products/create, products/delete, products/update Shop app/uninstalled, shop/update Theme themes/create, themes/delete, themes/publish, themes/update
  • 24. Popular Shopify Apps Better Coupon Box offer site visitors a discount coupon if they follow social accounts or subscribe emails for newsletter. Stores installing this app with a view to rocketing followers for their Facebook / Twitter accounts and growing email list to sell much better with email marketing. Quick Facebook Live Chat allows your customers to send messages to your Facebook page inbox right on store. Then, you can chat with them via inbox as Facebook friends and turn them into your paying customers. Your conversation history with customers are forever saved with Facebook messenger. No more emails exchange for customer support,