XERO api-按联系人ID过滤预付款

时间:2019-03-14 11:30:19

标签: xero-api

您好,我需要在指定的日期范围内提取对特定供应商(联系人ID为aa941766-b505-4c0d-ae61-16ee78ec995e)所做的prepayments

GET https://api.xero.com/api.xro/2.0/Prepayments

查询参数

  

其中=日期> =日期时间(2019,01,02)&&日期<日期时间(2019,03,12)&&联系人ID =“ aa941766-b505-4c0d-ae61-16ee78ec995e”

我正在测试其他客户端。产生的GET请求

https://api.xero.com/api.xro/2.0/Prepayments?where=Date%20%3E%3D%20DateTime(2019,%2001,%2002)%20%26%26%20Date%20%3C%20DateTime(2019,%2003,%2012)%20%26%26%20ContactID%20%3D%20%22aa941766-b505-4c0d-ae61-16ee78ec995e%22

但是得到这400个错误响应

  

{     “ ErrorNumber”:16     “ Type”:“ QueryParseException”,     “消息”:“类型'BankTransaction'中不存在属性或字段'ContactID'”   }

1 个答案:

答案 0 :(得分:1)

您需要遵循响应中期望的对象结构:ContactID属性位于预付款项的Contact元素中,因此可以尝试使用Contact.ContactID而不是仅ContactID。

您还需要解析ContactID guid以在where子句中使用,如下所示:

def xmlReader(root, row, filename):

  df2 = spark.read.format("com.databricks.spark.xml").options(rowTag=row, rootTag=root).load(filename)
  xref = df2.select("genericEntity.entityDetail", "genericEntity.entityDetialId","genericEntity.updateTimestamp")
  return xref

df3 = xmlReader("BOBML","s3://dev.xml")

df3.head()