在PHP中通过WebConnector在QuickBook中添加/更新自定义字段

时间:2014-09-22 14:13:00

标签: php soap quickbooks intuit-partner-platform quickbooks-online

我正在开发与Sugar CRM的QuickBook Webconnector集成。我已经成功插入/更新了客户记录但是我在XML请求中遗漏了一些东西当我在QuickBook中添加Custome字段时。

这是我的XML请求。

function _quickbooks_customer_update_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 customer WHERE id = " . (int) $ID));

$xml = '<?xml version="1.0" encoding="utf-8"?>
        <?qbxml version="2.0"?>
        <QBXML>
            <QBXMLMsgsRq onError="stopOnError">
            <CustomerModRq>
                <CustomerMod>
                    <ListID>' . $arr['ListID'] . '</ListID>
                    <EditSequence>' . $arr['EditSequence'] . '</EditSequence>
                    <Name>' . $arr['Name'] . '</Name>
                    <CompanyName>' . $arr['Name'] . '</CompanyName>
                    <FirstName>' . $arr['FirstName'] . '</FirstName>
                    <LastName>' . $arr['LastName'] . '</LastName>

                    <BillAddress>                                       <!-- opt -->
                        <Addr1>' . $arr['Addr1'] . '</Addr1>                            <!-- opt, max length = 41 for QBD|QBCA|QBUK|QBAU, max length = 500 for QBOE -->
                        <Addr2>' . $arr['Addr2'] . '</Addr2>                            <!-- opt, max length = 41 for QBD|QBCA|QBUK|QBAU, max length = 500 for QBOE -->
                        <City>' . $arr['City'] . '</City>                              <!-- opt, max length = 31 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                        <State>' . $arr['State'] . '</State>                            <!-- opt, max length = 21 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                        <PostalCode>' . $arr['PostalCode'] . '</PostalCode>                  <!-- opt, max length = 13 for QBD|QBCA|QBUK|QBAU, max length = 30 for QBOE -->
                        <Country>' . $arr['Country'] . '</Country>                        <!-- opt, max length = 31 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                    </BillAddress>

                    <ShipAddress>                                       <!-- opt -->
                        <Addr1>' . $arr['Addr1'] . '</Addr1>                            <!-- opt, max length = 41 for QBD|QBCA|QBUK|QBAU, max length = 500 for QBOE -->
                        <Addr2>' . $arr['Addr2'] . '</Addr2>                            <!-- opt, max length = 41 for QBD|QBCA|QBUK|QBAU, max length = 500 for QBOE -->
                        <City>' . $arr['City'] . '</City>                              <!-- opt, max length = 31 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                        <State>' . $arr['State'] . '</State>                            <!-- opt, max length = 21 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                        <PostalCode>' . $arr['PostalCode'] . '</PostalCode>                  <!-- opt, max length = 13 for QBD|QBCA|QBUK|QBAU, max length = 30 for QBOE -->
                        <Country>' . $arr['Country'] . '</Country>                        <!-- opt, max length = 31 for QBD|QBCA|QBUK|QBAU, max length = 255 for QBOE -->
                    </ShipAddress>
                    <Phone>' . $arr['Phone'] . '</Phone>                              <!-- opt, max length = 21 -->
                    <Fax>' . $arr['Fax'] . '</Fax>                                  <!-- opt, max length = 21 -->
                    <Email>' . $arr['Email'] . '</Email>
                </CustomerMod>
            </CustomerModRq>
                <DataExtModRq>
                    <DataExtMod>
                        <OwnerID>0</OwnerID>
                        <DataExtName>SugarCRMId</DataExtName>
                        <ListDataExtType>Customer</ListDataExtType>
                        <ListObjRef>
                                <FullName>' . $arr['Name'] . '</FullName>
                        </ListObjRef>
                        <DataExtValue>52</DataExtValue>
                    </DataExtMod>
                </DataExtModRq>
            </QBXMLMsgsRq>
        </QBXML>';
    return $xml;
}

此请求执行withoput生成错误但未在QuickBook的自定义字段中添加值。

自定义字段名称为&#34; SugarCRMId&#34; ,其数据源为任意文本。

如果您了解此问题,请指导我。 在此先感谢

0 个答案:

没有答案