如何使用网络表单发送交易?

时间:2014-01-16 13:54:34

标签: php json pipedrive-api

我正在尝试使用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}

错误在哪里?

2 个答案:

答案 0 :(得分:3)

关于电子邮件支持,你确实混合了两件事,虽然第一次也发生在我身上。我承认这看起来很奇怪,一个可以使用电子邮件的API。

无论如何,我正在进行Pipedrive和另一个平台之间的简单集成,我使用了完整的REST API。

我注意到每次创建交易时出错或者你在Json中犯了错误(即使标题没问题),你总会得到相同的答案“错误”:“必须给出交易标题。”。在课程中,它对你没有多大帮助。

所以,我建议你使用RESTClient for Firefox这样的工具来开始简化问题,甚至Firebug从https://developers.pipedrive.com/v1嗅探它,利用他们的工具来更好地理解请求。在那之后,你可以做得更复杂。

我给你一个截图,你可以看到最简单的例子。我希望它对任何人都有用

example of request pipedrive

答案 1 :(得分:2)

我会收到一封来自Pipedrive支持部门的电子邮件,内容是完整的。

*您好,

感谢您的光临! 我很遗憾听到这个问题!

所以你把两个完全不同的东西混在一起。您将Email API所需的JSON对象发送到REST API。

您有2个选项。

  1. 您可以完全使用电子邮件API。要执行此操作,您需要登录Pipedrive帐户,导航到“设置”,“功能”页面并启用电子邮件API功能。然后单击进入电子邮件API页面,获取发送对象所需的电子邮件地址。然后更改您的PHP代码以将该对象作为纯文本电子邮件发送到该电子邮件地址。不需要卷曲或API令​​牌。

  2. 您可以使用REST API清理要发送的数据对象。但您需要了解REST API与Email API的工作方式略有不同。所以你不能只是随着交易一起发送person对象。您首先需要将具有所有详细信息的人员POST到人员端点并获取ID。然后,您可以在交易POST中使用人员ID。

  3. 我希望这会有所帮助

    Martin Henk |联合创始人,客户支持主管 Pipedrive *