什么是Quickbooks QBMSXML中的InstallationID

时间:2014-04-03 16:44:28

标签: intuit-partner-platform

我有一个qbmsxml我正在发送,继续得到响应错误2000.

<qbmsxml>
  <signonmsgsrq>
    <signondesktoprq>
      <clientdatetime>2014-04-03T09:37:23</clientdatetime>
      <applicationlogin>my.application.login.id</applicationlogin>
      <connectionticket>SDK-MY-Connection-Ticket</connectionticket>
      <language>English</language>
      <appid>9999999999</appid>
      <appver>1.0</appver>
    </signondesktoprq>
  </signonmsgsrq>
  <qbmsxmlmsgsrq>
    <customercreditcardauthrq>
      <transrequestid>140403937231</transrequestid>
      <creditcardnumber>4111111111111111</creditcardnumber>
      <expirationmonth>12</expirationmonth>
      <expirationyear>2017</expirationyear>
      <isecommerce>true</isecommerce>
      <amount>0.01</amount>
      <nameoncard>John Doe</nameoncard>
      <creditcardaddress>1234 Main Street</creditcardaddress>
      <creditcardpostalcode>12345</creditcardpostalcode>
    </customercreditcardauthrq>
  </qbmsxmlmsgsrq>
</qbmsxml>

由于我一直在查看有关创建请求的信息,因此我发现引用了“InstallationID”标记。它像这样进入元素:

  <signonmsgsrq>
    <signondesktoprq>
      <clientdatetime>2014-04-03T09:37:23</clientdatetime>
      <applicationlogin>my.application.login.id</applicationlogin>
      <connectionticket>SDK-MY-Connection-Ticket</connectionticket>
      <installationid>IDTYPE</installationid>
      <language>English</language>
      <appid>9999999999</appid>
      <appver>1.0</appver>
    </signondesktoprq>
  </signonmsgsrq>

我的问题是:InstallationID的IDTYPE是什么?我在哪里可以得到它?我可以将其设置为什么选项?

1 个答案:

答案 0 :(得分:0)

我认为问题根本与您的InstallationID字段无关。我认为问题是你的XML不符合Intuit所期望的。

具体来说,当Intuit期望它是驼峰时,XML请求中的所有内容都是小写的。您还缺少qbmsxml版本标头和xml版本标头。

以下是正确形成的请求的示例:

<?xml version="1.0" encoding="utf-8"?>
<?qbmsxml version="3.0"?>
<QBMSXML>
    <SignonMsgsRq>
        <SignonTicketRq>
            <ClientDateTime>2009-10-09T13:14:16</ClientDateTime>
            <SessionTicket>xxxxxxxxxxxxky4yL6eBtCULX1zgQ:106892184</SessionTicket>
        </SignonTicketRq>
    </SignonMsgsRq>
    <QBMSXMLMsgsRq>
        <CustomerCreditCardChargeRq>
            <TransRequestID>35f9cf7cb20994e8a32e6b3e91e8e602</TransRequestID>
            <CreditCardNumber>xxxxxxxxxxxx5100</CreditCardNumber>
            <ExpirationMonth>10</ExpirationMonth>
            <ExpirationYear>2009</ExpirationYear>
            <Amount>295.00</Amount>
            <NameOnCard>Keith Palmer</NameOnCard>
            <CreditCardAddress>56 Cowles Road</CreditCardAddress>
            <CreditCardPostalCode>06279</CreditCardPostalCode>
        </CustomerCreditCardChargeRq>
    </QBMSXMLMsgsRq>
</QBMSXML>

从哪里获取语法?这似乎非常错误......这里有一些很好的例子: