我正在尝试使用Pipedrive API添加新的优惠。
为此,我已按照本教程:http://support.pipedrive.com/customer/portal/articles/1271064-how-to-send-in-deals-using-a-web-form
但是有些事情我不明白:
"电子邮件API为您的公司提供了一个可用于的特殊电子邮件地址 自动生成潜在客户并添加新的联系人和 组织"
我在哪里可以获得此电子邮件地址,在教程中没有其他提及?
由于我无法按照教程我尝试添加cURL
的新协议,因此代码为:
<?php
$deal = array("item_type" => "deal","stage_id" => 1,"title" => "Atendimento Web Site","organization" => "Company","owner" => "johndoe@company.com.br","visible_to" => 2,"person" => array("name" => $nome,"email" => $email,"organization" => $empresa,"phone" => $tel));
$deal_string = json_encode($deal);
$ch = curl_init('https://api.pipedrive.com/v1/deals?api_token=TOKEN');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $deal_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json, charset=UTF-8',
'Content-Length: ' .strlen($deal_string))
);
echo $deal_string;
echo curl_exec($ch);
?>
这就是我得到的:
iten sent -> {"item_type":"deal","stage_id":1,"title":"Atendimento","organization":"Company","owner":"owner@mail.com.br","visible_to":2,"person":{"name":"Jo\u00e3o Neto","email":"mail@mail.com.br","organization":"Company 2","phone":"7112345678"}}
return from api -> {"success":false,"error":"Deal title must be given.","data":null,"additional_data":null}
错误在哪里?
答案 0 :(得分:3)
关于电子邮件支持,你确实混合了两件事,虽然第一次也发生在我身上。我承认这看起来很奇怪,一个可以使用电子邮件的API。
无论如何,我正在进行Pipedrive和另一个平台之间的简单集成,我使用了完整的REST API。
我注意到每次创建交易时出错或者你在Json中犯了错误(即使标题没问题),你总会得到相同的答案“错误”:“必须给出交易标题。”。在课程中,它对你没有多大帮助。
所以,我建议你使用RESTClient for Firefox这样的工具来开始简化问题,甚至Firebug从https://developers.pipedrive.com/v1嗅探它,利用他们的工具来更好地理解请求。在那之后,你可以做得更复杂。
我给你一个截图,你可以看到最简单的例子。我希望它对任何人都有用
答案 1 :(得分:2)
我会收到一封来自Pipedrive支持部门的电子邮件,内容是完整的。
*您好,
感谢您的光临! 我很遗憾听到这个问题!
所以你把两个完全不同的东西混在一起。您将Email API所需的JSON对象发送到REST API。
您有2个选项。
您可以完全使用电子邮件API。要执行此操作,您需要登录Pipedrive帐户,导航到“设置”,“功能”页面并启用电子邮件API功能。然后单击进入电子邮件API页面,获取发送对象所需的电子邮件地址。然后更改您的PHP代码以将该对象作为纯文本电子邮件发送到该电子邮件地址。不需要卷曲或API令牌。
您可以使用REST API清理要发送的数据对象。但您需要了解REST API与Email API的工作方式略有不同。所以你不能只是随着交易一起发送person对象。您首先需要将具有所有详细信息的人员POST到人员端点并获取ID。然后,您可以在交易POST中使用人员ID。
我希望这会有所帮助
Martin Henk |联合创始人,客户支持主管 Pipedrive *