我是QuickBooks的新手.我在Quick Books中创建了一个试用帐户,我想在我的帐户中添加客户,创建发票或类似的东西.我从github下载了php SDK.现在我不知道如何开始,从客户从我的网站下订单后从哪里开始将客户添加到我的帐户.任何人都可以帮我一些详细的文档或一些例子,以便我可以继续前进.我对Web应用程序连接器一无所知.我是全新的.谢谢..
这将是一个由两部分组成的答案,因为您没有指定是使用QuickBooks ONLINE还是QuickBooks for WINDOWS.
该过程将根据您使用的不同而不同,因此请注意以下粗体标题:
对于QuickBooks ONLINE:
如果你正在使用GitHub的开源QuickBooks PHP DevKit,那么最好的起点是QuickBooks Online with PHP快速入门指南.
http://www.consolibyte.com/docs/index.php/PHP_DevKit_for_QuickBooks_-_Intuit_Partner_Platform_Quick-Start
您要做的第一件事就是使用Intuit注册您的应用程序.当你这样做时,Intuit 会给你这些变量:
应用令牌
消费者的秘密
消费者密钥
您将这些变量替换为示例中包含的config.php文件.您还将更新这些值以指向您的应用:
oauth url(例如your-site.com/path/to/example/oauth.php)
成功网址(例如your-site.com/path/to/example/success.php)
菜单网址(例如your-site.com/path/to/example/menu.php)
dsn(您的OAuth令牌存储的数据库凭据)
除此之外,您可以将config.php中的所有其他变量保留为默认值.
如果您随后访问index.php文件,它将提示您连接到QuickBooks.您可以连接,然后访问示例文件.以下是向QuickBooks Online添加客户/订单的一些示例:
QuickBooks Online - 使用PHP添加客户
QuickBooks Online - 使用PHP添加发票
代码最终看起来像:
$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 . ']'); }
要实现其他功能,您可以在代码中找到其他示例.
可用的对象/方法也反映了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之间的连接.您在该示例脚本中所要做的就是交换此变量:
$ dsn(指向你自己的数据库)
对于要添加的每个新功能,您最终将编写新的请求和响应函数,详见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; }
您可以使用QuickBooks OSR找到其他qbXML参考.
我们还提供了一个wiki,其中包含许多可以使用的示例qbXML请求.