现在,我有一种非常昂贵的(API密集型)方式来获取每个客户的访问历史记录。 首先我获取每个客户端ID,然后我调用GetClientVisits来获取每个客户端的历史记录。是否有一种较少API的方式来做到这一点?
见下面的代码:
clientService = ClientServiceCalls()
clientResponse = clientService.GetClientsByString(self.USER_NAME, self.USER_PASSWORD, self.SITE_IDS, '')
clientList = clientResponse.Clients.Client
clientVisitsDict = []
for c in clientList:
clientResponseVisits = clientService.GetClientVisits(self.USER_NAME, self.USER_PASSWORD, self.SITE_IDS, str(c.ID), oneMonthAgo, datetime.today())
if clientResponseVisits.Visits:
visitsList = clientResponseVisits.Visits.Visit
for v in visitsList:
q = {}
q['cust_id'] = str(c.ID)
q['timeframe'] = str(datetime.now().month) + '-' + str(datetime.now().year)
q['profile'] = str(self.PROFILE)
q['cust_name'] = str(c.FirstName) + ' ' + str(c.LastName)
q['class_id'] = str(v.ClassID)
q['class_time'] = str(v.ClassID)
q['class_name'] = str(v.Name)
q['class_location'] = str(v.Location.Name)
q['class_instructor_id'] = str(v.Staff.ID)
q['class_instructor_name'] = str(v.Staff.Name)
print q['class_instructor_name']
clientVisitsDict.append(q)
答案 0 :(得分:1)
据我所知,目前提供的API没有这种方式。实际上,对我而言,它似乎是MINDBODY API的主要缺点之一。
我只知道这种情况的两种可能方式。
首先是等待API的更新实施。最近,MINDBODY向开发帐户发送了一份调查,其中包含可能的API改进相关问题。因此,随着时间的推移API有可能得到改善。
第二种方法是联系API支持并请求实现满足您需求的特定功能。据我所知,这些天可能会有你的(或你的公司)支付额外费用。
希望它有所帮助。我也很高兴听到其他可能的解决方法。可能有我错过的东西。