{"id":90034,"date":"2017-07-18T09:47:11","date_gmt":"2017-07-18T09:47:11","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=90034"},"modified":"2018-03-27T08:11:22","modified_gmt":"2018-03-27T08:11:22","slug":"future-annotation-salesforce","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/","title":{"rendered":"@future Annotation In Salesforce"},"content":{"rendered":"<p>In this blog we will learn about <strong>@future annotation<\/strong>. In salesforce there is several method to run the process asynchronously. @future annotation is one of the way. It run the process in separate thread.<\/p>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Key Points:<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div>\n<ol>\n<li>\u00a0The method annoted with @future is known as <strong>future method.<\/strong><\/li>\n<li>\u00a0Future method :\n<ol>\n<li>\u00a0can only <strong>return void type.<\/strong><\/li>\n<li>\u00a0must be <strong>static method.<\/strong><\/li>\n<li>\u00a0cannot take objects and sOjects as parameter.<\/li>\n<li>\u00a0allow callout when callout = true is specified.(Default is callout = false).\n<pre class=\"brush:java\">public class exampleClass\r\n{\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\r\n    @future (callout = true)\r\n    public static void exampleCallout()\r\n    {\r\n      \/\/Write your code here.\r\n    }\r\n}<\/pre>\n<\/li>\n<\/ol>\n<\/li>\n<li>\u00a0Specified parameter <span style=\"color: #333333\"><span style=\"font-family: 'Liberation Serif', serif\">must be <strong>primitive data types, arrays of primitive data types, or collections of primitive data types.<\/strong><\/span><\/span><\/li>\n<li>\u00a0Method may or may not be executing in same order as it is called.<\/li>\n<li>\u00a0It cannot be used in visualforce controller either in <strong>getMethodName()<\/strong> or in <strong>setMethodName()<\/strong> nor in constructor.<\/li>\n<li>\u00a0Nested future calling is not allowed means you cannot call a future method in another future method niether in trigger.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Where To Use :<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<ol>\n<li>When you have to make callout to external web-services after DML operation from trigger because it hold the database connection open for lifetime.<\/li>\n<li>Due to sort of resource some method need to run in their own thread, so that it can use that resources when they are available, there you can use future annotation.<\/li>\n<li>Due to limited user\u2019s access on record sometimes DML operation on certain sObject cannot be mixed with DML operation on another sObjects. At that time we need to change the transaction of both DML operation. Here we can use future method.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">GOVERNOR Limits<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<ol>\n<li>Maximum number of methods with the future annotation allowed per Apex invocation is 50.<\/li>\n<li>No more than 200 method calls per Salesforce.com license per 24 hours<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Example:<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div>\n<p>Below is an example of future method. In this example you will create an custom field name <strong>Number_Of_Contacts___c<\/strong> of type <strong>number<\/strong> in Account sObject and update this field using future method as explained below.<\/p>\n<ol>\n<li>You have to create an custom field from <strong>Setup&gt;&gt; Customize&gt;&gt;Accounts&gt;&gt;Fields.\u00a0<\/strong>Create new custom field name <strong>Number_Of_Contacts__c<\/strong> and type should be <strong>Number.<\/strong><\/li>\n<li>Now create an apex class AccountProcessor to update the number of Contacts in each Account.\n<pre class=\"brush:java\">public class AccountProcessor {\r\n  \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    \r\n    @future\r\n    public static void countContacts (List&lt;Id&gt; accountIds)\r\n    {\r\n        List&lt;Account&gt; accountList = new List&lt;Account&gt;();\r\n        for(Id accId : accountIds)\r\n        {\r\n            Account acc = [Select Name from Account where Id =: accId];\r\n            acc.Number_of_Contacts__c = [Select count() from Contact where AccountId =: accId];\r\n            accountList.add(acc);\r\n        }\r\n        update accountList;\r\n    }\r\n    \r\n    public AccountProcessor ()\r\n    {\r\n        List&lt;Account&gt; accList = [Select Id from Account];\r\n        List&lt;Id&gt; accountIds = new List&lt;Id&gt;();\r\n        for(Account acc: accList)\r\n        {\r\n            accountIds.add(acc.Id);\r\n        }\r\n        AccountProcessor.countContacts(accountIds);\r\n    }\r\n}<\/pre>\n<\/li>\n<li>Now open Execute Anonymous window (Ctrl+E) and execute the following code.\n<pre class=\"brush:java\">AccountProcessor a = new AccountProcessor();<\/pre>\n<\/li>\n<\/ol>\n<p>Now, go to Accounts and check the updated record. You will find total number of contact associated with that account in Number_Of_Account custom field.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"panel panel-primary\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Output:<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<div><a href=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"alignnone wp-image-90036 size-full\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition.jpg\" alt=\"\" width=\"1301\" height=\"678\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition.jpg 1301w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition-250x130.jpg 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition-300x156.jpg 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition-768x400.jpg 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/Account-Burlington-Textiles-Corp-of-America-Salesforce-Developer-Edition-1200x625.jpg 1200w\" sizes=\"(max-width: 1301px) 100vw, 1301px\" loading=\"lazy\" \/><\/a><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div class=\"panel panel-info\">\n<div class=\"panel-heading\">\n<div>\n<h3 class=\"panel-title\">Support<\/h3>\n<\/div>\n<\/div>\n<div class=\"panel-body\">\n<p>That\u2019s all for @future Annotation, still if you have any further query , feel free to add a ticket, we will be happy to help you\u00a0<a href=\"https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/webkul.uvdesk.com\/en\/customer\/create-ticket\/<\/a>.<\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog we will learn about @future annotation. In salesforce there is several method to run the process asynchronously. @future annotation is one of the way. It run the process in separate thread. Key Points: \u00a0The method annoted with @future is known as future method. \u00a0Future method : \u00a0can only return void type. \u00a0must <a href=\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":145,"featured_media":90040,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1889,3128,1887],"tags":[5076,5077],"class_list":["post-90034","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apex","category-api-support","category-salesforce","tag-future","tag-asyncronous-job"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>@future Annotation In Salesforce - 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\/future-annotation-salesforce\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"@future Annotation In Salesforce - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"In this blog we will learn about @future annotation. In salesforce there is several method to run the process asynchronously. @future annotation is one of the way. It run the process in separate thread. Key Points: \u00a0The method annoted with @future is known as future method. \u00a0Future method : \u00a0can only return void type. \u00a0must [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\" \/>\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-07-18T09:47:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-27T08:11:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.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=\"Snehil Jaiswal\" \/>\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=\"Snehil Jaiswal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\"},\"author\":{\"name\":\"Snehil Jaiswal\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1\"},\"headline\":\"@future Annotation In Salesforce\",\"datePublished\":\"2017-07-18T09:47:11+00:00\",\"dateModified\":\"2018-03-27T08:11:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\"},\"wordCount\":433,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png\",\"keywords\":[\"@future\",\"Asyncronous job\"],\"articleSection\":[\"Apex\",\"API Support\",\"Salesforce\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\",\"url\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\",\"name\":\"@future Annotation In Salesforce - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png\",\"datePublished\":\"2017-07-18T09:47:11+00:00\",\"dateModified\":\"2018-03-27T08:11:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png\",\"width\":825,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"@future Annotation In Salesforce\"}]},{\"@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\/e7e387ae1eb38a5dd56c53c2daf848d1\",\"name\":\"Snehil Jaiswal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?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\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Snehil Jaiswal\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/snehil-jaiswal901\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"@future Annotation In Salesforce - 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\/future-annotation-salesforce\/","og_locale":"en_US","og_type":"article","og_title":"@future Annotation In Salesforce - Webkul Blog","og_description":"In this blog we will learn about @future annotation. In salesforce there is several method to run the process asynchronously. @future annotation is one of the way. It run the process in separate thread. Key Points: \u00a0The method annoted with @future is known as future method. \u00a0Future method : \u00a0can only return void type. \u00a0must [...]","og_url":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2017-07-18T09:47:11+00:00","article_modified_time":"2018-03-27T08:11:22+00:00","og_image":[{"width":825,"height":260,"url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png","type":"image\/png"}],"author":"Snehil Jaiswal","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Snehil Jaiswal","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/"},"author":{"name":"Snehil Jaiswal","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/e7e387ae1eb38a5dd56c53c2daf848d1"},"headline":"@future Annotation In Salesforce","datePublished":"2017-07-18T09:47:11+00:00","dateModified":"2018-03-27T08:11:22+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/"},"wordCount":433,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png","keywords":["@future","Asyncronous job"],"articleSection":["Apex","API Support","Salesforce"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/","url":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/","name":"@future Annotation In Salesforce - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage"},"thumbnailUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png","datePublished":"2017-07-18T09:47:11+00:00","dateModified":"2018-03-27T08:11:22+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/future-annotation-salesforce\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2017\/07\/download-4-3.png","width":825,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/future-annotation-salesforce\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"@future Annotation In Salesforce"}]},{"@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\/e7e387ae1eb38a5dd56c53c2daf848d1","name":"Snehil Jaiswal","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?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\/4bca6424a95aaafa9ab0ddc940099d65d20ab159fbcec826869a62578336590d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Snehil Jaiswal"},"url":"https:\/\/webkul.com\/blog\/author\/snehil-jaiswal901\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/90034","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\/145"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=90034"}],"version-history":[{"count":10,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/90034\/revisions"}],"predecessor-version":[{"id":94951,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/90034\/revisions\/94951"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media\/90040"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=90034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=90034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=90034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}