我是QuickBooks的新手.我在Quick Books中创建了一个试用帐户,我想在我的帐户中添加客户,创建发票或类似的东西.我从github下载了php SDK.现在我不知道如何开始,从客户从我的网站下订单后从哪里开始将客户添加到我的帐户.任何人都可以帮我一些详细的文档或一些例子,以便我可以继续前进.我对Web应用程序连接器一无所知.我是全新的.谢谢..
Kei*_*Jr. 38
这将是一个由两部分组成的答案,因为您没有指定是使用QuickBooks ONLINE还是QuickBooks for WINDOWS.
该过程将根据您使用的不同而不同,因此请注意以下粗体标题:
对于QuickBooks ONLINE:
如果你正在使用GitHub的开源QuickBooks PHP DevKit,那么最好的起点是QuickBooks Online with PHP快速入门指南.
您要做的第一件事就是使用Intuit注册您的应用程序.当你这样做时,Intuit 会给你这些变量:
您将这些变量替换为示例中包含的config.php文件.您还将更新这些值以指向您的应用:
除此之外,您可以将config.php中的所有其他变量保留为默认值.
如果您随后访问index.php文件,它将提示您连接到QuickBooks.您可以连接,然后访问示例文件.以下是向QuickBooks Online添加客户/订单的一些示例:
代码最终看起来像:
$CustomerService = new QuickBooks_IPP_Service_Customer();
$Customer = new QuickBooks_IPP_Object_Customer();
$Customer->setTitle('Mr');
$Customer->setGivenName('Keith');
$Customer->setMiddleName('R');
$Customer->setFamilyName('Palmer');
$Customer->setDisplayName('Keith R Palmer Jr ' . mt_rand(0, 1000));
// Phone #
$PrimaryPhone = new QuickBooks_IPP_Object_PrimaryPhone();
$PrimaryPhone->setFreeFormNumber('860-532-0089');
$Customer->setPrimaryPhone($PrimaryPhone);
// Bill address
$BillAddr = new QuickBooks_IPP_Object_BillAddr();
$BillAddr->setLine1('72 E Blue Grass Road');
$BillAddr->setLine2('Suite D');
$BillAddr->setCity('Mt Pleasant');
$BillAddr->setCountrySubDivisionCode('MI');
$BillAddr->setPostalCode('48858');
$Customer->setBillAddr($BillAddr);
if ($resp = $CustomerService->add($Context, $realm, $Customer))
{
print('Our new customer ID is: [' . $resp . ']');
}
Run Code Online (Sandbox Code Playgroud)
要实现其他功能,您可以在代码中找到其他示例.
可用的对象/方法也反映了Intuit的文档,因此您需要查看它.
对于WINDOWS的QuickBooks:
对于QuickBooks for Windows,您将使用Web连接器.再次,从GitHub的开源QuickBooks PHP DevKit开始.请改用QuickBooks for Windows + PHP快速入门指南.
这将指导您设置一个简单的Web连接器服务,该服务将测试客户添加到QuickBooks.
基本上,您将创建一个.QWC文件,您将加载到QuickBooks Web连接器(开始>所有程序> QuickBooks> Web连接器).该.QWC文件将指向一个PHP脚本,它协商QuickBooks和PHP之间的连接.您在该示例脚本中所要做的就是交换此变量:
对于要添加的每个新功能,您最终将编写新的请求和响应函数,详见QuickBooks Web Connector + PHP文档.
您的代码最终会看起来像:
function _quickbooks_customer_add_request($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)
{
// You'd probably do some database access here to pull the record with
// ID = $ID from your database and build a request to add that particular
// customer to QuickBooks.
//
// So, when you implement this for your business, you'd probably do
// something like this...:
/*
// Fetch your customer record from your database
$record = mysql_fetch_array(mysql_query("SELECT * FROM your_customer_table WHERE your_customer_ID_field = " . (int) $ID));
// Create and return a qbXML request
$qbxml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="' . $requestID . '">
<CustomerAdd>
<Name>' . $record['your_customer_name_field'] . '</Name>
<CompanyName>' . $record['your_customer_company_field'] . '</CompanyName>
... lots of other customer related fields ...
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>';
return $qbxml;
*/
// But we're just testing, so we'll just use a static test request:
$xml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="' . $requestID . '">
<CustomerAdd>
<Name>ConsoliBYTE, LLC (' . mt_rand() . ')</Name>
<CompanyName>ConsoliBYTE, LLC</CompanyName>
<FirstName>Keith</FirstName>
<LastName>Palmer</LastName>
<BillAddress>
<Addr1>ConsoliBYTE, LLC</Addr1>
<Addr2>134 Stonemill Road</Addr2>
<City>Mansfield</City>
<State>CT</State>
<PostalCode>06268</PostalCode>
<Country>United States</Country>
</BillAddress>
<Phone>860-634-1602</Phone>
<AltPhone>860-429-0021</AltPhone>
<Fax>860-429-5183</Fax>
<Email>Keith@ConsoliBYTE.com</Email>
<Contact>Keith Palmer</Contact>
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>';
return $xml;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用QuickBooks OSR找到其他qbXML参考.
我们还提供了一个wiki,其中包含许多可以使用的示例qbXML请求.
归档时间: |
|
查看次数: |
27566 次 |
最近记录: |