[英]How to post form data for new person to Pipedrive (API) via REST
这是不起作用的表格:
<form action="https://api.pipedrive.com/v1/persons" method="post">
<!-- These hidden fields have valid values, just not shown here -->
<input type="hidden" name="owner_id" id="owner_id" value="my-id" />
<input type="hidden" name="org_id" id="org_id" value="my-company-id" />
<input type="hidden" name="api_token" id="api_token" value="my-api-key" />
<input type="hidden" name="stage_id" id="stage_id" value="35" />
<b>Name</b><br/>
<input type="text" name="name" id="name" id="name"/>
<br/><br/>
<b>E-mail</b><br/>
<input type="text" name="email" id="email" id="email"/>
<br/><br/>
<b>Arrival</b><br/>
<input type="text" name="2fdf1284127d702e42595ce20bd8ffdf60763105" id="2fdf1284127d702e42595ce20bd8ffdf60763105"/>
<br/><br/>
<b>Departure</b><br/>
<input type="text" name="2492a5afed2a9cb7948d6a22135fd4dd80de200c" id="2492a5afed2a9cb7948d6a22135fd4dd80de200c"/>
<br/><br/>
<b>Message</b><br/>
<textarea style="width:300px; hight:70px;" id="7433280b87ffc7c1e3fd615eb35526273bcea6cf" name="7433280b87ffc7c1e3fd615eb35526273bcea6cf"></textarea>
<br/><br/>
<input type="submit" value="Remitir"/>
</form>
提交后,返回以下响应:
{"success":false,"error":"Organization not found.","data":null,"additional_data":null}
通过 REST 成功添加新人员缺少什么?
这是 API : https : //developers.pipedrive.com/v1
非常感谢您的解决方案。
你可以做这样的事情
<script language="javascript" type="text/javascript">
function pDriveIntegration()
{
var url = "https://api.pipedrive.com/v1";
var rsrc_deals = "/deals";
var api_token = "YOUR_API_TOKEN";
var deal
Json = '{' + '"title":"' + name + '","org_id":"?"' +
',"value":"0"' + ',"currency":"GBP"' + ',"stage_id":"?"' +
',"visible_to":"?"' + ',"status":"open"' + '"}';
var xhrDeal = new XMLHttpRequest();
xhrDeal.onreadystatechange = function()
{
if (xhrDeal.readyState == 4 && xhrDeal.status == 201) {
var obj = JSON.parse(xhrDeal.responseText);
var deal_id = obj.data.id;
}
}
xhrDeal.open("POST", url + rsrc_deals + "?" + "api_token" + "=" + api_token, false);
xhrDeal.setRequestHeader("Content-type", "application/json");
xhrDeal.send(dealJson);
</script>
</head>
<body>
<form ...........>
<input type="submit" onclick="pDriveIntegration();"
</form>
因此你需要 AJAX。 即使可以仅使用 HTML 表单执行此操作,您也必须对 JSON 进行编码以与帖子一起发送。 老实说,我尝试过,但在任何浏览器中总是出现一些错误。
我注意到这根本不安全,因为有人能够看到您的源代码并通过浏览器获取您的 API_TOKEN。 我的意思是有人可以获得您的所有信息(我转向其他解决方案,而不仅仅是使用 HTML 和 AJAX)。
但无论如何,这是了解您需要的一切的良好开端。
我还建议考虑“人”。 例如,在创建新交易之前我找到了这个人。 如果他/她存在,我不会创建它,我会得到它的 ID,然后我会进行交易。
但是,在另一种情况下,如果这个人不存在,我会先创建一个人。 之后,我将在交易中使用其 ID。
我希望它会很有用。
再见
使用php,会是这样的:
// ================================== //
// API token
// ================================== //
$api_token = 'xxxxxxxxxxxxxxxxxxxxxx';
// ================================== //
// FORM INPUT CAPTURE
// ================================== //
$name = $_POST['inputname'];
$phone = $_POST['inputphone'];
$mail = $_POST['inputmail'];
// ================================== //
// PERSON'S API Key fields' Array values
// ================================== //
$persons = array(
'name' => $name,
'email' => $mail,
'phone' => $phone
);
// ================================== //
// API PERSONS domain
// ================================== //
$url1 = 'https://personalpipedriveadress.pipedrive.com/v1/persons?api_token=' . $api_token;
// ================================== //
// CURL access
// ================================== //
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url1);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $persons);
echo 'Sending USER request...' . '<br>';
$output1 = curl_exec($ch1);
curl_close($ch1);
// ================================== //
// API array data convert to JSON format
// ================================== //
$result1 = json_decode($output1, true);
// ================================== //
// Check if an ID came back and print it
// ================================== //
if (!empty($result1['data']['id'])) {
echo 'Person was added successfully!' . '<br>';
}
else {
echo 'ERROR adding person';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.