如何通过REST将新人的表单数据发布到Pipedrive(API)

iam*_*toc 3 rest json pipedrive-api

这是不起作用的表单:

<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>
Run Code Online (Sandbox Code Playgroud)

提交后,将返回以下响应:

{"success":false,"error":"Organization not found.","data":null,"additional_data":null}
Run Code Online (Sandbox Code Playgroud)

成功添加通过REST添加新人的缺失是什么?

这是API:https://developers.pipedrive.com/v1

非常感谢您的解决方案.

ack*_*ser 6

你可以做那样的事情

<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>
Run Code Online (Sandbox Code Playgroud)

因此你需要AJAX.即使只能使用HTML表单也可以这样做,您必须对JSON进行编码以便与帖子一起发送.说实话,我试过,但我总是在任何浏览器中都有一些错误.

我注意到这根本不安全,因为有人能够通过浏览器看到您的源代码并获得API_TOKEN.我的意思是有人可以得到你所有的信息(我转向其他解决方案,而不仅仅使用HTML和AJAX).

但无论如何,这是一个很好的开始,了解你需要的一切.

我也建议考虑一下"人".例如,在创建新交易之前,我找到了这个人.如果他/她存在,我将不会创造它,我得到它的身份,我将接受交易.

但是,在另一种情况下,如果这个人不存在,我会创造一个人而不是所有人.在那之后,我会在交易中使用它的ID.

我希望它会有用.

Byee