はじめに
みなさん、こんにちは。
KDDIウェブコミュニケーションズ、CPaaSエバンジェリストの高橋です。
Twilioを使って色々とプログラムを作成していると、使っていない電話番号が毎月課金されて無駄が発生します。今回は、そのような不要な電話番号を一括で削除するプログラムを作成したので、そちらのご紹介となります。
このプログラムを使うことで、自分の持っているアカウント(サブアカウントを含む)の中の不要と思われる電話番号を一括で削除することができます。
削除の条件は、過去数ヶ月(指定ができます。デフォルトは3ヶ月)間に発着信の利用がなかった番号となります。
米国番号については、メッセージの送信がなかったものを対象とします。
前提(動作確認済み)条件
- Node.js バージョン 16.13以上
- npm 8.1.0以上
- git
セットアップ
git clone https://github.com/mobilebiz/release-numbers.git
cd release-numbers
yarn install # or npm install
環境変数の設定
cp .env.example .env
.env
を以下の内容で更新してください。
Key | Value |
---|---|
TWILIO_ACCOUNT_SID | 対象とするマスターアカウントのAccountSid |
TWILIO_AUTH_TOKEN | 同じくAuthToken |
SINCE_MONTHS | 何ヶ月前から利用されていない番号を検索の対象とするか |
実行
node index.js [delete]
delete
パラメータを付与した場合は、実際に削除が行われます。付与していない場合は、削除はしないで対象となる番号が表示されます。
実行例
*** Proxy(active) ***
call: +19095527889 0件(in:0, out:0)
message: +19095527889 0件
delete: +19095527889
call: +815031964003 0件(in:0, out:0)
delete: +815031964003
call: +815031964002 0件(in:0, out:0)
delete: +815031964002
call: +815031964004 0件(in:0, out:0)
delete: +815031964004
*** TaskRouter(active) ***
*** CallCenterVerification(suspended) ***
Error: Unable to update Status for subaccount, subaccount has been suspended by Twilio.
*** line_developer(active) ***
call: +81503186**** 1件(in:1, out:0)
call: +12059004533 0件(in:0, out:0)
message: +12059004533 0件
delete: +12059004533
制限事項
サブアカウントがsuspended
になっている場合、一度ステータスを変更してから処理を行いますが、TwilioによってサスペンドされているサブアカウントについてはAPI経由での変更ができないため、スキップするようになっています。
まとめ
KDDIウェブコミュニケーションズ(KWC)について
https://cloudapi.kddi-web.com
残念ながら2023年5月1日をもって、KWCは10年間に渡るTwilioのリセール事業を終了いたしましたが、引き続きCPaaS市場において、過去の実績や知見をもとによりよいサービスを提供するべく活動を続けております。
また引き続き、Twilioのサポートについても、CPaaS Care(仮)という形で無償にて対応させていただくこととなります。詳しくは上記サイトをご覧ください。