API経由でBundleSidを登録する(法人編)


はじめに

みなさん、こんにちは。
KDDIウェブコミュニケーションズのTwilio事業部エバンジェリストの高橋です。

Twilio側の仕様変更に伴い従来のアイデンティティがBundlesに変わりました。また、この変更に併せてドキュメントのアップロードを始めとしたAPIも公開されています。
APIドキュメント

注意
過去に単独で登録したAddressSidや、AddressSidだけをAPIで登録したものは、Bundlesに紐付けがされてないため電話番号の購入時には利用できませんので、この記事にあるように一連の書類とともに再度AddressSidも登録しなおしが必要です。

今回は、Node.jsを使ったプログラムを使って、BundleSidを登録するサンプルを紹介します。

本記事はAPIを使って法人での利用におけるBundlesの登録方法となります。
管理コンソール上からの登録方法については、以下の記事を御覧ください。
TwilioでBundles(本人認証)の設定を行う(法人編)

また、個人利用におけるBundlesの登録については、以下の記事を御覧ください。
TwilioでBundles(本人認証)の設定を行う(個人編)
API経由でBundleSidを登録する(個人編)

このプログラムは、Twilio(KWCアカウント)におけるBundleSidの登録を自動化するものです。
法人でのBundleSidの登録には、パターンが2種類あります。

パターン1 代表者が申請作業を行うケース

会社の代表者の方が申請を行うケースです。
代表者の方の身分証明書が必要です。

パターン2 担当者が申請作業を行うケース

会社の担当者の方が申請を行うケースです。
申請者の身分証明書と会社が発行した委任状が必要です。

委任状については、こちらにひな形を用意してあるので、別途ダウンロードして記載してください。
記載の際の注意点は、以下のとおりです。

本プログラム以下の条件でのみ動作します。

  • 法人での申請
  • 国税庁に法人番号が登録されていること(こちらで検索できます)
  • 担当者が申請をする場合には、委任状を用意すること
  • 申請者の運転免許証を用意してあること
  • Node.js(バージョン10以降)がインストールされていること

準備

  • こちらのリンクから、法人番号申請フォームの雛形をダウンロードしてください。
  • ダウンロードしたファイルにAccountSid、法人名、法人番号を記載して、PDF形式で保存します(捺印は不要です)。
  • 申請者の運転免許証のコピーをJPEG形式で準備してください(サイズは5MB以内)。 スマホのカメラで撮影したものでも大丈夫ですが、免許証のみが写るように周りの画像は削除してください。

インストール

適当なフォルダに移動し、GitHubリポジトリを取得します(法人用のブランチを利用します)。

$ git clone -b create-bundle-business https://github.com/twilioforkwc/create-bundle.git
$ cd bundle-create
$ npm install
$ mv .env.example .env

法人番号申請フォームのPDF、委任状、運転免許証の各ファイルを、imagesフォルダにコピーしておきます。

.envファイルをエディタで開き、以下の項目をすべて申請者の内容に置き換えます。

項目名 内容
ACCOUNT_SID TwilioアカウントのAccountSid(ACから始まる文字列)
AUTH_TOKEN AccountSidに対応するAuthToken
NUMBER_TYPE national もしくは toll-free を指定(050番号はnationalになります)
BUSINESS_NAME 法人番号検索結果に記載されいている商号を記載通りに(社名に「・」が入っている場合は、APIがエラーを出すので削除してください)
BUSINESS_DESCRIPTION 法人番号検索結果に記載されいている会社法人等番号を記載通りに
BUSINESS_ADDRESS 法人番号検索結果に記載されている本店住所の町村名と丁目番地を記載されている通りに(例:大手町一丁目1番地1号)
BUSINESS_CITY 法人番号検索結果に記載されている本店住所の市区名を記載されている通りに(例:千代田区)
BUSINESS_REGION 法人番号検索結果に記載されている都道府県名を記載されている通りに(例:東京都)
BUSINESS_POSTAL_CODE 会社の郵便番号をハイフンなしで(例:1000001)
BUSINESS_ISO_COUNTRY 会社の住所が日本の場合はJPのままで
CORPORATE_REGISTRY_FILE 法人番号申請フォームのPDFファイル名
POWER_OF_ATTORNEY_FILE 委任状のPDFファイル名(なしの場合は未指定)
FIRST_NAME 申請者の名前(名)を免許証に記載されている通りに(日本語OK)
LAST_NAME 申請者の名前(姓)を免許証に記載されている通りに(日本語OK)
BIRTH_DATE 申請者の誕生日をYYYY-MM-DD形式で
STREET 住所(町丁目と建物名)を免許証に記載されている通りに
CITY 住所(市区町村)を免許証に記載されている通りに
REGION 住所(都道府県)を免許証に記載されている通りに
POSTAL_CODE 郵便番号をハイフンなしで
ISO_COUNTRY 日本の場合はJPのままで
DRIVERS_LICENSE_FILE 免許証の画像ファイル名
EMAIL 申請者のメールアドレス(審査結果が通知されます)

