Skip to content

Instantly share code, notes, and snippets.

@mhamzas
Created November 5, 2019 12:59
Show Gist options
  • Save mhamzas/f2c445ce18bb71b5fce193eddd7ed007 to your computer and use it in GitHub Desktop.
Save mhamzas/f2c445ce18bb71b5fce193eddd7ed007 to your computer and use it in GitHub Desktop.
Salesforce Web to lead and Web to Case using Javascript [CORS Proof !]
<script type="text/javascript">
// Case Data preparation
var postData = {
oid: '00D0b000000xxxx', //Put your ORGID here
name:'John Smith',
company:'ACME',
email:'yyy@customercompany.com',
origin:'Web',
subject:'Web2Case using the custom API',
description:'This is an automated transparent Case sent using our custom API.'
}
// Send data to Salesforce
webToCase(postData);
// Web to Case function
function webToCase(fields) {
var customHiddenIframeName='JLA_API';
if(!document.getElementById(customHiddenIframeName)){
var theiFrame=document.createElement("iframe");
theiFrame.id=customHiddenIframeName;
theiFrame.name=customHiddenIframeName;
theiFrame.src='about:blank';
theiFrame.style.display='none';
document.body.appendChild(theiFrame);
}
fields['retURL']='http://127.0.0.1';//dummy URL
var form = document.createElement("form");
form.method = "POST";
form.action = "https://webto.salesforce.com/servlet/servlet.WebToCase?encoding=UTF-8";
form.setAttribute("target", customHiddenIframeName);
for (var fieldName in fields) {
var theInput = document.createElement("input");
theInput.name=fieldName;
theInput.value=fields[fieldName];
theInput.setAttribute("type", "hidden");
form.appendChild(theInput);
}
document.body.appendChild(form);
form.submit();
}
</script>
<script type="text/javascript">
// Lead Data preparation
var postData = {
oid: '00D0b000000xxxx', //Put your ORGID here
first_name: 'M Hamza',
last_name: 'Siddiqui',
email: 'code@yopmail.com',
phone: '1112223333',
}
// Send data to Salesforce
webToLead(postData);
// Web to lead function
function webToLead(fields) {
var customHiddenIframeName='JLA_API';
if(!document.getElementById(customHiddenIframeName)){
var theiFrame=document.createElement("iframe");
theiFrame.id=customHiddenIframeName;
theiFrame.name=customHiddenIframeName;
theiFrame.src='about:blank';
theiFrame.style.display='none';
document.body.appendChild(theiFrame);
}
fields['retURL']='http://127.0.0.1';//dummy URL
var form = document.createElement("form");
form.method = "POST";
form.action = "https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8";
form.setAttribute("target", customHiddenIframeName);
for (var fieldName in fields) {
var theInput = document.createElement("input");
theInput.name=fieldName;
theInput.value=fields[fieldName];
theInput.setAttribute("type", "hidden");
form.appendChild(theInput);
}
document.body.appendChild(form);
form.submit();
}
</script>
@MaximStone
Copy link

Thank you a lot! It saved me a lot of time

@mhamzas
Copy link
Author

mhamzas commented Jan 9, 2023

Glad it worked for you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment