【问题标题】:ZOQL Execution via Zuora REST API通过 Zuora REST API 执行 ZOQL
【发布时间】:2016-11-07 11:02:49
【问题描述】:

我正在尝试通过 Zuora REST API 执行一些 ZOQL。

我参考了this doc,我正在使用 REST 端点 v1/action/query 来执行 ZOQL。

首先我尝试了非常简单的请求并得到了结果

{
  "queryString": "select AccountId, FirstName, LastName from contact"
}

现在我尝试使用如下星号查询

{
  "queryString": "select * from contact"
}

但我得到以下错误

{
  "faultcode": "fns:MALFORMED_QUERY",
  "faultstring": "You have an error in your ZOQL syntax",
  "detail": {
    "MalformedQueryFault": {
      "FaultCode": "MALFORMED_QUERY",
      "FaultMessage": "You have an error in your ZOQL syntax"
    }
  }
}

here,我发现ZOQL支持星号。对于涉及多个对象的 ZOQL,我什至遇到了同样的错误。喜欢

SELECT Subscription.Name, Account.Name FROM Subscription WHERE Subscription.Status='Active' AND DefaultPaymentMethod.CreditCardType='Visa'

编辑 上述查询在 Zuora SOAP API 中也不起作用

如何在 Zuora REST API 或 Zuora SOAP API 中执行带星号的查询?

【问题讨论】:

    标签: rest zuora zuora-soap


    【解决方案1】:

    在 ZOQL 中使用 Asterix 进行查询:

    简而言之:您就是不能使用 asterix。

    更多信息:

    来自祖拉KnowledgeCenter

    不支持通配符

    不能在字段名称中使用星号通配符 (*) 查询()调用。您必须明确指定字段名称。

    上面你提到的source说你可以使用asterix,不是关于ZOQL,而是关于Export ZOQL

    Export ZOQLZOQ不同,如上述docs 所述:

    Zuora Export ZOQL(Zuora Object Query Language)是查询语言 用于使用 Zuora SOAP API 中的导出对象创建导出。 Zuora Export ZOQL 和我们一般的 ZOQL 差不多,有几个 差异。最大的不同是,使用 Exports,您可以查询一个 Zuora 数据源,不是 SOAP API 对象。

    希望对你有所帮助。

    祝你好运!

    【讨论】:

      【解决方案2】:

      在查询中使用 * 是因为:

      1) 你想要所有可用的字段

      2) 您想了解可用的字段。

      对于后一种情况,使用REST服务的Describe函数如下:

      https://{servicename}.zuora.com:####/v1/describe/Invoice

      这将返回发票(或任何其他)对象的 XML 描述:

      <?xml version="1.0" encoding="UTF-8"?>
      <object href="https://services470.zuora.com/apps/api/describe/Invoice">
          <name>Invoice</name>
          <label>Invoice</label>
          <fields>
              <field>
                  <name>AccountId</name>
                  <label>Account ID</label>
                  <selectable>true</selectable>
                  <createable>true</createable>
                  <updateable>false</updateable>
                  <filterable>true</filterable>
                  <custom>false</custom>
                  <maxlength></maxlength>
                  <required>true</required>
                  <type>text</type>
                  <contexts>
                      <context>soap</context>
                  </contexts>
              </field>
              <field>
                  <name>AdjustmentAmount</name>
                  <label>Adjustment Amount</label>
                  <selectable>true</selectable>
                  <createable>false</createable>
                  <updateable>false</updateable>
                  <filterable>true</filterable>
                  <custom>false</custom>
                  <maxlength></maxlength>
                  <required>true</required>
                  <type>decimal</type>
                  <contexts>
                      <context>soap</context>
                      <context>export</context>
                  </contexts>
              </field>
          <!-- All fields for Invoice...ETC   -->
      </fields>
      </object>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-02
        相关资源
        最近更新 更多