Php AtTask API-增加休息时间
我正在使用Chrome高级Rest客户端测试AtTask API。我弄明白了很多东西,但也得到了一些意想不到的结果。最近一次是在向AtTask休息日历添加新记录时 我能够轻松地将休假时间添加到日历中。我正在使用POST方法,URL如下:Php AtTask API-增加休息时间,php,api,rest,soap,attask,Php,Api,Rest,Soap,Attask,我正在使用Chrome高级Rest客户端测试AtTask API。我弄明白了很多东西,但也得到了一些意想不到的结果。最近一次是在向AtTask休息日历添加新记录时 我能够轻松地将休假时间添加到日历中。我正在使用POST方法,URL如下: https://COMPANY.attasksandbox.com/attask/api/v4.0/resvt?sessionID=SESSIONIDGOESHERE&userID=USERIDGOESHERE&startDate=2014-11
https://COMPANY.attasksandbox.com/attask/api/v4.0/resvt?sessionID=SESSIONIDGOESHERE&userID=USERIDGOESHERE&startDate=2014-11-24T00:00:00&endDate=2014-11-28T23:59:59
这将11月24日至11月28日之间的所有日子都标记为休息时间。很好,到目前为止。问题是它删除了指定用户的所有其他记录。我没有发出删除命令,所以我不明白这些记录是从哪里被删除的。更重要的是,我不明白如何防止它们被删除
再次感谢您的光临。attask中的暂停时间存储为一个集合,当您对集合进行编辑时,它将用更新中提供的日期替换集合数据。这就是您的呼叫正在删除现有数据的原因 为了增加一个新的休假时间,你需要打两个电话,一个是获得现有的休假时间,另一个是输入新日期的数据 注:我使用自己的数据,所以日期对我来说有点不同,但概念是一样的 你的电话将会是
GET /api/resvt/search?userID=[userID]&fields=endDate,startDate,ID
它返回类似于
{
}
一旦完成此操作,您可以使用用户对象上的更新命令将新的休假时间添加到集合中。请注意,您正在为系统中已经存在的休假时间提供ID,而新的休假时间不提供ID
PUT /attask/api/v4.0/user/[userID]?&sessionID=[sessionID]&updates={reservedTimes: [ { "ID": "547debb6000dea62198bd66b7c73e174", "objCode": "RESVT", "endDate": "2014-07-08T23:59:00:163-0600", "startDate": "2014-07-08T00:00:00:163-0600" }, { "ID": "547debb6000dea61b8c695ba24918fe8", "objCode": "RESVT", "endDate": "2014-02-13T23:59:00:329-0700", "startDate": "2014-02-13T00:00:00:329-0700" }, { "objCode": "RESVT", "endDate": "2014-02-14T23:59:00:329-0700", "startDate": "2014-02-14T00:00:00:329-0700" } ] }
这有点笨重和复杂,但这是目前在API中实现这一点的唯一方法 是否有人通过API成功添加了休息时间?API中是否存在导致其删除所有以前记录的错误?
PUT /attask/api/v4.0/user/[userID]?&sessionID=[sessionID]&updates={reservedTimes: [ { "ID": "547debb6000dea62198bd66b7c73e174", "objCode": "RESVT", "endDate": "2014-07-08T23:59:00:163-0600", "startDate": "2014-07-08T00:00:00:163-0600" }, { "ID": "547debb6000dea61b8c695ba24918fe8", "objCode": "RESVT", "endDate": "2014-02-13T23:59:00:329-0700", "startDate": "2014-02-13T00:00:00:329-0700" }, { "objCode": "RESVT", "endDate": "2014-02-14T23:59:00:329-0700", "startDate": "2014-02-14T00:00:00:329-0700" } ] }