{"id":4431,"date":"2015-05-04T04:46:47","date_gmt":"2015-05-04T04:46:47","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=4431"},"modified":"2016-08-31T18:30:31","modified_gmt":"2016-08-31T18:30:31","slug":"using-dataloader-and-ant-to-backup-salesforce-data-on-ftp-server-video","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/using-dataloader-and-ant-to-backup-salesforce-data-on-ftp-server-video\/","title":{"rendered":"Using Dataloader and ANT to backup Salesforce data on FTP or SFTP server &#8211; Video"},"content":{"rendered":"<p style=\"text-align: justify;\">We will be using command line dataloader from Salesforce and ANT script to extract data from Salesforce and backup on FTP server. I would recommend to go through <a href=\"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/tutorial-of-command-line-dataloader-salesforce\/\">this article first to get familiar with basics of commandline dataloader<\/a> and followed by<a href=\"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/automate-command-line-dataloader-using-ant-with-dynamic-arguments-and-query\/\"> this article to get some insight that how we can use ANT with dataloader<\/a>.<\/p>\n<p style=\"text-align: justify;\">There can be hundreds of use cases where we need to backup data from salesforce and we have thousands of options. We can use Jitterbit, Mulesoft, Dataloader.io or some big ETL tools like BOOMI or informatica. However sometimes clients are not willing to pay hefty \u00a0amount on licensing cost of ETL tools and I love open source. In this article, we will be using open source solution to very common problem of backing up data on FTP server.<\/p>\n<p>Complete code is available on my <a href=\"https:\/\/github.com\/JitendraZaa\/DataloadertoFTP\">github account as well<\/a> in case you need it.<\/p>\n<figure id=\"attachment_4434\" aria-describedby=\"caption-attachment-4434\" style=\"width: 625px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-4434\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?resize=625%2C239&#038;ssl=1\" alt=\"Use Dataloader and ANT to back CSV file on FTP Server\" width=\"625\" height=\"239\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?resize=1024%2C391&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?resize=300%2C115&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?resize=624%2C238&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Use-Dataloader-and-ANT-to-back-CSV-file-on-FTP-Server.png?w=1899&amp;ssl=1 1899w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption id=\"caption-attachment-4434\" class=\"wp-caption-text\">Use Dataloader and ANT to back CSV file on FTP Server<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Considering you know how to use command line dataloader, first challenge would be how to get it worked using ANT. Below code snippet show how we can create ANT macro to invoke dataloader to extract data.<!--more--><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;macrodef name=&quot;export_Account&quot;&gt;\r\n        &lt;sequential&gt;\r\n            &lt;java classname=&quot;com.salesforce.dataloader.process.ProcessRunner&quot; classpath=&quot;D:\\Program Files (x86)\\salesforce.com\\Data Loader\\dataloader-33.0.0-uber.jar&quot; failonerror=&quot;true&quot;&gt;\r\n                &lt;sysproperty key=&quot;salesforce.config.dir&quot; value=&quot;config&quot;\/&gt;\r\n                &lt;arg line=&quot;process.name=Account&quot;\/&gt;\r\n            &lt;\/java&gt;\r\n        &lt;\/sequential&gt;\r\n    &lt;\/macrodef&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">Once data is extracted, we can copy csv file created by dataloader to ftp server using below code<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;ftp server=&quot;${ftpServer}&quot; port=&quot;${ftpPort}&quot; userid=&quot;${ftpUserName}&quot; password=&quot;${ftpPassword}&quot; passive=&quot;yes&quot; ` binary=&quot;no&quot;&gt;\r\n        &lt;fileset dir=&quot;${localFolder}&quot;&gt;\r\n          &lt;include name=&quot;**\/*.csv&quot;\/&gt;\r\n        &lt;\/fileset&gt;\r\n      &lt;\/ftp&gt;\r\n<\/pre>\n<p style=\"text-align: justify;\">parameters like &#8220;ftpServer&#8221;, &#8220;ftpPort&#8221; are coming from build.properties file. You can use <strong>FTP task<\/strong> from ANT to move local file to FTP server. <a href=\"https:\/\/ant.apache.org\/manual\/Tasks\/ftp.html\">Complete detail of capability and syntax of this task can be found on official site.<\/a><\/p>\n<p>Complete code of <strong>build.xml<\/strong><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\r\n&lt;!-- \r\n@Author : Jitendra Zaa \r\n@Blog : https:\/\/jitendrazaa.com \r\n@Description : This ANT script depends on external dependency that can be downloaded from &quot;http:\/\/commons.apache.org\/proper\/commons-net\/download_net.cgi&quot;. : once downloaded, jar files can be added in any folder which should be available to Windows shell. : Some suggested path - ANT bin directory, Java lib directory. Or in any directive that is added in PATH env variable. : Getting started with Dataloader - https:\/\/www.jitendrazaa.com\/blog\/salesforce\/tutorial-of-command-line-dataloader-salesforce\/ : Dataloader and ANT - https:\/\/www.jitendrazaa.com\/blog\/salesforce\/automate-command-line-dataloader-using-ant-with-dynamic-arguments-and-query\/ --&gt;\r\n&lt;project name=&quot;Export&quot; default=&quot;all&quot;&gt;\r\n    &lt;property file=&quot;build.properties&quot;\/&gt;\r\n    &lt;property environment=&quot;env&quot;\/&gt;\r\n    &lt;macrodef name=&quot;export_Account&quot;&gt;\r\n        &lt;sequential&gt;\r\n            &lt;java classname=&quot;com.salesforce.dataloader.process.ProcessRunner&quot; classpath=&quot;D:\\Program Files (x86)\\salesforce.com\\Data Loader\\dataloader-33.0.0-uber.jar&quot; failonerror=&quot;true&quot;&gt;\r\n                &lt;sysproperty key=&quot;salesforce.config.dir&quot; value=&quot;config&quot;\/&gt;\r\n                &lt;arg line=&quot;process.name=Account&quot;\/&gt;\r\n            &lt;\/java&gt;\r\n        &lt;\/sequential&gt;\r\n    &lt;\/macrodef&gt;\r\n    &lt;target name=&quot;all&quot;&gt;\r\n        &lt;export_Account \/&gt;\r\n    &lt;ftp server=&quot;${ftpServer}&quot; port=&quot;${ftpPort}&quot; userid=&quot;${ftpUserName}&quot; password=&quot;${ftpPassword}&quot; passive=&quot;yes&quot; ` binary=&quot;no&quot;&gt;\r\n        &lt;fileset dir=&quot;${localFolder}&quot;&gt;\r\n          &lt;include name=&quot;**\/*.csv&quot;\/&gt;\r\n        &lt;\/fileset&gt;\r\n      &lt;\/ftp&gt;\r\n    &lt;\/target&gt;\r\n&lt;\/project&gt;\r\n<\/pre>\n<p>sample configuration settings in <strong>build.properties<\/strong><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nftpServer=YOUR FTP SERVER\r\nftpPort=21\r\nftpUserName=USERNAME\r\nftpPassword=FTP PASSWORD\r\nlocalFolder=C:\\\\Users\\\\Jitendra\\\\Desktop\\\\SFDC to FTP\r\n<\/pre>\n<p><strong>Using SFTP with ANT<\/strong><\/p>\n<ul>\n<li>Download jsch.jar0.1.42 from <a href=\"http:\/\/www.jcraft.com\/jsch\/index.html\">here<\/a><\/li>\n<li>For SFTP, we would need to use <a href=\"http:\/\/ant.apache.org\/manual\/Tasks\/scp.html\">SCP <\/a>ANT task<\/li>\n<\/ul>\n<p>Sample ANT target<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;target name=&quot;saveFiletoSFTP&quot; description=&quot;Saving file produced by Dataloader to SFTP&quot;&gt;\r\n    &lt;scp file=&quot;sample.csv&quot; sftp=&quot;true&quot; trust=&quot;true&quot; todir=&quot;userid:password@host:\/to\/dir\/&quot; \/&gt;\r\n&lt;\/target&gt;\r\n<\/pre>\n<p><strong>Video Demo:<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Extract Data from Salesforce using Dataloader and save it on FTP using ANT\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ONryBR9zIDc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Command line dataloader related configurations &#8211; <strong>process-conf.xml<\/strong><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE beans PUBLIC &quot;-\/\/SPRING\/\/DTD BEAN\/\/EN&quot; &quot;http:\/\/www.springframework.org\/dtd\/spring-beans.dtd&quot;&gt;\r\n&lt;beans&gt;\r\n&lt;bean id=&quot;Account&quot; class=&quot;com.salesforce.dataloader.process.ProcessRunner&quot; singleton=&quot;false&quot;&gt;\r\n\t\t&lt;description&gt;Export Account Data&lt;\/description&gt;\r\n\t\t&lt;property name=&quot;name&quot; value=&quot;Account&quot;\/&gt;\r\n\t\t&lt;property name=&quot;configOverrideMap&quot;&gt;\r\n\r\n&lt;map&gt;\r\n\t\t\t&lt;entry key=&quot;sfdc.enableLastRunOutput&quot; value=&quot;false&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;sfdc.entity&quot; value=&quot;Account&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;process.operation&quot; value=&quot;extract&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;sfdc.extractionRequestSize&quot; value=&quot;500&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;sfdc.extractionSOQL&quot; value=&quot;SELECT Id FROM Account&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;dataAccess.name&quot; value=&quot;C:\\Users\\Jitendra\\Desktop\\SFDC to FTP\\AccountExport.csv&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;dataAccess.type&quot; value=&quot;csvWrite&quot;\/&gt;\r\n\t\t\t&lt;entry key=&quot;dataAccess.writeUTF8&quot; value=&quot;true&quot; \/&gt;\r\n\t\t&lt;\/map&gt;\r\n\r\n\t\t&lt;\/property&gt;\r\n\t&lt;\/bean&gt;\r\n&lt;\/beans&gt;\r\n<\/pre>\n<p><strong>config.properties<\/strong><\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\nsfdc.debugMessages=true\r\nprocess.encryptionKeyFile=C:\\\\Users\\\\Jitendra\\\\Desktop\\\\SFDC to FTP\\\\Key.txt\r\nsfdc.debugMessagesFile = C:\\\\Users\\\\Jitendra\\\\Desktop\\\\SFDC to FTP\\\\FTP.log\r\nsfdc.endpoint=https:\/\/login.salesforce.com\r\nsfdc.username=jitendra.zaa5.ftpAccount@gmail.com.\r\nsfdc.password=encryptedpasswordsdsdsdsdsd\r\nsfdc.loadBatchSize=200\r\nsfdc.timeoutSecs=600\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Tutorial on how to use command line dataloader to save exported Salesforce backup file on FTP or SFTP server<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[9],"tags":[261,58,281,72,331],"class_list":["post-4431","post","type-post","status-publish","format-standard","hentry","category-salesforce","tag-ant","tag-cli","tag-command-line-dataloader","tag-dataloader","tag-salesforce"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":3122,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/tutorial-of-command-line-dataloader-salesforce\/","url_meta":{"origin":4431,"position":0},"title":"Command line dataloader in Salesforce &#8211; Solve Common errors","author":"Jitendra","date":"September 26, 2012","format":false,"excerpt":"How to use Command line dataloader in Salesforce with troubleshooting steps and answers to common errors","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Commandline Data Loader tools","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Commandline-Data-Loader-tools.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Commandline-Data-Loader-tools.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2012\/09\/Commandline-Data-Loader-tools.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":4126,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/automate-command-line-dataloader-using-ant-with-dynamic-arguments-and-query\/","url_meta":{"origin":4431,"position":1},"title":"Automate Command Line Dataloader using ANT with Dynamic arguments and SOQL query","author":"Jitendra","date":"December 27, 2014","format":false,"excerpt":"As we know, there are multiple ways to load data inside Salesforce like using Workbench, Jitterbit, API etc... Salesforce also provides standard tool to load data into Salesforce using DataLoader. Dataloader by default supports User Interface or Command Line interface. Most of us already know that User interface based Dataloader\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Automate Command Line Data Loader","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/12\/Automate-Command-Line-Data-Loader.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/12\/Automate-Command-Line-Data-Loader.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/12\/Automate-Command-Line-Data-Loader.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/12\/Automate-Command-Line-Data-Loader.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5835,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/considerations-and-best-practices-for-salesforce-dataloading\/","url_meta":{"origin":4431,"position":2},"title":"Considerations and Best practices for Salesforce Dataloading","author":"Jitendra","date":"January 29, 2018","format":false,"excerpt":"Although we are doing data loading in Salesforce from ages, its very common to miss some steps or considerations. Therefore thought to list some of best practices and considerations I follow before or during data load process. Developer note field - I mostly create a text field on every object\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Dataloader","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/01\/Salesforce-Dataloader.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/01\/Salesforce-Dataloader.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/01\/Salesforce-Dataloader.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/01\/Salesforce-Dataloader.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5094,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/10-salesforce-integration-design-considerations-from-architect-point-of-view-mind-mapping-included\/","url_meta":{"origin":4431,"position":3},"title":"10 Salesforce Integration design considerations from Architect point of view &#8211; Mind Mapping included","author":"Jitendra","date":"December 21, 2015","format":false,"excerpt":"After working on multiple Salesforce implementation project as an Architect, its time to share\u00a0what I learned from those implementations and would strongly suggest to be considered before designing any \"Salesforce Integration\". Below image shows \"integration mind mapping\" used by me. I use it to consider some major aspects\u00a0while discussing integration\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Integration Mind mapping diagram","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/12\/Salesforce-Integration-Mind-mapping-diagram.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4447,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/all-about-upsert-and-external-id-in-dataloader-and-apex-videos\/","url_meta":{"origin":4431,"position":4},"title":"All about Upsert and External ID in Dataloader and Apex &#8211; Videos","author":"Jitendra","date":"May 11, 2015","format":false,"excerpt":"You may be wondering that there are tons of articles available for upsert operation and what is need of one more blog post. I wanted to note everything important about upsert operations using datalaoder and Apex with identified gotchas at single place, and that's why its here :) . External\u2026","rel":"","context":"In &quot;Apex&quot;","block_context":{"text":"Apex","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/apex\/"},"img":{"alt_text":"Field Mapping to create Parent Child relationship using ExternalId in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Field-Mapping-to-create-Parent-Child-relationship-using-ExternalId-in-Salesforce-e1431304939365.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Field-Mapping-to-create-Parent-Child-relationship-using-ExternalId-in-Salesforce-e1431304939365.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/05\/Field-Mapping-to-create-Parent-Child-relationship-using-ExternalId-in-Salesforce-e1431304939365.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":3586,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/import-user-quotas-in-quantity-unit-for-collaborative-forecasting\/","url_meta":{"origin":4431,"position":5},"title":"Import User Quotas in Quantity (Unit) for Collaborative Forecasting","author":"Jitendra","date":"November 7, 2013","format":false,"excerpt":"In Previous article we have seen that how to import Quota in Amount (Revenue) for Collaborative forecasting. \u00a0I got many request on how to upload Quota in Units, as in Forecasting tab you can see that there is option to see Forecast in Unit or Amount. If we switch from\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce Display Forecast as Quantity or Revenue","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2013\/11\/Salesforce-Display-Forecast-as-Quantity-or-Revenue.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=4431"}],"version-history":[{"count":7,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4431\/revisions"}],"predecessor-version":[{"id":5692,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4431\/revisions\/5692"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=4431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=4431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=4431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}