2017-04-21 89 views
1

我在写一个wordpress插件,它可以从vTiger Webservice-API查询数据。我阅读了教程(https://wiki.vtiger.com/index.php/Webservices_tutorials#QueryResult)并知道参考文献(https://wiki.vtiger.com/index.php/Webservice_reference_manual)。在教程中使用Zend-JSON和HTTP_Client。我使用cURL(因为它已安装,我认为在安装其他实用程序之前值得尝试使用)。它工作得很好,我可以用我们的API用户登录到vTiger并发送查询。我收到的是这样的:从vTiger webservice获取结果

array(2) { 
    ["success"]=> 
    bool(true) 
    ["result"]=> 
    array(4) { 
    ["sessionName"]=> 
    string(21) "4d103e2058f9d365c22ff" 
    ["userId"]=> 
    string(4) "19x9" 
    ["version"]=> 
    string(4) "0.22" 
    ["vtigerVersion"]=> 
    string(5) "6.5.0" 
    } 
} 

看起来很不错,但我缺少的东西是我的查询的实际数据。

这是我的PHP代码:

$vtiger->initCurl(); 
    $challengeToken = $vtiger->getChallengeToken(); 
    $sessionId = $vtiger->getSessionId($challengeToken); 
    $result = $vtiger->query($sessionId, "SELECT firstname FROM 'Contacts' WHERE lastname = 'XXX';"); 
    $wpdb->replace($wpdb->prefix.$_CONFIG['dbtable'], array('id' => 1, 'syncfields' => $result), array('%d', '%s')); 
    $vtiger->logout($sessionId); 
    $vtiger->closeCurl(); 
    $result = json_decode($result, true); 
    return var_dump(($result['success']) ? $result : "Error"); 

缺少什么我拿到姓名(或从好vtiger-DB任何其他价值)?

在代码中,我只写了对wp-db(extra-Table)的响应。

谢谢,在阵列形式

尼科

回答

1

好vtiger结果返回。你应该改变你的代码

$vtiger->initCurl(); 
$challengeToken = $vtiger->getChallengeToken(); 
$sessionId = $vtiger->getSessionId($challengeToken); 
$result = $vtiger->query($sessionId, "SELECT firstname FROM 'Contacts' WHERE lastname = 'XXX';"); 
$syncfield = result['0']; 
$wpdb->replace($wpdb->prefix.$_CONFIG['dbtable'], array('id' => 1, 'syncfields' => $syncfield), array('%d', '%s')); 
$vtiger->logout($sessionId); 
$vtiger->closeCurl(); 
$result = json_decode($result, true); 
return var_dump(($result['success']) ? $result : "Error"); 

,你也可以使用vtigerCRM的web服务客户端库 http://forge.vtiger.com/projects/vtwsclib/