<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Ton Nguyen</title> <link>https://world.optimizely.com/blogs/ton-nguyen/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>Commerce showcase: mobile application for online store</title>            <link>https://world.optimizely.com/blogs/ton-nguyen/dates/2014/11/commerce-showcase-mobile-application-for-online-store/</link>            <description>&lt;p&gt;Last month we introduced the &lt;a href=&quot;/link/57bf8191787a4e1ba0a3245952065000.aspx&quot;&gt;Service API&lt;/a&gt;, which is a service layer available for system integrators to update and retrieve information from EPiServer. Building an integration between EPiServer and external systems is now easier than ever.&lt;/p&gt; &lt;p&gt;Today, we released the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp&quot;&gt;sample code for a mobile application&lt;/a&gt;, for every EPiServer Commerce system. With this mobile application, people now can explore your store, find their favorite stuff, looking for the nearest store, and make an order! The application is built and tested on Android device, but it can be built for iOS device too. The interesting part is, this mobile application is developed based on HTML, CSS and JavaScript, so it is quite familiar to us, web developer. By using the Service API, we now can retrieve, update catalog by a single AJAX call.&lt;/p&gt; &lt;p&gt;In this post, we will go detail on how to get the data from Service API, how to render catalog data by using template engine, how to make an order on button click, and how to add the Google map to the application.&lt;/p&gt; &lt;h2&gt;Platform&lt;/h2&gt; &lt;p&gt;By using &lt;a href=&quot;http://cordova.apache.org/&quot;&gt;Cordova&lt;/a&gt;for building, this mobile application can be deployed on Android and iOS. It is built upon HTML, CSS and JavaScript, packaged as a native application. With Cordova plugin, this Web app can access to native device features such as Geolocation, camera, etc… By using the Google Map plugin, we can add Google Map to the app, so people can find the nearest store, using their current location.&lt;/p&gt; &lt;h2&gt;Libraries&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://cordova.apache.org/&quot;&gt;Cordova&lt;/a&gt; for building native-app-like &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://jquerymobile.com/&quot;&gt;jQueryMobile&lt;/a&gt; for building HTML5 responsive web app. &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://backbonejs.org/&quot;&gt;Backbone&lt;/a&gt; router and view. &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://requirejs.org/&quot;&gt;RequireJS&lt;/a&gt; for AMD, to improve the speed and code quality. &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://olado.github.io/doT/index.html&quot;&gt;doT.js&lt;/a&gt; template engine. &lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;Project structure&lt;/h2&gt; &lt;p&gt;Our code base is in the www folder, everything else is Cordova’s stuff. Unless if we want to customize the Android configuration, we can check the platforms/android folder.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;/link/26f61414b027432fad9a1c841553e9e9.aspx&quot; width=&quot;214&quot; height=&quot;484&quot; /&gt;&lt;/p&gt; &lt;p&gt;Checkout the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/README.md&quot;&gt;README.md&lt;/a&gt; file for installation guide, &lt;a href=&quot;http://cordova.apache.org/docs/en/3.6.0/guide_cli_index.md.html&quot;&gt;Cordova Command Line Interface&lt;/a&gt; on how to add and build other platforms. All of Service API calls is located in &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/www/js/serviceAPI.js&quot;&gt;js/serviceAPI.js&lt;/a&gt; file.&lt;/p&gt; &lt;h2&gt;Config the router&lt;/h2&gt; &lt;p&gt;The Backbone router is implemented in &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/www/js/routers/appRouter.js&quot;&gt;js/routers/appRouter.js&lt;/a&gt;, below is the snippet of router configuration:&lt;/p&gt; &lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:a086257e-b39a-481d-8699-ffb7bf8f8554&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre class=&quot;language-csharp&quot;&gt;&lt;code&gt;routes: {
    &amp;quot;entry/:entryCode/stores&amp;quot;: &amp;quot;findNearestStore&amp;quot;,
    &amp;quot;node/*href&amp;quot;: &amp;quot;loadNode&amp;quot;,
    &amp;quot;entry/*href&amp;quot;: &amp;quot;loadEntry&amp;quot;,
    &amp;quot;&amp;quot;: &amp;quot;home&amp;quot;
},
&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;When the application starts, the &quot;home&quot; action will be called. And based on the route configuration, this URL will open the &quot;findNearestStore&quot; view for &quot;foo&quot; entry: &quot;index.html#entry/foo/stores&quot;. For more information regarding Backbone router: &lt;a href=&quot;http://backbonetutorials.com/what-is-a-router/&quot;&gt;what is backbone router&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Render the home page&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/59ebccc5a4254eebb3c734ad55029b61.aspx&quot; width=&quot;274&quot; height=&quot;484&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The home page will be rendered when the application starts. We will display nodes and entries under the selected catalog in the home page. But before getting catalog data, we must obtain the access token.&lt;/p&gt;
&lt;h3&gt;Get the access token&lt;/h3&gt;
&lt;p&gt;To use any of the Service API RESTful methods, we need to obtain an &quot;OAuth 2 Bearer Token&quot; to send with the request. This token fits for Server to Server integration. But in case of this mobile application, a shared key authentication would be better. That would be the next feature of Service API. In this application, we still use the Bearer token for authenticate. &lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:e545f999-2552-48a5-ac9c-5d352c8c8c4a&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 803px; height: 273px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;getAccessToken: &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (username, password) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; $.ajax({
        type: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;POST&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        url: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://partnerforum2014.azurewebsites.net/token&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        dataType: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;json&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        data: {
            grant_type: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;password&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
            username: username,
            password: password
        }
    });
}
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;Example response:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:6dde8396-b523-493c-bd96-2f00d9cf60ff&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 45px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;token_type&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;bearer&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;access_token&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;AAAA%2FAAA%3DAAAAAAAA&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;We need to keep this access_token, for every later request. By default, the access token lasts for 60 minutes. After 60 minutes, we need to request the new one. &lt;/p&gt;
&lt;h3&gt;Get catalog data&lt;/h3&gt;
&lt;p&gt;Now we have the access token, next thing is getting the catalog data.&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:a54b0ca7-d3c6-49d9-99b1-cb8865cf8d8f&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 803px; height: 214px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;getCatalog: &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (catalogName, accessToken) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; $.ajax({
        type: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GET&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        url: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://partnerforum2014.azurewebsites.net/episerverapi/commerce/catalogs/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; catalogName,
        dataType: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;json&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        headers: {
            &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Authorization&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Bearer &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; accessToken
        }
    });
}
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;The returned catalog is in JSON format, which contains &quot;Nodes&quot; and &quot;Entries&quot; properties. We will use those properties for rendering the node and entry list. We prefer using a template engine for rendering. Below is the template for displaying node list:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:43a6efc9-e748-4a18-ae95-bebf3f86c948&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 204px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;ul &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;data-role&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;listview&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; name&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;nodeList&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; data-split-theme&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;a&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; data-inset&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
    {{~it :value:index}}
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
        &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;href&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;#node/{{=value.Href}}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; data-node-href&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;{{=value.Href}}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; name&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;nodeDetailLink&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
            &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;h2&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;{{! value.Title}}&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;h2&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
        &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;li&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
    {{~}}
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;ul&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;Then using doT.Js template to render an unordered list for all node under our catalog:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:04e67a1c-e613-4af8-9669-7f2224d680ae&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 49px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;doT.template(nodeListTemplateString)(catalog.Nodes)&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;The doT.template function returns a HTML string. We can add that HTML string to a Div tag and jQueryMobile will render the list. Every node will be rendered as a list item, which contains an Anchor tag. The Href of the anchor tag is, for example: &quot;index.html#node/{nodeHref}&quot;. Remember the router configuration? This Url will be routed to the loadNode action, with the node’s href. We use this node’s href to ask the Service API to return the node data.&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:7dd0d968-caa3-492a-83a0-35d5aa286ff0&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 197px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;getNode: &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (nodeHref, accessToken) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; $.ajax({
        type: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;GET&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        url: nodeHref, &lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt; for example: &amp;quot;https://partnerforum2014.azurewebsites.net/episerverapi/commerce/nodes/pandora-box-1&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;        dataType: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;json&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        headers: {
            &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Authorization&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Bearer &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; accessToken
        }
    });
}
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;Check out the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/www/js/views/nodeView.js&quot;&gt;views/nodeView.js&lt;/a&gt; for how to rendering the Node page.&lt;/p&gt;
&lt;h2&gt;Make an order when clicking on Order button&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/c4c6133a7ddf45969d62554bf6e65e57.aspx&quot; width=&quot;274&quot; height=&quot;484&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/www/js/views/templates/entryDetail.html&quot;&gt;entry detail template&lt;/a&gt;, we added a button tag:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:2970589f-45c1-47a6-b2c0-405c8edb5576&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 53px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;button &lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;makeOrder&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF0000;&quot;&gt; data-entry-code&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;=&amp;quot;{{=it.Code}}&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Order&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;button&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;The event binding in Backbone view simply as:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:1bb00ebb-2198-4093-934c-c0f2b8abe19a&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 114px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;events: {
    &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;click button#makeOrder&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;makeOrder&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
    &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;change select[name=&amp;quot;select-variant&amp;quot;]&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;variantChange&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
},
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;When the &quot;makeOrder&quot; button is clicked, the makeOrder function of the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/blob/master/www/js/views/entryView.js&quot;&gt;entryView.js&lt;/a&gt; view will be invoked. Which will post a request to the server to create an order. In this sample, we simply ask for the buyer’s email address when placing an order. Please note that this &quot;make order&quot; controller is not a part of the Service API. It was added, and customized for this mobile application only.&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:385e9b4d-0685-462e-bf0b-b392d9540d1a&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 277px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;makeOrder: &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (variationCode, email) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; $.ajax({
        type: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;POST&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        url: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;https://partnerforum2014.azurewebsites.net/episerverapi/commerce/orders/order/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        dataType: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;json&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;,
        data: {
            variationCode: variationCode,
            email: email
        },
        headers: {
            &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Authorization&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Bearer &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; accessToken
        }
    });
}
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;h2&gt;Find nearest store&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;/link/fe40b45a857948da9c02cf4a4b217074.aspx&quot; width=&quot;274&quot; height=&quot;484&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In order to add a map to our application, we use the &lt;a href=&quot;https://github.com/wf9a5m75/phonegap-googlemaps-plugin&quot;&gt;Google Map plugin for Cordova&lt;/a&gt;. The advantage of this plugin, comparing to the Google Map JavaScript API v3 is the performance. Since this plugin uses the native Google Map Mobile SDKs, its performance is much better than the JavaScript library.&lt;/p&gt;
&lt;p&gt;Before adding a map to the application, we need to query all stores locations from the server first. The server will return an array of store, and its location (latitude and longitude). Based on those locations, we add a marker to the map for each store. Please note that this feature is not a part of the Service API.&lt;/p&gt;
&lt;h3&gt;Create the map&lt;/h3&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:6767e7c6-3a00-4d61-8636-038f59d5836d&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 162px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; plugin.google.maps.Map.getMap(mapContainer);
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.setMapTypeId(plugin.google.maps.MapTypeId.ROADMAP);
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.setZoom(&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.setMyLocationEnabled(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;);
&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.on(plugin.google.maps.event.MAP_READY, $.proxy(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; () {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.renderStores(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.model);
}, &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;));
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;mapContainer is a Div tag, a place holder, where we want to put the map to. When the map is created, we will call the renderStores to add markers for each store.&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:dad8e8fa-33ed-4d3d-bf8a-ab62b3df0eb2&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 162px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #000000;&quot;&gt;$.each(stores, $.proxy(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (index, value) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.addMarker({
        &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;position&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: { lat: value.Latitude, lng: value.Longitude },
        &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: value.Name,
        &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;snippet&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: value.Address
    });
}, &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;));
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;p&gt;We also want to move the map camera to the current location, by using map.getMyLocation:&lt;/p&gt;
&lt;div id=&quot;scid:9D7513F9-C04C-4721-824A-2B34F0212519:fb1e8d84-4ed5-4d6a-9780-94265be7fdf9&quot; class=&quot;wlWriterEditableSmartContent&quot; style=&quot;float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px&quot;&gt;&lt;pre style=&quot; width: 821px; height: 162px;background-color:White;overflow: auto;&quot; class=&quot;language-csharp&quot;&gt;&lt;code&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.getMyLocation($.proxy(&lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; (location) {
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.setCenter(location.latLng);
    &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.map.animateCamera({
        &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;target&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: location.latLng,
        &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;zoom&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;
    });
}, &lt;/span&gt;&lt;span style=&quot;color: #0000FF;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;));
&lt;/span&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn&#39;s Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;
&lt;h2&gt;Try this app on Android device&lt;/h2&gt;
&lt;p&gt;We have builds in &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp/tree/master/dist&quot;&gt;&quot;dist&quot; folder&lt;/a&gt; where you can grab an .apk file and try it on your Android phone or tablet. Since the file was not added to Google Play Store, it is considered as unknown source application, then we need to check a checkbox in order to install it: &lt;a href=&quot;http://developer.android.com/distribute/tools/open-distribution.html&quot;&gt;http://developer.android.com/distribute/tools/open-distribution.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Related information&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Refer to &lt;a href=&quot;/link/57bf8191787a4e1ba0a3245952065000.aspx&quot;&gt;EPiServer Service API&lt;/a&gt; for information on how to use the Service API. &lt;/li&gt;
&lt;li&gt;Sample client code for the &lt;a href=&quot;https://github.com/episerver/ServiceApi-Client&quot;&gt;EPiServer Service API on GitHub&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;Sample mobile application code for the &lt;a href=&quot;https://github.com/episerver/serviceapi_mobileapp&quot;&gt;online store on GitHub&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt;</description>            <guid>https://world.optimizely.com/blogs/ton-nguyen/dates/2014/11/commerce-showcase-mobile-application-for-online-store/</guid>            <pubDate>Mon, 10 Nov 2014 09:25:30 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>