🙄

zendeskのチケットを削除してストレージの容量を確保する

2024/03/12に公開

これはなに?

皆様zendeskのAPIやツール使ってますでしょうか?
仕事柄いろんなwebサービスのツールやAPIを使いますが、Rubyの環境においてはzendeskの公式ライブラリ群の使い心地が私はとても好きです。

https://github.com/zendesk/zendesk_api_client_rb

この記事では、zendeskのAPIを使ってzendeskの古いチケット(と添付ファイル)を削除する方法を紹介します。
また、削除操作は一定期間zendeskのストレージの容量に反映されないのですが、zendeskサポートへの問い合わせを経て把握した仕様を共有します。

2024年3月現在、重要な要注意事項があるので同じ作業をする方は是非参考にしてください。

Zendeskのストレージについて

zendeskの「管理センター>アカウント>ストレージ」のページで、以下のようなストレージ容量に関するグラフが見れると思います。
※ 以下は弊社のものではありません。

こちらのストレージにはアカウント種別や契約エージェント数などに応じて容量制限が設けられていて、超えてしまうと追加の課金が必要になります。

※ 公式のヘルプ https://support.zendesk.com/hc/ja/articles/4408835043994-Zendeskアカウントでのデータストレージの管理

チケットの削除と添付ファイルの削除を行えばデータストレージとファイルストレージの容量を減らせるので、解決後何年も経過したチケットなどの条件を定めて定期的に手動で削除することで、追加課金を避けながら運用が可能です。

zendeskでチケットを削除する流れ

チケット取得

以下のチケット取得APIを使って、チケットを配列で取得します。
こちらのAPIではweb画面と同様の検索クエリを指定できるので、タグなどを使って削除対象のチケットを正確に絞り込みます。

https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#list-tickets

チケット削除

続いてチケット削除についてですが、zendeskのチケットは 論理削除・物理削除の二段階の削除仕様 になっています。

通常の削除

通常のチケットを通常の削除APIで削除した場合、「削除済みチケット」という論理削除状態になります。

以下のbulkのAPIを使って削除できます。

https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#bulk-delete-tickets

論理削除状態

この状態では、まだストレージの容量は開放されません。
ストレージ容量を開放するには完全に削除(物理削除)する必要があります。

「削除済みチケット」の状態から完全に削除(物理削除)されるフローは2つあります。

  • 30日間が経過すれば自動的に物理削除される。
  • 完全に削除するAPIを実行すれば、すぐに物理削除される。

アーカイブ状態のチケットを論理削除すると、どのAPIでも取得できない状態になるので注意

公式ドキュメントのここに以下のような記載があり、アーカイブチケット専用のAPIも現状ありません。

Archived tickets are not included in the following endpoint responses. See About archived tickets in the Zendesk help.

GET /api/v2/tickets
GET /api/v2/organizations/{organization_id}/tickets
GET /api/v2/tickets/recent

また、チケットは操作せずとも解決後一定時間が経過したら勝手にアーカイブされるのでハマりやすい気がします。

完全削除

「削除済みチケット」という論理削除状態のチケットは、完全削除のAPIを実行することで物理削除できます。
※ 論理削除していないチケットを、いきなりこちらのAPIで削除することはできません。かならず論理削除状態を経る必要があります。

以下のbulkのAPIを使って完全に削除できます。
https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#delete-multiple-tickets-permanently

チケットに付随する添付ファイルは、この操作時に削除されるようです。

データストレージへの反映

ここもハマりどころでして、ドキュメントには最大24時間で表示に反映されそうな記載が見受けられます。

https://support.zendesk.com/hc/ja/articles/4408835043994-Zendeskアカウントでのデータストレージの管理

しかし、実際には完全に削除後24時間経ってもストレージのグラフに反映されませんでした。
物理削除後、翌日もその翌日もストレージ容量が下がらず、zendeskサポート様に問い合わせを行ったところ、以下のようにご説明いただけました。

ダッシュボード上のデータは24時間ごとに更新されますが、データの削除プロセスは最大48時間かかる場合があります。そのため、データ削除からダッシュボードの更新内容が完全に反映されるまでには、最長で72時間必要となることがあります。

ということで、完全削除ののち、ダッシュボードのグラフ上に反映されるまで72時間は待ちましょう。

私どもの環境では、上記の流れで確かに3日目にはストレージの容量が下がったので、無事にストレージ容量を開放することに成功しました 🎉🎉🎉

こちらの情報が皆様の参考になりましたら幸いです。

Happy Elements

Discussion