将具有地址详细信息的客户添加到QuickBooks


Adding a customer with address details to QuickBooks

我正在开发Saas,并且一直在使用Keith Palmer的PHP开发工具包。

在大多数情况下,它运行得非常好——我可以下载客户、添加客户和添加发票,这正是我想要实现的。

但是,在添加客户时,我似乎无法添加地址和电话详细信息。我尝试过各种策略,但都没有奏效。由于我需要在某种程度上同步数据,所以我真的需要它来添加这些字段。

我的客户对象是用$Customer = new QuickBooks_IPP_Object_Customer(); 创建的

我尝试创建$Address = new QuickBooks_IPP_Object_Address()然后在填充地址对象之后添加$Customer->addAddress($Address),但仍然没有。

基本细节保存得很好,但我的地址怎么了?

我浏览了这些例子(这就是我如何获得要保存的基本细节),但没有看到如何添加这些。

有人知道如何保存地址详细信息吗?

假设您使用的是最新的v3 API和GitHub的最新代码,那么您的代码应该如下所示:

        $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 . ']');
        }
        else
        {
                print($CustomerService->lastError($Context));
        }

你可以在这里获得最新代码:

  • GitHub上的开源QuickBooks PHP DevKit

这里包括一个例子:

  • 使用PHP将客户添加到QuickBooks Online的示例

对象可用的方法正好反映Intuit在其文档中定义的XML节点名称。

因此,如果他们有一个名为的节点

  • BillAddr

然后你会有一个相应的对象:

  • QuickBook_IPP_Object_BillAddr

如果它们有节点名称:

  • 第1行
  • 第2行
  • 城市
  • CountrySubDivisionCode

然后你会有相应的方法:

  • ->setLine1($val)和->getLine1()
  • ->setLine2($val)和->getLine2()
  • ->setCity($val)和->getCity()
  • ->setCountrySubDivisionCode($val)和->getCountrySubDivision Code()