如何从PHP页面使用Zoho CRM API V2?

问题描述 投票:0回答:1

我试图在Zoho CRM上存储和检索一些值,最终使用了API的V1。

我当前的代码是:

<html>
<head>  
          <meta content="width=320px, initial-scale=1, user-scalable=yes" name="viewport" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>

<body>
<div id="logform">
      <form method="POST" onClick="exec()">
<b>Login To Continue:</b><br/><br/>
 <b>Name:</b><input type="text" id="name" name='name' value=""><br/>
 <b>Email:</b><input type="email" id="email" name='email' value="" ><br/>
 <input type="submit" name="submit"value="Submit" id="submit" >Submit</button>
 <!--<font color="white"><input type="button" ></a>-->
</form></div>

<script type="text/javascript">
        <script type="text/javascript">
        function exec() { 
            var mail=document.getElementById("email").innerHTML;
            var namen=document.getElementById("name");
            document.cookie = "name="+namen;
            var phpadd= <?php echo sendData();?> ;
        }
        </script>

        <script type="text/javascript">document.getElementById("submit").addEventListener("click", var hide = document.getElementById("logform").style.display="none";);
        </script>
</script>

      <?php 
function sendData()
{
    $email=$_POST["email"]; 
        $name=$_POST["name"]; 

        $cookie_name = "Event";
        $cookie_value = "Login";

setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
        $fname="Usr";
        $lname="1";
        $auth="#AuthKey";
        $xml = 
        '<?xml version="1.0" encoding="UTF-8"?>
        <Contacts>
        <row no="1">
        <FL val="First Name">'.$name.'</FL>
              <FL val="Last Name">'.$name.'</FL>
        <FL val="Email">'.$email.'</FL>
        <FL val="Department">Medical</FL>
        <FL val="Phone">0000000000</FL>
        <FL val="Fax">0000</FL>
        <FL val="Mobile">0000000000</FL>
        <FL val="Assistant">none</FL>
        </row>
        </Contacts>';

    $url ="https://crm.zoho.com/crm/private/xml/Contacts/insertRecords";
    $query="authtoken=".$auth."&scope=crmapi&newFormat=1&xmlData=".$xml;
    $ch = curl_init();
    /* set url to send post request */
    curl_setopt($ch, CURLOPT_URL, $url);
    /* allow redirects */
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    /* return a response into a variable */
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    /* times out after 30s */
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    /* set POST method */
    curl_setopt($ch, CURLOPT_POST, 1);
    /* add POST fields parameters */
    curl_setopt($ch, CURLOPT_POSTFIELDS, $query);// Set the request as a POST FIELD for curl.

    //Execute cUrl session
    $response = curl_exec($ch);
    curl_close($ch);
    echo $response;

}
?>

</body>

</html>

现在,我知道API v1已被弃用。我需要将这段代码迁移到CRM API V2。我还需要阅读上传到CRM的这些数据。有人请帮助我!在线文档非常令人困惑。

php html crm zoho
1个回答
0
投票

是的,V1将在30天内折旧。

最简单的切换方法可能是使用Zoho PHP SDK。它可能作为作曲家软件包安装。

SDK具有相当复杂的,大多没有充分记录的API,但是,按照documentation中的示例,您应该能够弄清楚如何使用它。

您很可能想使用“ Records API”。

如果您还从未使用过oAuth2,则此身份验证系统的基本思想是,与服务提供商(Zoho)交换令牌,而不是使用“秘密密钥”(本质上是密码)之类的东西。]

令牌就像是密码,很快就会过期,但是您可以随时更新它们。

通常,您将希望完全自动化并抽象化所有令牌管理,因此它将与您的代码所从事的主要业务分开运行。

幸运的是,Zoho PHP SDK已经为您完成并自动管理令牌。

© www.soinside.com 2019 - 2024. All rights reserved.