2

vTigerWebサービスを介して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']);
}

}
?>

そして、私は「ACCESS_DENIED:操作を実行するための許可がidに対して拒否されました」だけを取得します。

Account_idはデータベースに存在します。他のSalesOrderは、同じaccount_idで、ただしWebページを介して追加されました。accout_id = "6x46"(6はmodule_id)のバリアントも試しました。それもうまくいきませんでした。この問題を解決する方法はありますか?

4

3 に答える 3

0

問題は vtiger のドキュメントにあります。GET リクエストにentityNameパラメータを追加します。

var q = "select * from Users;";
"http://vtigercrm/webservice.php?operation=query&sessionName=ABC&entityName=XYZ&query="+q

これは私にとってはうまくいきました。entityName やガベージ文字列を指定してもまだ理解できませんでしたが、プログラムは動作します!!! これについて詳しく知っている場合はコメントしてください。

于 2015-08-27T17:14:23.770 に答える