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

时间:2013-12-04 22:19:34

标签: php quickbooks quickbooks-online

我正在使用Saas并且一直在使用Keith Palmer的PHP Dev Kit。

在大多数情况下,它运作良好 - 我可以下载客户,添加客户并添加我想要实现的发票。

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

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

创建的

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

基本的细节保存得很好,但是我在地址上做错了什么?

我查看了示例(这是我如何获得保存的基本细节),但没有看到如何添加它。

有谁知道如何保存地址详情?

1 个答案:

答案 0 :(得分:2)

假设您使用的是最新的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));
        }

您可以在此处获取最新代码:

这里包含一个例子:

对象的可用方法完全反映了Intuit定义的in their docs的XML节点名称。

因此,如果他们有一个名为:

的节点
  • BillAddr

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

  • QuickBooks_IPP_Object_BillAddr

如果他们有节点名称:

  • 线路1
  • 线路2
  • CountrySubDivisionCode

然后你会有相应的方法:

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