Twilio上で電話番号に住所を登録する方法


はじめに

みなさん、こんにちは。

Twilioエバンジェリストの高橋です。

今回は、Twilio上で購入した電話番号に、住所情報を登録する方法を解説します。

なお、本記事は執筆現在(2019/6/27)での状況となりますので、ご注意ください。


住所登録の背景

現在、電話番号に関して世界各国で規制が強化されつつあり、2019/4/11にニュースでもお知らせしたように、Twilioでは日本を含めた13カ国について、電話番号の取得に際して住所の確認が必要になるとのことでした。この時点では、書類の提出は不要ということで、これは現在でも変わりありません。

(2019/6/27追記)

日本においても書類の提出が必要になります。2019/6/27時点では、確認しなくても電話番号が購入できますが、今後必須要件になる予定です。また、2019/7/30以降は少なくとも住所の登録だけはしておかないと、管理コンソールならびに、REST API経由での電話番号の購入ができないようになります。

住所登録をしていない状態で電話番号を購入しようとすると、管理コンソールでは以下の画面が表示されます。

スクリーンショット 2019-05-05 07.21.48.png

また、REST API経由では以下のエラーが返ります。

{

"code": 21613,
"message": "PhoneNumber Requires an Address",
"more_info": "https://www.twilio.com/docs/errors/21613",
"status": 400
}


住所の登録方法

住所登録は以下の2つの方法で実施が可能です。


  • 管理コンソール上で登録する

  • REST APIを使って登録する

なお、住所登録はマスターアカウントだけでなく、サブアカウント単位で必要になりますので、サブアカウントをお持ちの方はそれぞれのアカウントごとに以下の手順が必要となります。


管理コンソール上で登録する


  • 管理コンソールにログインをします。

  • スライドメニューから電話番号(Phone Numbers)を選択します。

  • 電話番号メニューの中から、Retulatory Complianceの中の住所を選択します。


  • Add new Addressボタンを押します。

address.png



  • New Addressダイアログが表示されるので、それぞれの項目に住所情報をいれていきます。なお、日本語での登録も可能ですが、会社名欄は全角で21文字までしか入りませんので、長い会社名については英語で入力しておいたほうがよいでしょう。

スクリーンショット 2019-05-05 07.45.53.png



  • Createボタンを押すと住所が登録されます。

スクリーンショット 2019-05-05 07.49.39.png

住所登録が完了しているアカウントでは、電話番号の購入時に規制情報として先程作成した住所が選択できるようになります。

電話番号の購入確認.png

また、すでに購入済みの電話番号に関しても、先程登録した住所を割り当てることができます(これは自動では行われないため、すべての番号に対して個別で行う必要があります)。


REST APIを使って登録する

ドキュメントはこちらにあります。

CURLを使って登録するサンプルは以下のとおりです(AccountSidとAuthTokenは、ご自分のアカウントに合わせて設定してください)。

curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Addresses.json \

--data-urlencode "FriendlyName=HeadOffice" \
--data-urlencode "CustomerName=KDDI Web Communications Inc." \
--data-urlencode "Street=2-26-1 Minamiaoyama" \
--data-urlencode "City=Minato-ku" \
--data-urlencode "Region=Tokyo" \
--data-urlencode "PostalCode=1070062" \
--data-urlencode "IsoCountry=JP" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

登録された住所の一覧は、以下のREST APIで取得することができます。

curl -X GET ‘https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Addresses.json?PageSize=20’ 

-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

一覧に表示された住所のSid(ADから始まる文字列)は、REST API経由で電話番号を操作する際に利用できます。

電話番号を新規で購入する場合も、このSidをAddressSidに指定してください。


住所情報と電話番号の紐付け

住所登録は購入する電話番号ごとに必要になるため、すでに購入済みの番号ごとにRegulatory Informationのタブが用意されています。

ただし、こちらの画面については、2019/7/30以降でないと表示されません。

IncomingPhoneNumber.png

2019年7月30日までに購入済みの日本の電話番号に関しては、当面は住所情報等が正しく登録されていなくとも規制(発着信規制や番号の停止などを含む)の対象にはならないとアナウンスされていますが、いずれ規制がかかります。また、日本以外で住所登録が必要となる国に関しては、2019年7月30日までに住所情報を登録するようにとアナウンスが出ています。

IncomingPhoneNumberAPIに関するスケジュール変更のお知らせ

最後に、すでに購入済みの電話番号に対して、APIを使って登録した住所情報(AddressSid)を割り当てるコードを載せておきます(Node.jsでのコードになりますので、Node.jsの環境が必要です)。

2019年7月30日までは日本の番号は住所必須になっていないため、本コード(API)は実行してもエラーにはなりませんが、AddressSidの割当は行われません。

const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);

// 更新したい住所SID
let addressSid = 'ADXXXXXXXXXXXXXXXXXXXXXXXXXX';

client.incomingPhoneNumbers
.list()
.then(async (incomingPhoneNumbers) => {
for (number of incomingPhoneNumbers) {
console.log(`Executing: ${number.sid}`);
await client.incomingPhoneNumbers(number.sid)
.update({
addressSid: addressSid
})
.then(res => {
console.log(`Updated. ${res.sid} => ${res.addressSid}`);
})
.catch(err => {
console.log(`Error. ${err}`);
});
};
});


まとめ

現在、世界各国で電話番号に関する規制が強化されつつあり、今回の仕様変更もそれに伴うものです。今後はさらに、住所を確認するための書類の提出(アイデンティティの登録)も必須となる可能性がありますので、予め住所を証明する書類などを準備しておくと良いかもしれません。どのような書類が必要になるのかを含めて、分かり次第お知らせをいたします。

アイデンティティの登録方法については、以下の記事を参照してください。

Twilioで本人認証の設定を行う(法人編)



Twilio(トゥイリオ)とは

https://twilio.kddi-web.com

Twilioは音声通話、メッセージング(SMS/チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウドAPIサービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。