2016-12-20 17 views
1

我一直使用intuit的Quickbooks Api來連接管理面板。 目前僅用於從管理控制檯創建客戶記錄。我可以添加名稱,公司名稱但無法添加電話和電子郵件詳細信息。以下是代碼:對於Quickbooks api中的客戶電話和電子郵件,「爲空值創建默認對象」錯誤

function qb_insert($name,$company,$phone,$email){ 
    $requestValidator = new OAuthRequestValidator(QB_accessToken,QB_accessTokenSecret,QB_consumerKey,QB_consumerSecret); 
    $serviceType= IntuitServicesType::QBO; 
    $serviceContext = new ServiceContext(QB_realmId, $serviceType, $requestValidator); 
    $dataService = new DataService($serviceContext); 

    $customerObj = new IPPCustomer(); 
    $customerObj->Name = $name; 
    $customerObj->CompanyName = $company; 
    $customerObj->GivenName = $name; 
    $customerObj->DisplayName = $name; 
    $customerObj->PrimaryEmailAddr->Address = $email; 
    $customerObj->PrimaryPhone->FreeFormNumber = $phone; 
    $resultingCustomerObj = $dataService->Add($customerObj); 
    return $resultingCustomerObj; 
} 

如果你仔細看看,我一直在使用PrimaryPhone, Phone,AlternatePhone, Mobile, PrimaryEmailAddr但他們沒有工作。 客戶僅使用Name and Company name創建。

在此先感謝。

問候, 阿倫

回答

0

所以我必須回答我的問題:P

我沒有很容易地找到這一點。 我接手給出的輸出細看(SELECT * FROM客戶)使用API​​的查詢,並得到如下:

...blah...blah "PrimaryPhone" :{ "FreeFormNumber" : 74114xxxxx } ...blah...blah

這就是爲什麼我開始使用$customerObj->PrimaryPhone->FreeFormNumber的原因。

我通過API代碼搜索了FreeFormNumber,並在其下創建了IPPTelephoneNumber類。

同樣IPPEmailAddress電子郵件的類。

最後,得到了它的工作做了以下內容:

對於電話

$customerObj->PrimaryPhone = new IPPTelephoneNumber(); $customerObj->PrimaryPhone->FreeFormNumber = $phone;

和電子郵件

$customerObj->PrimaryEmailAddr = new IPPEmailAddress(); $customerObj->PrimaryEmailAddr->Address = $email;

PS:真誠的請求,任何大提供API的產品請提供相關信息例如,而不是加載和加載DOCS!

相關問題