プログラムの実行

$ npm start

...最初にテストコードが走って`.env`の内容をチェックします。
...テストがすべてPASSすると申請が始まります。

>>> BusinessAddressSid:AD8b1e9d1bb77e15fc6f35cfb655822b7a created.
>>> AddressSid:AD380e6c9d32b880f61295997f57bb9290 created.
>>> BundleSid:BU654cedd57e8d1dbe883b1f6e64f79524 created.
>>> UserSid:IT64d005a291d9d525a2c815d7dd2abcb0 created.
>>> CorporateRegistrySid:RD03c8155f5cdcb714cb526d5c33811212 created.
>>> PowerOfAttorneySid:RD59ee9826f674023d99b6ce63090a4e4a created.
>>> DriverLicenseSid:RDc2cf8e42e765440bcc31ddca255d43e5 created.
>>> Corporate Registry Assign completed.
>>> Power of Attorney Assign completed.
>>> Driver's License Assign completed.
>>> End User Assign completed.
>>> Submitted.

上記のようにSubmitted.が表示されれば成功です。

管理コンソールにログインし、電話番号 > Regulatory Complience > Bundlesを確認し、STATUSがPending Reviewになっていることを確認しましょう。

KWCにBundlesの登録申請

続けて、こちらのサイトにアクセスしてBundlesの登録申請をします。こちらの申請がされないと審査が行われませんので必ず行ってください。
残念ながら、こちらの手順はまだAPIでは提供されていませんので手動で行う必要があります。
登録内容は以下のとおりです。

入力項目 記入内容
メールアドレス ご自分のメールアドレス
お問い合わせの種類 「新規Bundle作成依頼」を選択
アカウントの種類 すでに課金済みの場合は「アップグレードアカウント」、それ以外は「トライアルアカウント」を選択
Account SID 今回Bundleを申請したAccountSID(ACから始まる文字列)
Bundle SID 先ほど申請したBundleSID(BUから始まる文字列)
BundleSID(複数ある場合) Bundleを複数登録した場合に記載、3つ以上ある場合は「お問い合わせの内容」欄に追記も可能
企業名 会社名
お名前 担当者名
件名 「新規Bundle作成依頼」と記載
お問い合わせ内容 「新規Bundle作成依頼」と記載
取引時確認は完了していますか? チェックする
申請書類のアップロードは完了していますか? チェックする
添付ファイル 不要

あとは審査を待つだけです。
しばらくすると(3営業日以内)に、Twilioからメールが届きますので、審査が通れば上記STATUSがTwilio Approvedになります。

まとめ

詳しいコードの内容は、ぜひcreateBundle.jsの中身を見ていただければと思いますが、大まかな流れは以下のようになっています。

  1. 法人住所を登録する(37行目)。
  2. 個人住所を登録する(52行目)。
  3. Bundleリソースを作成する(67行目)。
  4. エンドユーザを作成する(90行目)。
  5. ドキュメント(法人番号申請フォーム)を作成してアップロードする(119行目)。
  6. ドキュメント(委任状)を作成してアップロードする(151行目)。
  7. ドキュメント(運転免許証)を作成してアップロードする(186行目)。
  8. Bundleリソースにドキュメント(法人番号申請フォーム)を紐付ける(217行目)。
  9. Bundleリソースにドキュメント(委任状)を紐付ける(233行目)。
  10. Bundleリソースにドキュメント(運転免許証)を紐付ける(253行目)。
  11. Bundleリソースにエンドユーザを紐付ける(269行目)。
  12. Bundleを申請する(287行目)。

法人住所は4と5、個人住所は5と6のドキュメントを作成するときに利用します。
審査のポイントは、書類に書かれた内容と申請内容が一致することなので、住所や名前などに間違いがないことを確認してからプログラムを実行してください。


Twilio(トゥイリオ)とは

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