
Twilio バンドル申請の Draft を API で削除する方法
Twilio の電話番号規制対応で作成したバンドル申請の Draft を削除したい場合、 Console UI では対応できないため REST API を使用する必要があります。本記事では curl 、 Node.js 、 Python を使った削除手順について解説します。
はじめに
Twilio の電話番号規制対応において、バンドル申請の作成後 Draft を削除したいケースがあります。Twilio Console の UI では Draft を削除する機能が提供されていないため、 REST API を使用してリソースを削除する必要があります。本記事では、 API を使用して Draft 状態のバンドル申請を削除する手順を説明します。
参考
API を使用した削除手順
Draft 状態のバンドルを削除するには、 Twilio REST API の DELETE メソッドを使用します。
前提条件
- Twilio Account SID と Auth Token が必要です
- 削除対象のバンドル SID を事前に確認しておく必要があります
- バンドルが
draft
状態である必要があります (pending-review
やapproved
状態では削除できません )
削除コマンド例
curl 編
BUNDLE_SID, ACCOUNT_SID, AUTH_TOKEN は適宜置き換えてください。
curl -X DELETE "https://numbers.twilio.com/v2/RegulatoryCompliance/Bundles/BUNDLE_SID" -u "ACCOUNT_SID:AUTH_TOKEN"
Node.js 編
const twilio = require('twilio');
const client = twilio('ACCOUNT_SID', 'AUTH_TOKEN');
client.numbers.v2.regulatoryCompliance
.bundles('BUNDLE_SID')
.remove()
.then(() => console.log('Bundle deleted successfully'))
.catch(error => console.error('Error:', error));
実行結果
# 成功時
Bundle deleted successfully
# 失敗時の例
Error: RestException [Error]: The requested resource /v2/RegulatoryCompliance/Bundles/BUNDLE_SID was not found
at success (/home/koshiitakumi/work/delete-bundle-test/node_modules/twilio/lib/base/Version.js:154:23)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
status: 404,
code: 20404,
moreInfo: 'https://www.twilio.com/docs/errors/20404',
details: undefined
}
Python 編
from twilio.rest import Client
client = Client('ACCOUNT_SID', 'AUTH_TOKEN')
client.numbers.v2.regulatory_compliance \
.bundles('BUNDLE_SID') \
.delete()
print('Bundle deleted successfully')
出力結果
# 成功時
Bundle deleted successfully
# 失敗時の例
C:\work\delete-bundle-test-python\.venv\Scripts\python.exe C:\work\delete-bundle-test-python\main.py
Traceback (most recent call last):
File "C:\work\delete-bundle-test-python\main.py", line 7, in <module>
.delete()
^^^^^^^^
File "C:\work\delete-bundle-test-python\.venv\Lib\site-packages\twilio\rest\numbers\v2\regulatory_compliance\bundle\__init__.py", line 272, in delete
return self._version.delete(method="DELETE", uri=self._uri, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\work\delete-bundle-test-python\.venv\Lib\site-packages\twilio\base\version.py", line 266, in delete
return self._parse_delete(method, uri, response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\work\delete-bundle-test-python\.venv\Lib\site-packages\twilio\base\version.py", line 237, in _parse_delete
raise self.exception(method, uri, response, "Unable to delete record")
twilio.base.exceptions.TwilioRestException: HTTP 404 error: Unable to delete record: The requested resource /v2/RegulatoryCompliance/Bundles/BUNDLE_SID was not found
まとめ
Twilio バンドル申請の Draft 削除は Console UI では対応できないため、 REST API を使用する必要があります。削除は DELETE
メソッドで簡単に実行できますが、事前にバンドル SID の確認と Draft 状態であることの確認が重要です。