Help us understand the problem. What is going on with this article?

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

はじめに

みなさん、こんにちは。
Twilioエバンジェリストの高橋です。

Bundlesの導入に伴い、この記事にあるような住所情報単独での登録では電話番号の購入ができなくなりました。
お手数ですが、以下の記事を参考に、Bundlesの登録をお願いします。

TwilioでBundles(本人認証)の設定を行う(法人編)
API経由でBundleSidを登録する(法人編)
TwilioでBundles(本人認証)の設定を行う(個人編)
API経由でBundleSidを登録する(個人編)


今回は、Twilio上で購入した電話番号に、住所情報を登録する方法を解説します。
なお、本記事は執筆現在(2019/9/10)での状況となります。
(住所情報の登録が必須になりましたので、その内容に修正しました。)

住所登録の背景

現在、電話番号に関して世界各国で規制が強化されつつあり、2019/4/11にニュースでもお知らせしたように、Twilioでは日本を含めた13カ国について、電話番号の取得に際して住所の確認が必要になります。
日本においては、少なくとも住所の登録だけはしておかないと、管理コンソールならびに、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)を選択します。
  • 電話番号メニューの中から、Regulatory 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のタブが用意されています。
IncomingPhoneNumber.png

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

最後に、すでに購入済みの電話番号に対して、APIを使って登録した住所情報(AddressSid)を割り当てるコードを載せておきます(Node.jsでのコードになりますので、Node.jsの環境が必要です)。
2019年9月10日までは日本の番号は住所必須になっていないため、本コード(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サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。

mobilebiz
フルスタックエンジニア。趣味は料理。 2014年7月に、留守番電話が文字で届く国内初の留守電サービス「TRANSREC」をリリース。 2015年4月にSmart Communication Award 2015で「自動電話リレーサービス」が最優秀賞を受賞。 2016年2月よりTwilioエヴァンジェリスト。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした