{"id":5229,"date":"2023-05-25T12:56:36","date_gmt":"2023-05-25T12:56:36","guid":{"rendered":"https:\/\/unremot.com\/blog\/?p=5229"},"modified":"2023-05-25T12:56:36","modified_gmt":"2023-05-25T12:56:36","slug":"how-to-use-shopify-api","status":"publish","type":"post","link":"https:\/\/unremot.com\/blog\/how-to-use-shopify-api\/","title":{"rendered":"How to use Shopify API &#8211; a step-by-step integration guide and full documentation list"},"content":{"rendered":"<p>This article will discuss about how to use Shopify API with step-by-step integration guide and full documentation list. Let&#8217;s get started!<\/p>\n\n<h2><strong>Overview of Shopify API<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Shopify API provides developers a utility to build and launch Shopify Apps. In doing so, the Shopify API integration eases the life of the merchants and their online business operations. The Shopify Dev API provisions access to the data from the Shopify online data store and then leverage the data as needed.<\/span><\/p>\n<p style=\"text-align: center;\"><strong>Also read:\u00a0<a href=\"https:\/\/unremot.com\/blog\/how-to-use-stripe-api\/\">How to use Stripe API; a step-by-step integration guide and full documentation list<\/a><\/strong><\/p>\n<h2><strong>List of Shopify developer API and functionalities<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">At the onset of the article, let&#8217;s first be acquainted with the list of Shopify developer API and functionalities.\u00a0<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Web API:<\/strong> It has a group of HTTP methods to use that support the major functions of the Shopify API library. There are almost 100 methods available from which you need to select the perfect one for your app. All the Web API methods are listed <a href=\"https:\/\/api.slack.com\/methods\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Events API:<\/strong> Through Events API, you can build your apps for responding to the activities undertaken in the Slack platform. You need to subscribe to the event types as <a href=\"https:\/\/api.slack.com\/events\" target=\"_blank\" rel=\"noopener\">illustrated here<\/a>.<\/span><span style=\"font-weight: 400;\">\u00a0You then need to create a Slack app that will provide a response to the events.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Admin API:<\/strong> This comes under niche <\/span><span style=\"font-weight: 400;\">Shopify API scopes for simplification and automation of the Slack organization administration<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>SCIM API:<\/strong>\u00a0 Another niche Slack API for provisioning and managing users<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Audit Logs API:<\/strong> Specially created for constructing event management tools and other security information<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Status API:<\/strong> Helps in the health check of the Slack App programmatically<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>RTM API:<\/strong> not to be used frequently, provides WebSocket access to certain functionalities similar to Event and Web APIs.<\/span><\/li>\n<\/ol>\n<p style=\"text-align: center;\"><strong>Also read:\u00a0<a href=\"https:\/\/unremot.com\/blog\/how-to-use-youtube-api\/\">How To Use YouTube API; A Step-By-Step Guide To Integrate And Full Documentation List<\/a><\/strong><\/p>\n<h2><strong>How to use Shopify API &#8211; step-by-step integration guide<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Let us now focus on how to use Shopify API, the Shopify API endpoints, and with some examples of the codes to be used.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">To call a web Shopify Rest API, you need to present certain arguments to the methods.\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">GET query string parameters<\/span><\/p>\n<p><span style=\"font-weight: 400;\">POST parameters as <\/span><span style=\"font-weight: 400;\">application\/x-www-form-urlencoded<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Or it can be a mix of both GET and POST parameters. For the write methods, the arguments belong to the attributes in <\/span><span style=\"font-weight: 400;\">application\/json.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If you want to call methods like dialog.open and chat.postMessage, then you need to use JSON-encoded bodies.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Set your HTTP content_type header to <\/span><span style=\"font-weight: 400;\">application\/x-www-form-urlencoded <\/span><span style=\"font-weight: 400;\">while sending data that is URL-encoded. The key\/value pairs for Shopify integration API need to be as per RFC-3986. Here is the <a href=\"https:\/\/api.slack.com\/web\" target=\"_blank\" rel=\"noopener\">sample code<\/a><\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">POST \/API\/conversations.create<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Content-type: application\/x-www-form-urlencoded<\/span><\/p>\n<p><span style=\"font-weight: 400;\">token=xoxp-xxxxxxxxx-xxxx&amp;name=something-urgent<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">For JSON-encoded bodies, the HTTP content_type header is set to <\/span><span style=\"font-weight: 400;\">application\/json. <\/span><span style=\"font-weight: 400;\">In the Authorization header, the Shopify API token needs to be transmitted as a bearer token<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Here is the <a href=\"https:\/\/api.slack.com\/web\" target=\"_blank\" rel=\"noopener\">sample code<\/a><\/span><span style=\"font-weight: 400;\">. In this example, we have shown how the Shopify API access token is appended to the Bearer string<\/span><\/p>\n<p><span style=\"font-weight: 400;\">POST \/API\/conversations.create<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Content-type: application\/json<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Authorization: Bearer xoxp-xxxxxxxxx-xxxx<\/span><\/p>\n<p><span style=\"font-weight: 400;\">{&#8220;name&#8221;:&#8221;something-urgent&#8221;}<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Here is another example code on how to post a message using chat.PostMessage<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">POST \/api\/chat.postMessage<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Content-type: application\/json<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Authorization: Bearer xoxp-xxxxxxxxx-xxxx<\/span><\/p>\n<p><span style=\"font-weight: 400;\">{&#8220;channel&#8221;:&#8221;C123ABC456&#8243;,&#8221;text&#8221;:&#8221;I hope the tour went well, Mr. Wonka.&#8221;,&#8221;attachments&#8221;:[{&#8220;text&#8221;:&#8221;Who wins the lifetime supply of chocolate?&#8221;,&#8221;fallback&#8221;:&#8221;You could be telling the computer exactly what it can do with a lifetime supply of chocolate.&#8221;,&#8221;color&#8221;:&#8221;#3AA3E3&#8243;,&#8221;attachment_type&#8221;:&#8221;default&#8221;,&#8221;callback_id&#8221;:&#8221;select_simple_1234&#8243;,&#8221;actions&#8221;:[{&#8220;name&#8221;:&#8221;winners_list&#8221;,&#8221;text&#8221;:&#8221;Who should win?&#8221;,&#8221;type&#8221;:&#8221;select&#8221;,&#8221;data_source&#8221;:&#8221;users&#8221;}]}]}<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You can also use \u201ccurl\u201d to send chat messages and attachments<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Sample code:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">curl -X POST -H &#8216;Authorization: Bearer xoxb-1234-56789abcdefghijklmnop&#8217; \\<\/span><\/p>\n<p><span style=\"font-weight: 400;\">-H &#8216;Content-type: application\/json&#8217; \\<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8211;data &#8216;{&#8220;channel&#8221;:&#8221;C123ABC456&#8243;,&#8221;text&#8221;:&#8221;I hope the tour went well, Mr. Wonka.&#8221;,&#8221;attachments&#8221;: [{&#8220;text&#8221;:&#8221;Who wins the lifetime supply of chocolate?&#8221;,&#8221;fallback&#8221;:&#8221;You could be telling the computer exactly what it can do with a lifetime supply of chocolate.&#8221;,&#8221;color&#8221;:&#8221;#3AA3E3&#8243;,&#8221;attachment_type&#8221;:&#8221;default&#8221;,&#8221;callback_id&#8221;:&#8221;select_simple_1234&#8243;,&#8221;actions&#8221;:[{&#8220;name&#8221;:&#8221;winners_list&#8221;,&#8221;text&#8221;:&#8221;Who should win?&#8221;,&#8221;type&#8221;:&#8221;select&#8221;,&#8221;data_source&#8221;:&#8221;users&#8221;}]}]}&#8217; \\<\/span><\/p>\n<p><span style=\"font-weight: 400;\">https:\/\/slack.com\/api\/chat.postMessage<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The responses need to be evaluated and these can be done through the following <a href=\"https:\/\/api.slack.com\/web\" target=\"_blank\" rel=\"noopener\">sample codes<\/a>.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">{<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;ok&#8221;: true,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;stuff&#8221;: &#8220;This is good&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">{<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;ok&#8221;: false,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;error&#8221;: &#8220;something_bad&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">{<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;ok&#8221;: true,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;warning&#8221;: &#8220;something_problematic&#8221;,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0&#8220;stuff&#8221;: &#8220;Your requested information&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">}<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You need to authenticate your web requests using a token or Shopify API key. Now how to get Shopify API key? You need to register your application with Shopify. For that, you need to log in and go to the admin panel. You need to create an app, configure the required Shopify API access and save the app. Once done get the Shopify API key from the credentials.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If you are installing your apps in Shopify, then you will receive 20 requests per second on the Admin Rest API Shopify and the Shopify API limit on GraphQL Admin API is 500 points per second. Also, merchants on Shopify Commerce API enjoy unlimited API calls.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">SNI extension must be used for all TLS connections. The cipher suites that need to be supported are:<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">ECDHE-RSA-AES128-GCM-SHA256<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">ECDHE-RSA-AES256-GCM-SHA384<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">ECDHE-RSA-AES128-SHA256<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">ECDHE-RSA-AES256-SHA384<\/span><\/li>\n<\/ul>\n<p><strong>Shopify API Authentication<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Authentication is a vital part of Shopify API so that transactions can be kept safe and secure. There are two ways by which the apps can be authenticated &#8211; OAuth and the HTTP authentication methods.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The other important concept is the two modes by which the users can access the tokens.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Online access:<\/strong> In this method, the link is to a single user of the app, and the Shopify API token has a lifespan that is the same as that of the web session of the user. Online access mode is used when the single user interacts with the app via the internet or web<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Offline access:<\/strong> This method is used when there are no user interventions and a long-term access is required to the store.\u00a0<\/span><\/li>\n<\/ol>\n<p><strong>Shopify API Access Scopes<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">During the authorization process, you need to specify the parts of the app to which you need access, either authenticated or unauthenticated. The access scopes are available through Shopify REST APIs and Admin API in GraphQL.<\/span><\/p>\n<p><strong>Shopify API versioning<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">You need to maintain the Shopify webhook API versioning so that you can change platforms and be open to any upgrades and uplifts to the product.<\/span><\/p>\n<p><strong>Shopify API Rate Limits<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">A Shopify API rate limit needs to be set to maintain the stability of the platform and enable fair usage for all users. The rate limits can be to limit calls, no of times requests can be retried, and caching results.<\/span><\/p>\n<p><strong>GraphQL API Rate Limits<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">This particular limit is set based on the query costs or cost of requests within a particular time. Also, an interesting part is the rate limits can be set on a combination of apps and the store, to prevent any overlap.\u00a0<\/span><\/p>\n<p><strong>Shopify REST API Rate Limits<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">This particular rate limit is also set on the basis of resources, requests, and throttles. Here also the rate limits can be set on a combination of apps and the store, to prevent any overlap<\/span><\/p>\n<p><strong>Storefront API Rate Limits<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">These limits must be set when you need to ensure the calls are time-based i.e. the time taken for the requests to complete.<\/span><\/p>\n<p><strong>Resource-Based Rate Limits<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">This is the limit that can be set if the store exceeds the threshold of an additional throttle containing 50,000 product variants. Beyond the threshold, you can only create 1000 new variants in a day.<\/span><\/p>\n<p><strong>Pagination\u00a0<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">If you want to retrieve certain results from a particular connection, then use cursor-based pagination as supported by GraphQL and REST endpoints. In the arguments, you must mention the number of results to retrieve.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Last and not least use the Mobile Buy SDK to enable <\/span><span style=\"font-weight: 400;\">Shopify API for mobile apps. In general Shopify API communicates with the REST web service through pyactiveresource, which needs to be configured for usage to an authorized website of a store.<\/span><\/p>\n<p style=\"text-align: center;\"><strong>Also read:\u00a0<a href=\"https:\/\/unremot.com\/blog\/how-to-use-chatgpt-api\/\">How to use ChatGPT API; a step-by-step integration guide and full documentation list<\/a><\/strong><\/p>\n<h2><strong>Shopify API documentation references<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">You can find most of the Shopify API documentation references <a href=\"https:\/\/shopify.dev\/docs\/api\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you want to refer to Shopify API docs related to app build, then you must refer to that particular sub-section and check out the various types of API like Admin API, Partner API, Payment Apps API, Messaging API etc.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For Shopify API tutorial related to app extensions, component libraries, and references then also refer to the <a href=\"https:\/\/shopify.dev\/docs\/api\" target=\"_blank\" rel=\"noopener\">website <\/a><\/span><span style=\"font-weight: 400;\"> and refer the details on each of the extensions and libraries.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For Shopify API reference on how to build a custom theme, there are tutorials and step-by-step guides on the website mentioned above. For any Shopify API versions and Shopify API changes, details are mentioned in the <a href=\"https:\/\/shopify.dev\/docs\/api\/release-notes\" target=\"_blank\" rel=\"noopener\">release notes<\/a><\/span><span style=\"font-weight: 400;\">. Even the Shopify API changelog can be checked from this particular sub-section.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For building a custom storefront or building a marketplace, refer to the Shopify Rest API documentation and other reference docs, and tutorials for the necessary details. The guides are helpful with all the steps mentioned to ensure smooth usage of Shopify API and also its installation, configuration, and setup.<\/span><\/p>\n<h2><strong>Shopify API examples<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Let is now focus on some key Shopify API examples which will assist you in creating and designing your application and using it for your needs. We will discuss the different Shopify API collections based on various technology and their subsequent usage, which varies in terms of their coding.<\/span><\/p>\n<h3><strong>1. How to use Shopify Ajax API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Before using Shopify Ajax API, you must be aware that this API can only be used with seeded Shopify API and not via any custom storefront. It is mainly used when you want to recommend any product to the users, suggest products and brands, provision to add products to the shopping cart and increase the cart counter based on the purchase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Ajax API Shopify can only accept GET and POST HTTP requests and the sample code for it is as below: <a href=\"https:\/\/shopify.dev\/docs\/api\/ajax\" target=\"_blank\" rel=\"noopener\">reference website<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">var cartContents = fetch(window.Shopify.routes.root + &#8216;cart.js&#8217;)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0.then(response =&gt; response.json())<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0.then(data =&gt; { return data });<\/span><\/p>\n<h3><strong>2. How to use Shopify Python API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">To start using Shopify Python API, you must first install Shopify, then create the application and the base URL. You also need to create a token to gain access to the shop\u2019s data. After the sessions are activated, you need to make the authorized requests.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The sample code example using\u00a0 Python Shopify API is mentioned below and also can be referred to the <a href=\"https:\/\/shopify.github.io\/shopify_python_api\/\" target=\"_blank\" rel=\"noopener\">website <\/a><\/span><span style=\"font-weight: 400;\"> for more details.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">python<\/span><\/p>\n<p><span style=\"font-weight: 400;\">shop = shopify.Shop.current<\/span><\/p>\n<p><span style=\"font-weight: 400;\"># Get a specific product<\/span><\/p>\n<p><span style=\"font-weight: 400;\">product = shopify.Product.find(179761209)<\/span><\/p>\n<p><span style=\"font-weight: 400;\"># Create a new product<\/span><\/p>\n<p><span style=\"font-weight: 400;\">new_product = shopify.Product()<\/span><\/p>\n<p><span style=\"font-weight: 400;\">new_product.title = &#8220;Burton Custom Freestyle 151&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">new_product.product_type = &#8220;Snowboard&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">new_product.vendor = &#8220;Burton&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">success = new_product.save() #returns false if the record is invalid<\/span><\/p>\n<p><span style=\"font-weight: 400;\"># or<\/span><\/p>\n<p><span style=\"font-weight: 400;\">if new_product.errors:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0#something went wrong, see new_product.errors.full_messages() for example<\/span><\/p>\n<p><span style=\"font-weight: 400;\"># Update a product<\/span><\/p>\n<p><span style=\"font-weight: 400;\">product.handle = &#8220;burton-snowboard&#8221;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">product.save()<\/span><\/p>\n<h3><strong>3. How to use Shopify Node API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">For using Shopify Node API, you need to follow the similar steps as above. Install Shopify, create the application, and the basic URL, and then create the Shopify API NPM token\/ key for authentication.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A sample code for using Shopify API node as below:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">const ShopifyAPI = require(&#8216;shopify-node-api&#8217;);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">const mapStyles = require(&#8216;.\/map-styles&#8217;);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">module.exports = {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0stores: {},<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0mapConfiguration: {},<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0install (storeOptions) {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0let store = this.stores[storeOptions.shop];<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!store) {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0store = new ShopifyAPI(storeOptions);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0this.stores[storeOptions.shop] = store;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return store;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0},<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0shopNameFormater (shop){<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return shop.replace(\/https?:\/\/\/, &#8221;);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0},<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0getStore (shop) {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0shop = this.shopNameFormater(shop);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return this.stores[shop];<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0},<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0saveMapConfiguration (shop, configurations) {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0shop = this.shopNameFormater(shop);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0let mapConfigurations = this.mapConfiguration[shop];<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!mapConfigurations) {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapConfigurations = {};<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0this.mapConfiguration[shop] = mapConfigurations<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapConfigurations.mapApi = configurations.mapApi;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapConfigurations.location = configurations.location;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0let mapStyle;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (configurations.mapStyle){<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapStyles[configurations.mapStyle]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else if(configurations.mapStyleCustom){<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapStyle = JSON.parse(configurations.mapStyleCustom);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}else{<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapStyle =mapStyles[Object.keys(mapStyles)[0]];<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mapConfigurations.styles = mapStyle;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return mapConfigurations;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">}<\/span><\/p>\n<h3><strong>4. How to use Shopify API Laravel PHP<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The steps for using Shopify API Laravel PHP along with examples are mentioned below:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Create a server for hosting the application<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Get the Shopify API Key<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add it to the env file\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">SHOPIFY_API_KEY=6e8a2bcdb6e43d8a29c4d6dd60fc8713<\/span><\/p>\n<p><span style=\"font-weight: 400;\">SHOPIFY_API_SECRET=********************************************<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Update scopes in the config file <\/span><span style=\"font-weight: 400;\">\u00a0\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">\/*<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Shopify API Scopes | This option is for the scopes your application needs in the API.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0*\/<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Update scopes in the config file <\/span><span style=\"font-weight: 400;\">\u00a0\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0<\/span><span style=\"font-weight: 400;\">&#8216;api_scopes&#8217;<\/span><span style=\"font-weight: 400;\"> =&gt; <\/span><b>env<\/b><span style=\"font-weight: 400;\">(<\/span><span style=\"font-weight: 400;\">&#8216;SHOPIFY_API_SCOPES&#8217;<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">&#8216;read_products,write_products,read_themes,write_themes,read_orders,read_customers&#8217;<\/span><span style=\"font-weight: 400;\">)<\/span><span style=\"font-weight: 400;\">,<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">After executing a few more steps of updating the env file, you have to run PHP Artisan migrate to complete the process.<\/span><\/li>\n<\/ul>\n<h3><strong>5. How to use Shopify Ruby API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">To use Shopify Ruby API, you need to first complete the basic steps of installation, account creation, and Shopify API token creation.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Next is to set up the Ruby Shopify API context, sample code as below <a href=\"https:\/\/github.com\/Shopify\/shopify-api-ruby\" target=\"_blank\" rel=\"noopener\">elaborated<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">ShopifyAPI::Context.setup(<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0api_key: &#8220;&lt;api-key&gt;&#8221;,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0api_secret_key: &#8220;&lt;api-secret-key&gt;&#8221;,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0host: &#8220;&lt;https:\/\/application-host-name.com&gt;&#8221;,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0scope: &#8220;read_orders,read_products,etc&#8221;,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0session_storage: ShopifyAPI::Auth::FileSessionStorage.new, # See more details below<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0is_embedded: true, # Set to true if you are building an embedded app<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0api_version: &#8220;2022-01&#8221;, # The version of the API you would like to use<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0is_private: false, # Set to true if you have an existing private app<\/span><\/p>\n<p><span style=\"font-weight: 400;\">)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Then you can set up the store, grant authorizations, and register the webhooks.<\/span><\/p>\n<h3><strong>6. How to use Shopify Js API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Js API is based on the Storefront Shopify API and is essentially used to create e-commerce for your website. The steps for this Shopify API usage are:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Initializing the client<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fetching products and collections<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Creating checkouts, fetching checkouts and the checkout attributes<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Adding, updating, and removing the line items<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Adding and removing a discount<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Updating the shipping address<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Completing the checkout.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Sample code for creating checkout:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\/\/ Create an empty checkout<\/span><\/p>\n<p><span style=\"font-weight: 400;\">client.checkout.create().<\/span><span style=\"font-weight: 400;\">then<\/span><span style=\"font-weight: 400;\">((checkout) =&gt; {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0<\/span><span style=\"font-weight: 400;\">\/\/ Do something with the checkout<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0console.log(checkout);<\/span><\/p>\n<p><span style=\"font-weight: 400;\">});<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sample code for adding line items:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">const<\/span><span style=\"font-weight: 400;\"> checkoutId = <\/span><span style=\"font-weight: 400;\">&#8216;gid:\/\/shopify\/Checkout\/e3bd71f7248c806f33725a53e33931ef?key=47092e448529068d1be52e5051603af8&#8217;<\/span><span style=\"font-weight: 400;\">; <\/span><span style=\"font-weight: 400;\">\/\/ ID of an existing checkout<\/span><\/p>\n<p><span style=\"font-weight: 400;\">const<\/span><span style=\"font-weight: 400;\"> lineItemsToAdd = [<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0{<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0variantId: <\/span><span style=\"font-weight: 400;\">&#8216;gid:\/\/shopify\/ProductVariant\/29106064584&#8217;<\/span><span style=\"font-weight: 400;\">,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0quantity: <\/span><span style=\"font-weight: 400;\">5<\/span><span style=\"font-weight: 400;\">,<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0\u00a0\u00a0customAttributes: [{key: <\/span><span style=\"font-weight: 400;\">&#8220;MyKey&#8221;<\/span><span style=\"font-weight: 400;\">, value: <\/span><span style=\"font-weight: 400;\">&#8220;MyValue&#8221;<\/span><span style=\"font-weight: 400;\">}]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0}<\/span><\/p>\n<p><span style=\"font-weight: 400;\">];<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\/\/ Add an item to the checkout<\/span><\/p>\n<p><span style=\"font-weight: 400;\">client.checkout.addLineItems(checkoutId, lineItemsToAdd).<\/span><span style=\"font-weight: 400;\">then<\/span><span style=\"font-weight: 400;\">((checkout) =&gt; {<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0<\/span><span style=\"font-weight: 400;\">\/\/ Do something with the updated checkout<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0\u00a0console.log(checkout.lineItems); <\/span><span style=\"font-weight: 400;\">\/\/ Array with one additional line item<\/span><\/p>\n<p><span style=\"font-weight: 400;\">});<\/span><\/p>\n<p style=\"text-align: center;\"><strong>Also read:\u00a0<a href=\"https:\/\/unremot.com\/blog\/what-to-look-for-in-a-geolocation-api\/\">What to Look for in a Geolocation API<\/a><\/strong><\/p>\n<h2><strong>Shopify API pricing<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">In the Shopify API pricing list, the Storefront API comes for free. There are other APIs too which can be used for free. But to use advanced features like checkout, you need to check out the Shopify API premium plans. The details on the pricing and plans can be received by contacting the sales department as indicated in the <a href=\"https:\/\/www.shopify.com\/in\/plus\/pricing\" target=\"_blank\" rel=\"noopener\">website<\/a>.<\/span><\/p>\n<h2><strong>Most used Shopify APIs<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">As we approach the last section of the article, let us discuss the most used <a href=\"https:\/\/unremot.com\/category\/shopify-api\">Shopify APIs<\/a>. We will provide a short description of each of the APIs for reference, assisting you to decide on their use.\u00a0<\/span><\/p>\n<h3><strong>Shopify storefront API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Storefront API empowers to strengthen the customer front-ending experiences by creating custom storefronts. It is device-agnostic and is a GraphQL Shopify API.<\/span><\/p>\n<h3><strong>Shopify Graphql API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Storefront and Admin APIs are GraphQL API and is majorly focused on retrieving orders. It accelerates the development work supporting authentication, proxies, and webhooks.<\/span><\/p>\n<h3><strong>Shopify admin API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Admin API is one of the most powerful of all APIs. It is used to enhance the Shopify experience by adding new features. It enforces rate limits on requests and works both with REST and GraphQL.<\/span><\/p>\n<h3><strong>Shopify product API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">If you want to use a GET request for retrieving information about a product, then use the Shopify Product API. It is an Ajax API using locale-aware URLs providing a consistent user experience.<\/span><\/p>\n<h3><strong>Shopify order API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Order API is used to retrieve orders from a store and display them. The orders can be modified and also the details of the customers, product categories, items, and other entities.<\/span><\/p>\n<h3><strong>Shopify cart API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify cart API is used for various purposes. It is used to add items to the shopping cart, retrieve the items from the cart and update or modify the items in the cart as per the needs.<\/span><\/p>\n<h3><strong>Shopify subscription API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify subscription API helps in introducing innovations, thus delivering a faster and more reliable checkout experience. The subscription experiences can be built directly within the checkout feature.<\/span><\/p>\n<h3><strong>Shopify checkout API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Checkout API is used when Sales Channel SDK is being used for creating an app. It enables customers to purchase the products from the stores where the sales channel has been installed.<\/span><\/p>\n<h3><strong>Shopify fulfillment API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Fulfillment API is used to create and manage the fulfillment of the products ordered by a customer. It provides tracking information about the products and notifies the customers when the products are ready for delivery.<\/span><\/p>\n<h3><strong>Shopify customer API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify customer API is used to create an active account of a customer and store the addresses, contact details, and order history. Also, it stores whether the customer has agreed to receive email marketing.<\/span><\/p>\n<h3><strong>Shopify inventory API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify inventory API helps to maintain and manage the quantities of inventory for a particular product. Each inventory belongs to a particular product in a particular location.<\/span><\/p>\n<h3><strong>Shopify billing API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify billing API should be used to process the charges to the products sold via the merchant invoicing system of Shopify. It helps to reflect the charges directly on the invoice, preventing entry of credit card information.<\/span><\/p>\n<h3><strong>Shopify gift card API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Gift Card API helps in using the alternative method of payment in the Shopify store using gift cards.\u00a0<\/span><\/p>\n<h3><strong>Shopify Metafields API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Metafields API helps to store additional information about a product, or a collection or any other Shopify resources.<\/span><\/p>\n<h3><strong>Shopify shipping API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Shipping API performs the calculation of shipping for a particular product and location before the checkout and adds to the item cost.<\/span><\/p>\n<h3><strong>Shopify Search API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Search API assists in retrieving search results while querying for products, pages, collections or articles.<\/span><\/p>\n<h3><strong>Shopify discount API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Discount API is used to apply discounts to any particular product or product category added to the shopping cart.<\/span><\/p>\n<h3><strong>Shopify payments API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Payments API helps to create a payment by capturing the transaction, amount and the credit card information.<\/span><\/p>\n<h3><strong>Shopify partner API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Partner API grants access to transactions that scale up earnings, events, and marketplace opportunities.<\/span><\/p>\n<h3><strong>Shopify refund API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Refunds are returns or money send back to the customer. The Shopify Refund API creates refunds and retrieves them too for an order.<\/span><\/p>\n<h3><strong>Shopify marketplace API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Shopify Marketplace API is used to develop, grow, and maintain e-commerce features on your app or platform for a state-of-the-art marketplace.<\/span><\/p>\n<h3><strong>Shopify analytics API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Analytics API is used to track gross sales, net sales, discounts, total sales as well as page views and insights.<\/span><\/p>\n<h3><strong>Shopify theme API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify Theme API is used to maintain the theme of the online store that provides the proper look and feel.<\/span><\/p>\n<h3><strong>Shopify POS API<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The Shopify POS API maintains the Point of Sale of a store where products are sold in person and users can create their shopping cart and modify\/add too.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article will discuss about how to use Shopify API with step-by-step integration guide and full documentation list. Let&#8217;s get started! Overview of Shopify API Shopify API provides developers a utility to build and launch Shopify Apps. In doing so, the Shopify API integration eases the life of the merchants and their online business operations. [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":5241,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[76],"tags":[],"class_list":{"0":"post-5229","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-technology","8":"entry"},"_links":{"self":[{"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/posts\/5229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/comments?post=5229"}],"version-history":[{"count":4,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/posts\/5229\/revisions"}],"predecessor-version":[{"id":5233,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/posts\/5229\/revisions\/5233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/media\/5241"}],"wp:attachment":[{"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/media?parent=5229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/categories?post=5229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unremot.com\/blog\/wp-json\/wp\/v2\/tags?post=5229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}