我想通过vTiger Web服务添加SalesOrder。我将用于此vtwsclib。代码如下:
<?php
include_once('vtwsclib/Vtiger/WSClient.php');
$url = 'http://localhost:8888';
$client = new Vtiger_WSClient($url);
$login = $client->doLogin('admin', 'zzzzzzzz');
if(!$login) echo 'Login Failed';
else {
$data = array(
'subject' => 'Test SalesOrder',
'sostatus' => 'Created',
'invoicestatus'=>'AutoCreated',
'account_id'=> '46', // Existing account id
'bill_street' => 'Bill Street',
'ship_street' => 'Ship Street',
);
$record = $client->doCreate('SalesOrder', $data);
$error = $client->lasterror();
if($error) {
echo $error['code'] . ' : ' . $error['message'];
}
if($record) {
$salesorderid = $client->getRecordId($record['id']);
}
}
?>
而我得到的只有:“拒绝访问:ID”“得操作执行权限被拒绝.
Account_id存在于数据库中。其他SalesOrder是通过网页添加的,但使用了相同的account_id。我还尝试了accout_id =“6x46”的变体,其中6是module_id。它也不起作用。有什么想法如何解决这个问题吗?
4条答案
按热度按时间5sxhfpxr1#
我认为你应该尝试11x46的帐户ID。Vtiger网络服务实体ID与tabid不同。
要获得所有实体ID的正确列表,请在CRM的MySQL中执行以下命令:
zbsbpyhn2#
问题存在于vtiger文档中。在GET请求中添加entityName参数。
这对我来说很有效。虽然仍然不能理解,通过给任何entityName或垃圾字符串,程序工作!!!请评论,如果你知道更多关于这一点。
p4rjhz4m3#
我认为这是@Vtiger的Web服务中的一个bug。您可以按如下所示更改名为
Create.php
的文件:(在 * 之间添加代码)dced5bon4#
这是一种可能有助于生成查询的方法**
q
**例如,您期望:
您可以
这是函数:
我没有考虑XSS注入,因为我预期的查询**
q
**将写入url