You need to sign in to do that
Don't have an account?
donnie3iii
Lead Insertion
Hello,
I am trying to insert a lead using php and running into some trouble. It has been a long time since I have programmed in php so I am attributing this issue to syntax but for thelife of me I can not seem to find any example code.
Here is the code I have tried:
I have also tried variations like:
In my php.ini I do not display the errors so I am not getting any errors back, but when I query the SF I do not see the lead added. I have tried these variations with upsert as well with the same results.
Any help would be most appreciated!
Thanks
Don
I am trying to insert a lead using php and running into some trouble. It has been a long time since I have programmed in php so I am attributing this issue to syntax but for thelife of me I can not seem to find any example code.
Here is the code I have tried:
Code:
$fieldsToUpdate = array('FirstName'=>$fname,'LastName'=>$lname,'Email'=>$email,'Leadsource'=>$source,'company'=>$co,'Website'=>$web ); $sObject = new SObject(); $sObject->fields = $fieldsToUpdate; $sObject->type = 'Lead'; $acct = $mySforceConnection->upsert(array ($sObject));
I have also tried variations like:
Code:
$lead['Email'] = "test@test.com"; $lead['LeadSource'] = "blog"; $lead['Company'] = "Test Co."; $lead['Website'] = "www.test.com"; $lead['FirstName'] = "Testy"; $lead['LastName'] = "Tester"; $lead['type'] = "Lead"; $result = $mySforceConnection->->create($lead);
//--------------------------------------------------
//Also using the above vars + the following
//--------------------------------------------------
$sObject = new SObject();
$sObject->fields = $lead;
$sObject->type = 'lead';
$result = $mySforceConnection->create($sObject);
Any help would be most appreciated!
Thanks
Don
I have the folllowing code and i get the invalid session Id exception. How to remove it ? Can someone please assist? I am new to use salesforce metadata API. The line highlighted in RED is where the exception is raised.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.IO.Compression;
using System.Text;
using WebApplication1.WebReference;
using WebApplication1.SFMetadata;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
public const double API_VERSION = 23.0;
private WebApplication1.WebReference.SforceService sf { get; set; }
private WebApplication1.WebReference.LoginResult lr { get; set; }
private GetUserInfoResult userInfo { get; set; }
private MetadataService metaService { get; set; }
private List<FileProperties> lstFp { get; set; }
private RetrieveResult result { get; set; }
private List<String> lstSObjects = new List<String>();
private List<CustomField> lstFields = new List<CustomField>();
// Retrieve all SObjects
private void retrieveSObjects()
{
try
{
DescribeGlobalResult dgr = sf.describeGlobal();
DescribeGlobalSObjectResult[] dgsr = dgr.sobjects;
foreach (DescribeGlobalSObjectResult d in dgr.sobjects)
{
lstSObjects.Add(d.name);
Response.Write("object name:" + d.name);
}
}
catch (Exception e)
{
Response.Write("Could not retrieve the Sobjects from Salesforce. " + e.Message);
}
//check
//check
}
protected void Button1_Click(object sender, EventArgs e)
{
SforceService sfService = new SforceService();
MetadataService ms = new MetadataService();
LoginResult lResult = new LoginResult();
GetUserInfoResult uInfo = new GetUserInfoResult();
sf = new WebApplication1.WebReference.SforceService();
lr = new WebApplication1.WebReference.LoginResult();
metaService = new MetadataService();
userInfo = new GetUserInfoResult();
lResult = sfService.login("sushanto.dodo@gmail.com", "sushanto14#2vk4KTBFv94mOHKUvZKkJ4Gpc");
sfService.Url = lResult.serverUrl;
Response.Write("URL : " + lResult.serverUrl);
WebReference.SessionHeader hd = new WebReference.SessionHeader();
hd.sessionId = lResult.sessionId;
sfService.SessionHeaderValue = hd;
Response.Write("\nSessionID"+lResult.sessionId+"\n");
this.sf = sfService;
this.lr = lResult;
this.userInfo = uInfo;
this.metaService = ms;
Response.Write("logged in");
// getProfile();
// getUser();
retrieveSObjects();
String strFolder = "Profile";
String pckgType = "Profile";
List<ProfileObjectPermissions> lstProfObjPerm = new List<ProfileObjectPermissions>();
List<PackageTypeMembers> lstPtm = new List<PackageTypeMembers>();
foreach (String s in lstSObjects)
{
SFMetadata.ProfileObjectPermissions profObjPerm = new SFMetadata.ProfileObjectPermissions();
profObjPerm.@object = s;
lstProfObjPerm.Add(profObjPerm);
SFMetadata.PackageTypeMembers objPckTypMembers = new SFMetadata.PackageTypeMembers();
List<String> lstMembers = new List<String>();
lstMembers.Add(s);
objPckTypMembers.members = lstMembers.ToArray();
lstPtm.Add(objPckTypMembers);
}
Package pck = new Package();
pck.types = lstPtm.ToArray();
SFMetadata.Profile objProfile = new SFMetadata.Profile();
objProfile.objectPermissions = lstProfObjPerm.ToArray();
// Call the methods to retrieve the profiles and zip file
// REPLACED THE LIST PACKAGE METHOD
// can't use wildcards with reports, so need to fetch the list
// of ReportFolders first, then fetch all the reports in
// each folder.
ListMetadataQuery q = new ListMetadataQuery();
q.type = strFolder;
Response.Write("\nSessionID"+lResult.sessionId+"\n");
FileProperties[] fp = metaService.listMetadata(new ListMetadataQuery[] { q }, API_VERSION);
/*
if (fp == null)
{
Console.WriteLine("No profile folders returned");
return ;
}
List<String> packageFiles = new List<String>();
q.type = pckgType;
foreach (FileProperties p in fp)
{
q.folder = p.fullName;
// listMetadata can take more than one item at a time
// left as an exercise for the reader to batch up these calls.
FileProperties[] rps = metaService.listMetadata(new ListMetadataQuery[] { q }, API_VERSION);
if (fp == null) continue;
foreach (FileProperties rp in rps)
{
Console.WriteLine("{0}", rp.fileName);
packageFiles.Add(rp.fullName);
}
}
String[] profileFiles = packageFiles.ToArray(); ;
// RETRIEVEPACKAGE METHOD CODE
// build up an unpackaged retrieve request for the list of reports.
RetrieveRequest r = new RetrieveRequest();
r.apiVersion = API_VERSION;
//r.unpackaged = new Package();
r.unpackaged = pck;
PackageTypeMembers m = new PackageTypeMembers();
m.name = pckgType;
m.members = profileFiles;
r.unpackaged.types = new PackageTypeMembers[] { m };
// start the retrieve request
AsyncResult ar = metaService.retrieve(r);
// wait for it to complete, sleeping as necassary.
while (!ar.done)
{
System.Threading.Thread.Sleep(1000);
ar = metaService.checkStatus(new String[] { ar.id })[0];
}
// did it work ?
if (ar.state == AsyncRequestState.Error)
Console.WriteLine("{0} {1}", ar.statusCode, ar.message);
else
{
// now actually go get the results
RetrieveResult rr = metaService.checkRetrieveStatus(ar.id);
if (rr.messages != null)
foreach (RetrieveMessage rm in rr.messages)
Console.WriteLine("{0} : {1}", rm.fileName, rm.problem);
// write the zipFile out to a disk file.
using (System.IO.FileStream fs = new System.IO.FileStream("c:\\" + pckgType + ".zip", System.IO.FileMode.Create))
fs.Write(rr.zipFile, 0, rr.zipFile.Length);
}
*/
Response.Write("Extraction Complete.");
Response.Write("RetrievedSObjects");
}
}
}