{"id":31528,"date":"2018-04-21T15:47:48","date_gmt":"2018-04-21T15:47:48","guid":{"rendered":"https:\/\/ampscript.guide\/httppost2\/"},"modified":"2021-04-06T00:58:41","modified_gmt":"2021-04-06T00:58:41","slug":"httppost2","status":"publish","type":"post","link":"https:\/\/ampscript.guide\/httppost2\/","title":{"rendered":"HTTPPost2"},"content":{"rendered":"<h2>HTTPPost2<\/h2>\n<p>Similar to the <a href=\"\/httppost\">HTTPPost<\/a> function, this posts content to a defined, publicly accessible URL, but it also provides exception handling if an error is returned from the request.<\/p>\n<h3>Arguments<\/h3>\n<p><code>HTTPPost2(1,2,3,4,5,6,7,8,[9a,9b]...)<\/code><\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: center\">Ordinal<\/th>\n<th style=\"text-align: left\">Type<\/th>\n<th style=\"text-align: left\">Required<\/th>\n<th style=\"text-align: left\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: center\">1<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">True<\/td>\n<td style=\"text-align: left\">URL endpoint used to post content<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">2<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">True<\/td>\n<td style=\"text-align: left\">Content-Type header value<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">3<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">True<\/td>\n<td style=\"text-align: left\">Content to include in POST request<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">4<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Whether the process continues on an error. A value of <code>true<\/code> returns an exception.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">5<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Variable used to return status response string<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">6<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Variable used to return response row set (see note)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">7<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Name of additional header to include in POST request<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">8<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Value of additional header to include in POST request<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">9a<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Name of additional header to include in POST request (see note)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">9b<\/td>\n<td style=\"text-align: left\">String<\/td>\n<td style=\"text-align: left\">False<\/td>\n<td style=\"text-align: left\">Value of additional header to include in POST request (see note)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote>\n<p>NOTE: Ordinal 6 returns a row set (the number of rows varies depending on the URL). This is an internal row set and the fields are not available for use. Arguments 9a and 9b allow additional header name and value pairs to be appended as arguments \u2014 repeat these pairs as required.<\/p>\n<p>NOTE: The function only works with HTTP content on TCP\/IP port 80 and HTTPS on port 443. Basic access authentication in URLs is not supported (for example, <code>https:\/\/username:password@https:\/\/domain.com<\/code>).<\/p>\n<\/blockquote>\n<div class=\"rcp_restricted rcp_paid_only\"><div>\n\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/posts\/31528\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/wp-json\/wp\/v2\/posts\/31528?rcp_action=lostpassword\">Lost your password?<\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/posts\/31528\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"213020500f\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<br \/>\nNot a subscriber? <a href=\"\/subscriptions\/subscribe\/\">Subscribe now<\/a>.\n<\/div>\n<\/div>\n<h3>Example<\/h3>\n<p>The following example makes an HTTP POST request with a JSON payload to an external endpoint.<\/p>\n<pre><code>%%[\n\nvar @payload, @postRequest, @response, @responseRows\n\nset @payload = '{\n   \"Order Number\":10110113,\n   \"First Name\":\"Curt\",\n   \"Last Name\":\"Harris\",\n   \"Amount\":{\n      \"Order Subtotal\":120,\n      \"VAT\":20,\n      \"Shipping\":0,\n      \"Order Total\":120\n   }\n}'\n\nset @postrequest = HTTPPost2(\"https:\/\/httpbin.org\/post\",\"application\/json\", @payload, true, @response, @responseRows)\n\n]%%\nstatus code: %%=v(@postrequest)=%%\n&lt;br&gt;&lt;br&gt;response: %%=v(@response)=%%\n&lt;br&gt;&lt;br&gt;responseRows: %%=v(@responseRows)=%%\n&lt;br&gt;&lt;br&gt;responseRowCount: %%=RowCount(@responseRows)=%%<\/code><\/pre>\n<h4>Output<\/h4>\n<p>The request returns the status code, response payload and row set. The following response has been abbreviated for display purposes.<\/p>\n<pre><code>status code: 200\n\nresponse: {\"args\":{}, \"data\":\"{...}\", \"files\":{}, \"form\":{  }, \"headers\":{...}, \"json\":{\"Amount\":{\"Order Subtotal\":120, \"Order Total\":120, \"Shipping\":0, \"VAT\":20 }, \"First Name\":\"Curt\", \"Last Name\":\"Harris\", \"Order Number\":10110113 } }\n\nresponseRows: System.Data.DataRow[]\n\nresponseRowCount: 10<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>HTTPPost2 Similar to the HTTPPost function, this posts content to a defined, publicly accessible URL, but it also provides exception handling if an error is returned from the request. Arguments HTTPPost2(1,2,3,4,5,6,7,8,[9a,9b]&#8230;) Ordinal Type Required Description 1 String True URL endpoint used to post content 2 String True Content-Type header value 3 String True Content to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v14.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The AMPscript Guide - HTTPPost2<\/title>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ampscript.guide\/httppost2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The AMPscript Guide - HTTPPost2\" \/>\n<meta property=\"og:description\" content=\"HTTPPost2 Similar to the HTTPPost function, this posts content to a defined, publicly accessible URL, but it also provides exception handling if an error is returned from the request. Arguments HTTPPost2(1,2,3,4,5,6,7,8,[9a,9b]...) Ordinal Type Required Description 1 String True URL endpoint used to post content 2 String True Content-Type header value 3 String True Content to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ampscript.guide\/httppost2\/\" \/>\n<meta property=\"og:site_name\" content=\"The AMPscript Guide\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-21T15:47:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-06T00:58:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ampscript.guide\/#website\",\"url\":\"https:\/\/ampscript.guide\/\",\"name\":\"The AMPscript Guide\",\"description\":\"The Definitive Scripting Manual for Salesforce Marketing Cloud\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/ampscript.guide\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ampscript.guide\/httppost2\/#webpage\",\"url\":\"https:\/\/ampscript.guide\/httppost2\/\",\"name\":\"The AMPscript Guide - HTTPPost2\",\"isPartOf\":{\"@id\":\"https:\/\/ampscript.guide\/#website\"},\"datePublished\":\"2018-04-21T15:47:48+00:00\",\"dateModified\":\"2021-04-06T00:58:41+00:00\",\"author\":{\"@id\":\"https:\/\/ampscript.guide\/#\/schema\/person\/5335042f77731e84f9808aecef25daec\"},\"breadcrumb\":{\"@id\":\"https:\/\/ampscript.guide\/httppost2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ampscript.guide\/httppost2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ampscript.guide\/httppost2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ampscript.guide\/\",\"url\":\"https:\/\/ampscript.guide\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ampscript.guide\/httppost2\/\",\"url\":\"https:\/\/ampscript.guide\/httppost2\/\",\"name\":\"HTTPPost2\"}}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/ampscript.guide\/#\/schema\/person\/5335042f77731e84f9808aecef25daec\",\"name\":\"dev\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/posts\/31528"}],"collection":[{"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/comments?post=31528"}],"version-history":[{"count":0,"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/posts\/31528\/revisions"}],"wp:attachment":[{"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/media?parent=31528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/categories?post=31528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ampscript.guide\/wp-json\/wp\/v2\/tags?post=31528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}