如何将Quickbooks桌面应用程序与PHP(Web应用程序)集成?

3
在我的应用程序中,我想使用php通过PHP集成QuickBooks。因此,从具有PHP的Web服务器中,我希望调用QuickBooks桌面版本应用程序来推送数据和检索数据。
我卡在这里了,我不知道该从哪里开始?有人建议我从WebConnector开始。我想知道像其他Web服务一样,我们需要将数据推送到URL,然后他们会完成剩下的工作。是这样吗?还是我需要遵循其他流程?
所以,请问有没有人可以帮助我?我想了解完整的过程,如果有PHP的示例代码可用,那就更好了。
要求: 1. 我的应用程序在Filemaker中。 2. Filemaker将数据发送到PHP文件。 3. 然后,PHP文件将数据(以QBXML格式)发送到Quickbooks桌面应用程序。
请帮忙,谢谢。
4个回答

5

这里有一个PHP QuickBooks库,可以完全满足您的需求。

您可以按照QuickBooks PHP Web连接器快速入门指南开始操作。您需要设计应用程序,以便您的PHP脚本可以接收数据,在数据库(MySQL等)中临时存储数据,然后Web连接器可以从那里获取即将发送到QuickBooks的数据。

Web Connector与标准Web服务有所不同,它以一种反向方式工作 - Web Connector将调用您的PHP Web服务,而不是您调用它。

这里有一个关于Web Connector工作原理的概述

您应该参考此脚本(如上面的快速入门指南所示):

您最终需要编写生成类似以下qbXML请求的函数:

<?php

/**
 * Example Web Connector application
 * 
 * This is a very simple application that allows someone to enter a customer 
 * name into a web form, and then adds the customer to QuickBooks.
 * 
 * @author Keith Palmer <keith@consolibyte.com>
 * 
 * @package QuickBooks
 * @subpackage Documentation
 */

/**
 * Generate a qbXML response to add a particular customer to QuickBooks
 */
function _quickbooks_customer_add_request($requestID, $user, $action, $ID, $extra, &$err, $last_action_time, $last_actionident_time, $version, $locale)
{
        // Grab the data from our MySQL database
        $arr = mysql_fetch_assoc(mysql_query("SELECT * FROM my_customer_table WHERE id = " . (int) $ID));

        $xml = '<?xml version="1.0" encoding="utf-8"?>
                <?qbxml version="2.0"?>
                <QBXML>
                        <QBXMLMsgsRq onError="stopOnError">
                                <CustomerAddRq requestID="' . $requestID . '">
                                        <CustomerAdd>
                                                <Name>' . $arr['name'] . '</Name>
                                                <CompanyName>' . $arr['name'] . '</CompanyName>
                                                <FirstName>' . $arr['fname'] . '</FirstName>
                                                <LastName>' . $arr['lname'] . '</LastName>
                                        </CustomerAdd>
                                </CustomerAddRq>
                        </QBXMLMsgsRq>
                </QBXML>';

        return $xml;
}

4
您的图书馆已经非常过时。不支持PDO,结构过于复杂,方法也过时。可以期待更新版本吗? - Alex G

1

0

您提供的链接是关于QuickBooks在线版的。问题是关于QuickBooks桌面版的,因此我认为已接受的答案仍然是最佳解决方案。 - Roger Dueck

-2

1
这个问题是关于桌面 PHP API 而不是 Quickbook 在线版的。 - user583713

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接