0

现在,我有一种非常昂贵(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)
4

1 回答 1

1

据我所知,目前提供的 API 没有这种方法。而且,实际上,对我来说,这似乎是 MINDBODY API 的主要缺点之一。

在这种情况下,我只知道两种可能的方法。

第一个是等待实现 API 的更新。最近 MINDBODY 向开发帐户发送了一份调查,其中包含可能的 API 改进相关问题。因此,随着时间的推移,API 有可能会得到改进。

第二个是联系 API 支持并请求实现特定功能以满足您的需求。据我所知,这几天可能会通过您(或您的公司)方面的额外付款来实现。

希望能帮助到你。我也很高兴听到其他可能的解决方法。可能有什么我错过了。

于 2017-07-24T11:18:15.340 回答