Create 在邮递员中返回一个正常工作的 Id 值,但现在我在我的主体中做了一些更改,例如
first_name: "azib"
到 first_name: "faizan"
,所以我希望它返回 first_name
的更新主体,而不是只保留返回 Postman 内部的 id。为什么这样做以及如何解决它?
namespace GSWebAPI
{
public static class PardotUtilities
{
public static string Create(string param)
{
var client = new RestClient("https://pi.pardot.com/api/prospect/version/4/do/create/id/" );
var request = new RestRequest(Method.POST);
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded",param+GetApiKey(), ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var xml = response.Content;
XmlDocument xd = new XmlDocument();
xd.LoadXml(xml);
var ids = XDocument.Parse(xml).Element("rsp").Element("prospect").Element("id").Value;
return ids;
}
public static string Update(string param, string id)
{
var client = new RestClient("https://pi.pardot.com/api/prospect/version/4/do/update/id/" + id);
var request = new RestRequest(Method.POST);
request.AddParameter("api_key", GetApiKey());
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", param+GetApiKey(), ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var xml = response.Content;
XmlDocument xd = new XmlDocument();
xd.LoadXml(xml);
var ret = XDocument.Parse(xml).Element("rsp").Element("prospect").Element("id").Element("email").Element("first_name").Element("last_name").Element("phone");
return ret.ToString();
}
//第二节课从这里开始...
public class CampainProspectsController : ApiController
{
[HttpPost]
public IHttpActionResult Post([FromBody] JToken Value)
{
string tocreate = "";
string toupdate = "";
Prospects res = new Prospects();
res.Error = "";
res.Status = "";
var results = JsonConvert.DeserializeObject<Prospects>(Value.ToString());
if (results != null)
{
// results
results.id = Guid.NewGuid().ToString();
tocreate = "first_name=" + results.first_name + "&last_name=" + results.last_name + "&email=" + results.email + "&phone=" + results.phone + "&id=" + results.id;
var idstr = PardotUtilities.Create(tocreate);
return Ok(idstr);
}
if (tocreate == results.id) {
results.id = Guid.NewGuid().ToString();
toupdate = "first_name=" + results.first_name + "&last_name=" + results.last_name + "&email=" + results.email + "&phone=" + results.phone + "&id=" + results.id;
var update = PardotUtilities.Update(toupdate, results.id);
return Ok(update);
}
PardotUtilities.Upsert(tocreate, results.id);
PardotUtilities.Query(tocreate, results.id);
PardotUtilities.Delete(tocreate, results.id);
// return Ok(update);
return Ok();
}
}
//public class
public class Prospects
{
public String Status { get; set; }
public String Error { get; set; }
public string id { get; set; }
public string email { get; set; }
public string first_name { get; set; }
public string last_name { get; set; }
public string password { get; set; }
public string company { get; set; }
public string website { get; set; }
public string job_title { get; set; }
public string department { get; set; }
public string contry { get; set; }
public string address_one { get; set; }
public string address_two { get; set; }
public string city { get; set; }
public string state { get; set; }
public string territory { get; set; }
public string zip { get; set; }
public string phone { get; set; }
public string fax { get; set; }
public string source { get; set; }
public string annual_revenue { get; set; }
public string employees { get; set; }
public string industry { get; set; }
public string years_in_business { get; set; }
public string comments { get; set; }
public string notes { get; set; }
public string score { get; set; }
public string grade { get; set; }
public string last_activity_at { get; set; }
public string recent_interaction { get; set; }
public string crm_lead_fid { get; set; }
public string crm_contact_fid { get; set; }
public string crm_owner_fid { get; set; }
public string crm_account_fid { get; set; }
public string salesforce { get; set; }
public string crm_last_sync { get; set; }
public string crm_url { get; set; }
public string is_do_not_email { get; set; }
public string is_do_not_call { get; set; }
public string opted_out { get; set; }
public string is_reviewed { get; set; }
public string is_starred { get; set; }
public string created_at { get; set; }
public string updated_at { get; set; }
public List<ProspectFields> updateableField { get; set; }
}
}
/// <remarks/>
[System.SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class prospect
{
private uint idField;
private byte campaign_idField;
private object salutationField;
private string first_nameField;
private string last_nameField;
private string emailField;
private object passwordField;
private string companyField;
private object websiteField;
private object job_titleField;
private object departmentField;
private object countryField;
private object address_oneField;
private object address_twoField;
private object cityField;
private string stateField;
private object territoryField;
private object zipField;
private object phoneField;
private object faxField;
private object sourceField;
private object annual_revenueField;
private object employeesField;
private object industryField;
private object years_in_businessField;
private object commentsField;
private object notesField;
private byte scoreField;
private object gradeField;
private object last_activity_atField;
private string recent_interactionField;
private object crm_lead_fidField;
private object crm_contact_fidField;
private object crm_owner_fidField;
private object crm_account_fidField;
private object salesforce_fidField;
private object crm_last_syncField;
private object crm_urlField;
private object is_do_not_emailField;
private object is_do_not_callField;
private object opted_outField;
private object is_reviewedField;
private object is_starredField;
private string created_atField;
private string updated_atField;
private prospectCampaign campaignField;
private prospectProfile profileField;
private object visitorsField;
private object visitor_activitiesField;
private object listsField;
因为服务器代码明确表示要返回
Ok(idstr);
,而idstr
是PardotUtilities.Create(tocreate);
的返回值,我想这是一个id值。