{"id":74075,"date":"2017-02-09T11:24:11","date_gmt":"2017-02-09T11:24:11","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=74075"},"modified":"2019-01-08T08:12:10","modified_gmt":"2019-01-08T08:12:10","slug":"import-image-virtuemart-base64-string","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/","title":{"rendered":"Import product image to Joomla VirtueMart from base64 string"},"content":{"rendered":"<p style=\"text-align: justify\">In Joomla VirtueMart 3.0.x we can add a product image corresponding to a Joomla VirtueMart product id. The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.<\/p>\n<p style=\"text-align: justify\">As you will see, Joomla VirtueMart takes configurations and particular name convention to create and save an image at its end, that are covered in the listed code.<\/p>\n<pre class=\"brush:php\">&lt;?php\r\n\/**\r\n * Webkul Software.\r\n *\r\n * @category  Webkul\r\n * @author    Webkul\r\n * @copyright Copyright (c) 2010-2016 Webkul Software Private Limited (https:\/\/webkul.com)\r\n * @license   https:\/\/store.webkul.com\/license.html\r\n *\/\r\n\/\/ no direct access\r\ndefined('_JEXEC') or die('Restricted access');\r\nif(!class_exists('VmConfig')){\r\n\trequire(JPATH_ADMINISTRATOR.'\/components\/com_virtuemart\/helpers\/config.php');\r\n}\r\nif(!class_exists('Img2Thumb')){\r\n\trequire(JPATH_ADMINISTRATOR.'\/components\/com_virtuemart\/helpers\/img2thumb.php');\r\n}\r\n\r\n\/**\r\n * saveImageToVirtuemart \t\t\t\tsave base64 string to virtuemart product\r\n * @param  string \t$base64_string        \t\timage converted to base64 string\r\n * @param  int \t\t$virtuemart_product_id \t\tvirtuemart product id\r\n * @return none                        \r\n *\/\r\nfunction saveImageToVirtuemart($base64_string, $virtuemart_product_id){\r\n\t$img_name = md5(time().uniqid());\r\n\t$extension = 'jpg';\r\n\r\n\t\/\/get to be save media path\r\n\t$media_product_path = VmConfig::get('media_product_path') == ''?'images\/stories\/virtuemart\/typeless\/' : VmConfig::get('media_product_path');\r\n\r\n\t\/\/get to be save media thumb path\r\n\t$media_product_thumb_path = VmConfig::get('media_product_path') == ''? 'images\/stories\/virtuemart\/product\/resized\/images\/stories\/virtuemart\/typeless\/' : VmConfig::get('media_product_path').'resized\/';\r\n\t$save_file_url = JPATH_SITE.'\/'.$media_product_path;\r\n\t$file_name = $img_name.'.'.$extension;\r\n\r\n\t\/\/final media path with name and extension\r\n\t$output_file = $save_file_url.$file_name;\r\n\r\n\t\/\/ save image to directory\r\n\twriteImageToDirectory($base64_string, $output_file);\r\n\r\n\t$img_width = (int)(VmConfig::get('img_width') == 0? 90: VmConfig::get('img_width'));\r\n\t$img_height = (int)(VmConfig::get('img_height') == 0? 90: VmConfig::get('img_height'));\r\n\t$thumb_fileout = $save_file_url.'resized\/'.$img_name .'_'.$img_width.'x'.$img_height.'.' . $extension;\r\n\t\/\/ convert and save thumb media\r\n\t$objthumb = new Img2Thumb($output_file, $img_width, $img_height, $thumb_fileout,'', 255, 255, 255);\r\n\t$file_url = $media_product_path.$img_name.'.'.$extension;\r\n\t$file_url_thumb = $media_product_thumb_path.$img_name .'_'.$img_width.'x'.$img_height.'.' . $extension;\r\n\r\n\t\/\/ get login user id\r\n\t$user = JFactory::getUser();\r\n\t$userId = $user-&gt;get( 'id' );\r\n\r\n\t\/\/ insert to VM medias\r\n\t$db = JFactory::getDbo();\r\n\t$query = $db-&gt;getQuery(true);\r\n\t$columns = array('virtuemart_vendor_id', 'file_title', 'file_mimetype', 'file_type', 'file_url', 'file_url_thumb', 'file_is_product_image', 'file_is_downloadable', 'file_is_forSale', 'shared', 'published', 'created_by', 'modified_by', 'locked_on', 'locked_by');\r\n\t$values = array(1,$db-&gt;quote($file_name), $db-&gt;quote('image\/jpeg'), $db-&gt;quote('product'), $db-&gt;quote($file_url), $db-&gt;quote($file_url_thumb), 0, 0, 0, 0, 1, (int)$userId, (int)$userId, $db-&gt;quote('0000-00-00 00:00:00'), 0);\r\n\t$query-&gt;insert($db-&gt;quoteName('#__virtuemart_medias'))\r\n\t\t-&gt;columns($db-&gt;quoteName($columns))\r\n\t\t-&gt;values(implode(',', $values));\t\r\n\t$db-&gt;setQuery($query);\r\n\t$imgsuccess = $db-&gt;execute();\r\n\r\n\t\/\/ insert to VMProductMedias, pass VMproduct id in second parameter\r\n\tif($imgsuccess){\r\n\t\tsaveToVmProductMedias($db-&gt;insertid(), $virtuemart_product_id);\r\n\t}\r\n}\r\n\r\n\/**\r\n * writeImageToDirectory \t\t\tsave image file to directory\r\n * @param  string $base64_string \t\tbase64 encoded string\r\n * @param  string $output_file   \t\tfinal media path with name and extension\r\n * @return none\r\n *\/\r\nfunction writeImageToDirectory($base64_string, $output_file) {\r\n\t$file = fopen($output_file , 'w') or die(JText::sprintf('COM_VIRTUEMART_ERP_CAN_NOT_OPEN', $output_file));\r\n\tfwrite($file, base64_decode($base64_string));\r\n\tfclose($file);\r\n}\r\n\r\n\/**\r\n * saveToVmProductMedias \t\t\tsave thumd image of product\r\n * @param  int \t $insertid              \tlast media insert id\r\n * @param  int \t $virtuemart_product_id \tproduct id\r\n * @return none                  \r\n *\/\r\nfunction saveToVmProductMedias($insertid, $virtuemart_product_id){\r\n\t$db = JFactory::getDbo();\r\n\t$query=$db-&gt;getQuery(true);\r\n\t$columns=array($db-&gt;quoteName('id'),$db-&gt;quoteName('virtuemart_product_id'),$db-&gt;quoteName('virtuemart_media_id'),$db-&gt;quoteName('ordering'));\r\n\t$values=array($db-&gt;quote(''),$db-&gt;quote($virtuemart_product_id),$db-&gt;quote($insertid),$db-&gt;quote(''));\r\n\t$query-&gt;insert($db-&gt;quoteName('#__virtuemart_product_medias'))\r\n\t      -&gt;columns($columns)\r\n\t      -&gt;values(implode(',',$values));\r\n\t$db-&gt;setQuery($query);\r\n\t$db-&gt;execute();\t\r\n}\r\n<\/pre>\n<div class=\"panel panel-info\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Usage<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div>\n<p>Manual image upload is useful in many extensions, mostly connectors where data from an end has to be imported into VitueMart. One of it has been implemented in &#8211;<\/p>\n<p><a href=\"https:\/\/store.webkul.com\/Virtuemart-OpenERP-Connector.html\" target=\"_blank\" rel=\"noopener\">Virtuemart Odoo Connector<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>For any query regarding Joomla virtuemart plug-ins and add-ons you can communicate with us at:<br \/>\n<a href=\"https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/\">https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Joomla VirtueMart 3.0.x we can add a product image corresponding to a Joomla VirtueMart product id. The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image. As you will see, Joomla VirtueMart takes configurations and particular name convention to <a href=\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":46,"featured_media":66790,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,4329],"tags":[],"class_list":["post-74075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-virtuemart-joomla-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Import product image to Joomla VirtueMart from base64 string - Webkul Blog<\/title>\n<meta name=\"description\" content=\"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.\" \/>\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\/import-image-virtuemart-base64-string\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Import product image to Joomla VirtueMart from base64 string - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\" \/>\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-02-09T11:24:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-08T08:12:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-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=\"Anant Garg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/anant_maks\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anant Garg\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\"},\"author\":{\"name\":\"Anant Garg\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/6ea8b2fc21db1091826b5da1b3652b11\"},\"headline\":\"Import product image to Joomla VirtueMart from base64 string\",\"datePublished\":\"2017-02-09T11:24:11+00:00\",\"dateModified\":\"2019-01-08T08:12:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\"},\"wordCount\":134,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"articleSection\":[\"php\",\"Virtuemart\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\",\"url\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\",\"name\":\"Import product image to Joomla VirtueMart from base64 string - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"datePublished\":\"2017-02-09T11:24:11+00:00\",\"dateModified\":\"2019-01-08T08:12:10+00:00\",\"description\":\"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png\",\"width\":825,\"height\":260,\"caption\":\"Joomla Virtuemart\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Import product image to Joomla VirtueMart from base64 string\"}]},{\"@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\/6ea8b2fc21db1091826b5da1b3652b11\",\"name\":\"Anant Garg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?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\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Anant Garg\"},\"description\":\"A Salesforce Developer specialising in Sales Cloud, Service Cloud, and Marketing Cloud provides customised solutions to improve client interaction and streamline business processes. Expertise in Salesforce platform optimisation provides smooth integration and fosters strategic growth across a wide range of organisational processes.\",\"sameAs\":[\"http:\/\/writerunleashed4u.blogspot.in\",\"https:\/\/x.com\/https:\/\/twitter.com\/anant_maks\"],\"url\":\"https:\/\/webkul.com\/blog\/author\/anant158\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Import product image to Joomla VirtueMart from base64 string - Webkul Blog","description":"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.","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\/import-image-virtuemart-base64-string\/","og_locale":"en_US","og_type":"article","og_title":"Import product image to Joomla VirtueMart from base64 string - Webkul Blog","og_description":"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.","og_url":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2017-02-09T11:24:11+00:00","article_modified_time":"2019-01-08T08:12:10+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","type":"image\/png"}],"author":"Anant Garg","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/anant_maks","twitter_site":"@webkul","twitter_misc":{"Written by":"Anant Garg","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/"},"author":{"name":"Anant Garg","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/6ea8b2fc21db1091826b5da1b3652b11"},"headline":"Import product image to Joomla VirtueMart from base64 string","datePublished":"2017-02-09T11:24:11+00:00","dateModified":"2019-01-08T08:12:10+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/"},"wordCount":134,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","articleSection":["php","Virtuemart"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/","url":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/","name":"Import product image to Joomla VirtueMart from base64 string - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","datePublished":"2017-02-09T11:24:11+00:00","dateModified":"2019-01-08T08:12:10+00:00","description":"The listed article describes the product image upload and its entries to be made at Joomla VirtueMart from a base64 converted string for an image.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2016\/12\/Virtuemart-Code-Snippet.png","width":825,"height":260,"caption":"Joomla Virtuemart"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/import-image-virtuemart-base64-string\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Import product image to Joomla VirtueMart from base64 string"}]},{"@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\/6ea8b2fc21db1091826b5da1b3652b11","name":"Anant Garg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?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\/013d335b488c1077708a8177975749ebfc91bbb3c549ec6c19a6a83b3341ff76?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Anant Garg"},"description":"A Salesforce Developer specialising in Sales Cloud, Service Cloud, and Marketing Cloud provides customised solutions to improve client interaction and streamline business processes. Expertise in Salesforce platform optimisation provides smooth integration and fosters strategic growth across a wide range of organisational processes.","sameAs":["http:\/\/writerunleashed4u.blogspot.in","https:\/\/x.com\/https:\/\/twitter.com\/anant_maks"],"url":"https:\/\/webkul.com\/blog\/author\/anant158\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/74075","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\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=74075"}],"version-history":[{"count":8,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/74075\/revisions"}],"predecessor-version":[{"id":157519,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/74075\/revisions\/157519"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/66790"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=74075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=74075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=74075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}