{"id":71760,"date":"2017-01-16T16:26:11","date_gmt":"2017-01-16T16:26:11","guid":{"rendered":"http:\/\/webkul.com\/blog\/?p=71760"},"modified":"2017-01-16T16:26:11","modified_gmt":"2017-01-16T16:26:11","slug":"opencart-processes-add-cart","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/","title":{"rendered":"Opencart Processes During Add To Cart"},"content":{"rendered":"<p>Today we will discuss\u00a0the process during add to cart in Opencart. The Opencart Cart processing is highly based on the Ajax Based.<\/p>\n<p>In default Opencart, we can add the product from the product search page, product page, product manufacturer page, product special\u00a0page, product compare page and product category pages.<\/p>\n<p>Everywhere in Opencart except the product page for the\u00a0particular product, it uses the add function which is in the catalog\/view\/javascript\/common.js file which is already loaded during the header load initially.<\/p>\n<pre class=\"brush:js\">&lt;script src=\"catalog\/view\/javascript\/common.js\" type=\"text\/javascript\"&gt;&lt;\/script&gt;<\/pre>\n<p><span style=\"text-decoration: underline\">Processes through Javascript:<\/span><\/p>\n<p>When click\u00a0to the Add to cart button first it calls the add function of common.js by passing the product id and the minimum quantity to sell for that product.<\/p>\n<pre class=\"brush:php\">\/\/it has onclick evnet which calls the add function of the common.js script file by passing the product id and it's minimum quantity\r\n&lt;button type=\"button\" onclick=\"cart.add('&lt;?php echo $product['product_id']; ?&gt;', '&lt;?php echo $product['minimum']; ?&gt;');\"&gt;&lt;i class=\"fa fa-shopping-cart\"&gt;&lt;\/i&gt; &lt;span class=\"hidden-xs hidden-sm hidden-md\"&gt;&lt;?php echo $button_cart; ?&gt;&lt;\/span&gt;&lt;\/button&gt;\r\n<\/pre>\n<p>It sends the arguments the controller through the Post request<\/p>\n<pre class=\"brush:js\">\/\/Sends the Ajax request by post method and pass the product id and quantity as post data\r\nvar cart = {\r\n\t'add': function(product_id, quantity) {\r\n\t\t$.ajax({\r\n\t\t\turl: 'index.php?route=checkout\/cart\/add', \r\n\t\t\ttype: 'post',\r\n\t\t\tdata: 'product_id=' + product_id + '&amp;quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),\r\n\t\t\tdataType: 'json',<\/pre>\n<p><span style=\"text-decoration: underline\">Processes at the Controller:<\/span><\/p>\n<p>First, it validates the product id and quantity arguments by getting the product information\u00a0of the product.<\/p>\n<pre class=\"brush:php\">\/\/add function of controller checkout\/cart\r\npublic function add() {\r\n\t\t$this-&gt;load-&gt;language('checkout\/cart');\r\n\r\n\t\t$json = array();\r\n\r\n          \/\/Get the product id or set is as 0\r\n\t\tif (isset($this-&gt;request-&gt;post['product_id'])) {\r\n\t\t\t$product_id = (int)$this-&gt;request-&gt;post['product_id'];\r\n\t\t} else {\r\n\t\t\t$product_id = 0;\r\n\t\t}\r\n\r\n\t\t$this-&gt;load-&gt;model('catalog\/product');\r\n\r\n          \/\/Get the product inforamtion to check the product minimum quantity with post quantity\r\n\t\t$product_info = $this-&gt;model_catalog_product-&gt;getProduct($product_id);\r\n\r\n\t\tif ($product_info) {\r\n\t\t\tif (isset($this-&gt;request-&gt;post['quantity']) &amp;&amp; ((int)$this-&gt;request-&gt;post['quantity'] &gt;= $product_info['minimum'])) {\r\n\t\t\t\t$quantity = (int)$this-&gt;request-&gt;post['quantity'];\r\n\t\t\t} else {\r\n\t\t\t\t$quantity = $product_info['minimum'] ? $product_info['minimum'] : 1;\r\n\t\t\t}\r\n<\/pre>\n<p>After that, it gets the options of that product and validate to the required options and recurring of the product if these are exist\u00a0on the particular product.<\/p>\n<pre class=\"brush:php\">\t\/\/Getting the product option and validate for required options\r\n\t\t\t$product_options = $this-&gt;model_catalog_product-&gt;getProductOptions($this-&gt;request-&gt;post['product_id']);\r\n\r\n\t\t\tforeach ($product_options as $product_option) {\r\n\t\t\t\tif ($product_option['required'] &amp;&amp; empty($option[$product_option['product_option_id']])) {\r\n\t\t\t\t\t$json['error']['option'][$product_option['product_option_id']] = sprintf($this-&gt;language-&gt;get('error_required'), $product_option['name']);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (isset($this-&gt;request-&gt;post['recurring_id'])) {\r\n\t\t\t\t$recurring_id = $this-&gt;request-&gt;post['recurring_id'];\r\n\t\t\t} else {\r\n\t\t\t\t$recurring_id = 0;\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ Get the recurring profile and check for the recurring id if recurring exist on the product\r\n\t\t\t$recurrings = $this-&gt;model_catalog_product-&gt;getProfiles($product_info['product_id']);\r\n\r\n\t\t\tif ($recurrings) {\r\n\t\t\t\t$recurring_ids = array();\r\n\r\n\t\t\t\tforeach ($recurrings as $recurring) {\r\n\t\t\t\t\t$recurring_ids[] = $recurring['recurring_id'];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!in_array($recurring_id, $recurring_ids)) {\r\n\t\t\t\t\t$json['error']['recurring'] = $this-&gt;language-&gt;get('error_recurring_required');\r\n\t\t\t\t}\r\n\t\t\t}<\/pre>\n<p>If there are no error in $json array related to option and recurring it calls the add method of cart library which insert the product details and customer data to the Opencart cart table.<\/p>\n<pre class=\"brush:php\">if (!$json) {\r\n\t$this-&gt;cart-&gt;add($this-&gt;request-&gt;post['product_id'], $quantity, $option, $recurring_id);<\/pre>\n<p>The controller returns the JSON response by encoding to the $json array:<\/p>\n<pre class=\"brush:php\">$this-&gt;response-&gt;addHeader('Content-Type: application\/json');\r\n$this-&gt;response-&gt;setOutput(json_encode($json));<\/pre>\n<p>The json array can contain one of the following combination:<br \/>\n$json[&#8216;error&#8217;] &amp; $json[&#8216;redirect&#8217;] : If gets error in required options or recurring id error<br \/>\n$json[&#8216;success&#8217;] &amp; $json[&#8216;total&#8217;] : If add to the cart successfully<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline\">Processes after the Ajax request completed:<\/span><\/p>\n<p>If it contains the redirect parameter which redirects to the product page of that product or else it will show \u00a0 \u00a0the success message and load the html data by sending the request to the common\/cart info method and \u00a0 \u00a0 \u00a0 jquery parse it with ul li.<\/p>\n<pre class=\"brush:php\">success: function(json) {\r\n\t$('.alert, .text-danger').remove();\r\n\r\n     \/\/If redirect parameter is in the json response then redirect to that location\r\n\tif (json['redirect']) { \r\n\t  location = json['redirect'];\r\n\t}\r\n\tif (json['success']) {\r\n\t    $('#content').parent().before('&lt;div class=\"alert alert-success\"&gt;&lt;i class=\"fa fa-check-circle\"&gt;&lt;\/i&gt; ' + json['success'] + ' &lt;button type=\"button\" class=\"close\" data-dismiss=\"alert\"&gt;&amp;times;&lt;\/button&gt;&lt;\/div&gt;');\r\n\r\n\t    \/\/ Need to set timeout otherwise it wont update the total\r\n\t\tsetTimeout(function () {\r\n\t\t   $('#cart &gt; button').html('&lt;span id=\"cart-total\"&gt;&lt;i class=\"fa fa-shopping-cart\"&gt;&lt;\/i&gt; ' + json['total'] + '&lt;\/span&gt;');\r\n\t\t}, 100);\r\n            $('html, body').animate({ scrollTop: 0 }, 'slow');\r\n\r\n        \/\/ Load the cart inforamtion from common\/cart in html form and parse it with ul li\r\n\t    $('#cart &gt; ul').load('index.php?route=common\/cart\/info ul li');\r\n\t}\r\n}<\/pre>\n<p>The info method of controller common\/cart return the all the products\u00a0with the product details such as cart_id, name, model, options, price total etc.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we will discuss\u00a0the process during add to cart in Opencart. The Opencart Cart processing is highly based on the Ajax Based. In default Opencart, we can add the product from the product search page, product page, product manufacturer page, product special\u00a0page, product compare page and product category pages. Everywhere in Opencart except the product <a href=\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":125,"featured_media":41008,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[305],"tags":[],"class_list":["post-71760","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-opencart"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Opencart Processes During Add To Cart - Webkul Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Opencart Processes During Add To Cart - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"Today we will discuss\u00a0the process during add to cart in Opencart. The Opencart Cart processing is highly based on the Ajax Based. In default Opencart, we can add the product from the product search page, product page, product manufacturer page, product special\u00a0page, product compare page and product category pages. Everywhere in Opencart except the product [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-16T16:26:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Saurabh Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Saurabh Singh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\"},\"author\":{\"name\":\"Saurabh Singh\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/f599495ef5c4b4084ae49efd9878ad94\"},\"headline\":\"Opencart Processes During Add To Cart\",\"datePublished\":\"2017-01-16T16:26:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\"},\"wordCount\":346,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png\",\"articleSection\":[\"opencart\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\",\"url\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\",\"name\":\"Opencart Processes During Add To Cart - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png\",\"datePublished\":\"2017-01-16T16:26:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Opencart Processes During Add To Cart\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/f599495ef5c4b4084ae49efd9878ad94\",\"name\":\"Saurabh Singh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/43a07724ddc53f3f8f0d55ba2674542b3c61d51880ca31332d27cdebb18e3ea0?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/43a07724ddc53f3f8f0d55ba2674542b3c61d51880ca31332d27cdebb18e3ea0?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Saurabh Singh\"},\"sameAs\":[\"http:\/\/webkul.com\/blog\"],\"url\":\"https:\/\/webkul.com\/blog\/author\/saurabh-singh631\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Opencart Processes During Add To Cart - Webkul Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/","og_locale":"en_US","og_type":"article","og_title":"Opencart Processes During Add To Cart - Webkul Blog","og_description":"Today we will discuss\u00a0the process during add to cart in Opencart. The Opencart Cart processing is highly based on the Ajax Based. In default Opencart, we can add the product from the product search page, product page, product manufacturer page, product special\u00a0page, product compare page and product category pages. Everywhere in Opencart except the product [...]","og_url":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2017-01-16T16:26:11+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png","type":"image\/png"}],"author":"Saurabh Singh","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Saurabh Singh","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/"},"author":{"name":"Saurabh Singh","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/f599495ef5c4b4084ae49efd9878ad94"},"headline":"Opencart Processes During Add To Cart","datePublished":"2017-01-16T16:26:11+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/"},"wordCount":346,"commentCount":4,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png","articleSection":["opencart"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/","url":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/","name":"Opencart Processes During Add To Cart - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png","datePublished":"2017-01-16T16:26:11+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/02\/Opencart-Code-Snippet.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/opencart-processes-add-cart\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Opencart Processes During Add To Cart"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/f599495ef5c4b4084ae49efd9878ad94","name":"Saurabh Singh","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/43a07724ddc53f3f8f0d55ba2674542b3c61d51880ca31332d27cdebb18e3ea0?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/43a07724ddc53f3f8f0d55ba2674542b3c61d51880ca31332d27cdebb18e3ea0?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Saurabh Singh"},"sameAs":["http:\/\/webkul.com\/blog"],"url":"https:\/\/webkul.com\/blog\/author\/saurabh-singh631\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/71760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/125"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=71760"}],"version-history":[{"count":11,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/71760\/revisions"}],"predecessor-version":[{"id":71831,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/71760\/revisions\/71831"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/41008"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=71760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=71760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=71760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}