2015-10-14 4 views
0

Я использую quickbook v3. Я загрузил код PHP SAMPLE из github и хорошо работает. Он создает сотрудника с легкостью, но не создает заказ на покупку.Как создать заказ на поставку в quickbook v3 PHP api

Вот что я сделал до сих пор ..

$linedet = new IPPPurchaseOrderItemLineDetail(); 
$linedet->CustomerRef = 86; 

$line = new IPPLine(); 
$line->Id = 0; 
$line->Description = 'test purchase order'; 
$line->Amount = 2.00; 
$line->DetailType= 'ItemBasedExpenseLineDetail '; 
$line->ItemBasedExpenseLineDetail = $linedet; 
$line->BillableStatus = 'Notbillable'; 
$line->ItemRef = '2'; 
$line->UnitPrice = '25'; 
$line->Qty = '1'; 

$purchaseOrder = new IPPPurchaseOrder(); 
$purchaseOrder->Line = $line; 
$purchaseOrder->VendorRef = 85; 
$purchaseOrder->APAccountRef = 1; 
$purchaseOrder->TotalAmt = 200.00; 
$result = $dataService->Add($purchaseOrder); //add purchase order 

Я получаю следующее сообщение об ошибке, когда я запускаю приведенный выше код

Fatal error: Uncaught IdsException: [0]: Argument Null Exception thrown in D:\xamp\htdocs\projectmanager\wp-content\plugins\quickbook-oauth\v3-php-sdk-2.0.5\DataService\DataService.php on line 312 

При создании заказа на поставку через их api explorer также выбрасывает 400 ошибка

Ваша помощь будет высоко оценена. Спасибо

+0

Не зная ваши номера строк, это трудно сказать, что не установлен, но ошибка должна помочь. Есть аргумент, который вы передаете по строке 312 в своем коде, но он является нулевым и не должен быть. Какую переменную устанавливают на этой строке и на что она должна быть установлена? – gabe3886

+0

Похоже, что 213 находится в SDK, а не там. –

+0

@ gabe3886 Это потому, что тело ответа пусто и выбрасывает исключение –

ответ

0

Ну, я дал неправильную ссылку на объект $ line, и именно поэтому это была ошибка. Теперь я могу легко создать заказ на поставку. Я изменил itemRef до 19, и она работала как шарм

$line->ItemRef = '19';