第21回 TwilioのREST APIを使ってアカウントを管理する

スポンサーリンク

twilioのREST APIを使ってアカウント(マスターアカウントとサブアカウント)の管理をする。

(注意)
※一つのマスターアカウントで作成できるサブアカウントは1000個まで。
※サブアカウントはREST APIかAPI Explorerでのみ追加可能。

目的

REST APIを使ってアカウントの管理(サブアカウントの生成、移行、削除)をする。

開発

PHPライブラリーのダウンロード:https://github.com/twilio/twilio-php
開発を進める前に、AccountSID と AuthTokenを予め知っておく必要があります。
※AccountSID と AuthTokenは、管理コンソールのアカウントメニューに書いています。
※ダウンロードすると幾つかのファイルがあるが、実際に使用するファイルは /Services/ のみ。この /Services/ を作業をしているワークフォルダーにアップロード。

これでPHPライブラリーを使用する準備完了。
REST APIを使ってアカウントを管理してみます。

まずはサブアカウントの生成から。

createSubaccount.php

// ライブラリーまでのパス
require('Services/Twilio.php');
   
// 管理ページから AccountSID と AuthToken を確認して入力。
$sid = "your sid"; 
$token = "your auth token";
  
// インスタンスを作成
$client = new Services_Twilio($sid, $token);
       
$account = $client->accounts->create(array(
"FriendlyName" => "サブアカウントだよ"
));

11行目からフレンドリーネームを「サブアカウントだよ」として、サブアカウントの作成を開始。

createSubaccount.phpを実行したら、管理画面にアクセスして右上のアカウント名をクリック。
クリックすると「サブアカウント」というメニューがあるのでクリック。
すると生成したサブアカウントが表示されていることが確認できる。

※以降の操作はトライアルアカウントでは出来ませんのでご注意を※

次にマスターアカウントの電話番号をサブアカウントに移行する。

moveMasterToSub.php

// ライブラリーまでのパス
require('Services/Twilio.php');
   
// 管理ページから AccountSID と AuthToken を確認して入力。
$sid = "your sid"; 
$token = "your auth token";
  
// インスタンスを作成
$client = new Services_Twilio($sid, $token);

// 交換元のアカウントの情報を取得
// PN◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯:twilio番号のSID
$number = $client->account->incoming_phone_numbers->get("PN◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯");

// 交換先(サブアカウントの情報)のAccountSidを設定
//  AC◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯:サブアカウントのAccountSid
$number->update(array(
	'AccountSid' => 'AC◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯'
));

13行目でマスターアカウントのプロパティを取得。
17行目でマスターアカウントのAccountSidをサブアカウントのAccountSidに設定してアップデートする流れ。

moveMasterToSub.phpを走らせて、マスターアカウントがサブアカウントに変わっていたら成功。

次にアカウントのステータスを close に変更して、サブアカウントを削除します。

deleteSubaccount.php

require('Services/Twilio.php');

$account_sid = 'AC05aa3d04ba1c30be50bce692bf5fb253'; 
$auth_token = '06782964ed65259b831a44cfac1b2a27'; 

$client = new Services_Twilio($account_sid, $auth_token);

// アカウント情報の取得
//  AC◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯:AccountSid
$account = $client->accounts->get('AC◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯');

// アカウントのステータスを変更
// 稼動状態から削除へ変更
$account->update(array(
	'Status' => 'close'
));

10行目でアカウントの情報を取得。
14行目でアカウントのステータスを更新。
ステータスは下記が用意されている。
active:稼働中
suspended:一時停止
closed:削除
そのシーンにあわせて設定するといいかと。

アカウントの管理もREST APIで出来てしまうところがびっくり。

参考文献

・helperライブラリーの概要:https://jp.twilio.com/docs/libraries
・REST APIの概要:https://jp.twilio.com/docs/api/rest
・アカウント管理、APIを使ってシステムで自動化できます。ダッシュボードへのログイン不要:https://www.youtube.com/watch?v=VhZfW-Pq3A0

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク