Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AtTask API-增加休息时间_Php_Api_Rest_Soap_Attask - Fatal编程技术网

Php AtTask API-增加休息时间

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

我正在使用Chrome高级Rest客户端测试AtTask API。我弄明白了很多东西,但也得到了一些意想不到的结果。最近一次是在向AtTask休息日历添加新记录时

我能够轻松地将休假时间添加到日历中。我正在使用POST方法,URL如下:

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" } ] }