2014-11-21 46 views
0

我正在使用Chrome高級休息客戶端來測試AtTask API。我得到了很多想法,但也得到了一些意想不到的結果。最新的是向AtTask Time Off Calendar添加新記錄時。AtTask API - 添加休息時間

我能夠輕鬆地將時間添加到日曆。我使用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之間的所有日期爲休息時間。太好了,到目前爲止。問題是它刪除了指定用戶的所有其他分離記錄。我不發出刪除,所以我不理解乳清記錄被刪除。更重要的是,我不瞭解如何防止它們被刪除。

再次,在此先感謝。

+0

是否有人通過API成功添加了休息時間? API中是否存在導致其刪除所有以前記錄的錯誤? – user1956557 2014-11-24 15:42:50

回答

2

attask中的暫停作爲集合存儲,當您對集合進行編輯時,它將用更新中提供的日期替換集合數據。這就是爲什麼你的電話正在刪除現有的數據。

爲了增加一個新的休息時間,您需要撥打兩個電話1才能獲得暫停的休息時間,另一個用新的日期輸入數據。

音符我用我自己的數據,以便日期對我來說是有點不同,但概念是相同的

你get調用將

GET /api/resvt/search?userID=[userID]&fields=endDate,startDate,ID 

返回類似

{

"data": [ 
    { 
     "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" 
    } 
] 

}

一旦你有了這個,你可以使用用戶對象上的更新命令將新的時間添加到集合中。請注意你的放假時間已在系統和新的放假時間你不提供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" } ] } 

這是一個有點笨重和複雜的,但在這樣做的唯一途徑提供的ID API在這個時候。