gpt4 book ai didi

php - QuickBooks API (php) 集成

转载 作者:IT王子 更新时间:2023-10-29 00:01:35 31 4
gpt4 key购买 nike

我是 QuickBooks 的新手。我在 Quick Books 中创建了一个试用帐户,我想在我的帐户中添加客户、创建发票或类似的东西。我已经从 github 下载了 php SDK。现在我不知道如何开始,在客户从我的网站下订单后,从哪里开始将客户添加到我的帐户。谁能帮助我提供一些详细的文档或一些示例,以便我继续前进。我对 Web 应用程序连接器一无所知。我是全新的。谢谢..

最佳答案

这将是一个分为两部分的答案,因为您没有指定您是使用 QuickBooks ONLINE 还是 QuickBooks for WINDOWS。

过程会因您使用的不同而有所不同,因此请注意下面的粗体标题:

对于在线 QuickBooks:

如果您使用的是 open source QuickBooks PHP DevKit来自 GitHub,那么最好的起点是 QuickBooks Online with PHP quick-start指导。

您必须做的第一件事是向 Intuit 注册您的应用程序。当您这样做时,Intuit 将给您这些变量:

  • 应用 token
  • 消费者 secret
  • 消费者 key

您将把这些变量代入 config.php示例中包含的文件。您还将更新这些值以指向您的应用:

  • oauth 网址(例如 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 token 存储的数据库凭据)

除此之外,您可以将 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 . ']');
}

要实现其他功能,您会发现代码中包含其他示例。

可用的对象/方法也反射(reflect)了 Intuit's documentation所以你会想看看那个。

对于 WINDOWS 的 QuickBooks:

对于 Windows 版 QuickBooks,您将使用 Web 连接器。同样,从 open source QuickBooks PHP DevKit 开始来自 GitHub。使用 QuickBooks for Windows + PHP quick-start代替指导。

这将引导您设置一个简单的 Web 连接器服务,该服务将测试客户添加到 QuickBooks。

基本上你会create a .QWC file将其加载到 QuickBooks Web 连接器(开始 > 所有程序 > QuickBooks > Web 连接器)。该 .QWC 文件将指向 PHP script which negotiates the connection between QuickBooks and PHP .在该示例脚本中,您所要做的就是交换此变量:

  • $dsn(指向你自己的数据库)

对于您要添加的每个新功能,您最终将编写一个新的请求和响应函数,详见 QuickBooks Web Connector + PHP docs .

您的代码最终将类似于:

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 lots of example qbXML requests你可以使用。

关于php - QuickBooks API (php) 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20393709/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com