API で status を更新したくて方法を探しました
まずステータスの一覧がほしい
ありました
https://developer.zendesk.com/rest_api/docs/support/tickets#json-format
statusの種類は
"new", "open", "pending", "hold", "solved", "closed"
日本語にするとこんなかな
新規, オープン, 保留中, 待機中, 解決済み, 終了
コード.gs内の
"ticket": {
"status": "pending"
}
で設定してやるとよさそう
コード.gs
var base_url = "https://NAME.zendesk.com/api/v2/"; function run(zendeskId) {//本番はzendeskIdを受け取って実行する想定 var zendeskId = 6;// putTicketById(zendeskId); } function putTicketById(zendeskId) { var url = base_url + 'tickets/update_many.json?ids=' + zendeskId var options = getOptions(); UrlFetchApp.fetch(url, options); } function getPayload() { var payload = { "ticket": { "status": "pending" } } var json = JSON.stringify(payload); return json; } function getOptions() { var options = { "method": "put", "contentType": "application/json", "headers": getHeaders(), "payload": getPayload() } return options; } function getHeaders() { var headers = { "Authorization": "Basic " + getZendeskToken() } return headers; } function getZendeskToken() { return Utilities.base64Encode(getProp('email') + "/token:" + getProp('api_token')) } function getProp(key) { return PropertiesService.getScriptProperties().getProperty(key); } |
参考
Tickets
https://developer.zendesk.com/rest_api/docs/support/tickets#json-format