APIを使用したユーザーアカウントの一括作成方法

APIを使用したユーザーアカウントの一括作成方法

APIを使用すると、複数のSurflyユーザーアカウントを一括で作成することができます。
本記事では、Surflyユーザーアカウント作成のバッチプログラムを提供し、その使用方法について説明します。

バッチプログラム動作要件

このバッチファイルは、cURLが実行可能なWindows OS上で動作します。
Warning
Windows 10 Version 1803以降では、標準コマンドとしてcURLが利用できます。これより前のWindowsのバージョンをご利用の場合は、cURLのインストールが必要になります。

バッチプログラムの構成

バッチプログラムファイルは、「SurflyBulkUserCreation_vX.X.zip」(X.Xの部分にはバージョン番号が入ります)という名称で本記事の末尾に添付されています
インターネットに接続されているPC上の任意の場所に配置し、zipを展開してください。

以下は、各ファイルの役割についての説明です:
ファイル名
概要
api_key.txt
ユーザーの作成先となる会社のREST APIキーを記載します。
APIキーは、管理者でダッシュボードにログインし、[設定] - [インテグレーション]の画面から確認できます。
users.csv
ユーザー作成に必要な情報をコンマ区切りで記載します。
(ユーザー名,メールアドレス,ログインパスワード)
1行1ユーザーです。
users_add.bat
バッチプログラムの本体です。実行時にapi_key.txtとusers.csvを読み込ませる必要があります。
ユーザー一括作成スクリプト説明書.txt
プログラムの説明書です。本記事と同等の内容が記載されています。


Warning
注意事項
1) このバッチファイルは接続先 https://app.surfly.jp/ に対してユーザー作成を行います。
2) 上記ファイルのファイル名は変更しないでください。また、すべてのファイルを同じフォルダに置いた状態で実行してください。
3) 「api_key.txt」と「users.csv」内にはあらかじめサンプルのためダミーデータが記載されています。実行時には削除してください。
4) 一度に作成できるユーザーは最大100ユーザーです。作成するユーザーが100名を超える場合はCSVを分けて用意し、
    バッチファイルへ読み込ませる際に名称を「users.csv」に変更してください。またサーバーへの負荷を避けるため、連続作成時は各処理の間は数分間空けてください。
5) https://app.surfly.jp/ 上に存在しているメールアドレスが指定された場合、ユーザーは作成できません。
6) このバッチプログラムで作成されるユーザーのロールは「オペレーター」となります。

バッチプログラム実行方法

  1. エクスプローラーで、SurflyBulkUserCreation_vX.Xのフォルダを開きます。

  2. 「api_key.txt」をテキストエディタで開き、1行目にREST APIキーを記載して、保存します。

  3. 「users.csv」をテキストエディタで開き、作成対象のユーザーの情報を記載して、保存します。
    ユーザー名を日本語にする場合:csvファイル保存時の文字コードをSJISにしてください。UTF-8にすると、ユーザー名の日本語が文字化けした状態で作成されます。
    パスワードの要件: 次の要件を満たす必要があります:半角英数字8文字以上とする・ 大文字・記号(!@#$^&()など)・数字の各文字を少なくとも1文字以上含む

  4. エクスプローラー上で、Shiftキーを押しながら「api_key.txt」「users.csv」の両ファイルをマウスで選択し、「users_add.bat」の上にドラッグして離します。


  5. コマンドプロンプトが開き、バッチが実行されます。結果にかかわらず下記の画面になりますので、コマンドプロンプト上で任意のキーを押して終了します。


バッチプログラム実行結果の確認

バッチプログラムの実行後は、SurflyBulkUserCreationフォルダ内に、ログファイル(実行日付_実行時間_バッチファイル名.log)が出力されます。

ログファイルには、以下の情報が含まれます。


①には、ユーザーのメールアドレスが記録されます。
②には、実行時の処理時間が記録されます。
③には、実行結果が表示されます。主なパターンは下記の通りです:
結果パターン
意味
{"agent_id":*****}
ユーザー作成の処理が正常に終了した場合に出力されます。
*****の部分にはオペレーターIDに相当する数字が入ります。
{"error":{"agent_email":["Enter a valid email address."]}}
CSVファイルに無効なメールアドレスが記載されている場合に出力されます。
{"error":{"agent_email":["A user with this email already exists"]}}
該当するメールアドレスを持つユーザーが既に存在する場合に出力されます。
{"error":{"password":["This field may not be blank."]}}
パスワードが設定されていない場合に出力されます。
{"detail":"Authentication credentials were not provided."}
REST APIキーの情報が正しくない場合に出力されます。
{"detail":"JSON parse error - 'utf8' codec can't decode byte 0x82 in position ** : invalid start byte"}
パスワードに日本語が設定されている場合に出力されます。
"error": 実行に必要なファイルが指定されていません。
"error": 指定されたファイルが多すぎます。ファイルは2つ指定してください。
"error": CSVファイルが見つかりません。
"error": REST APIキーが見つかりません。(*)
表示されている日本語メッセージの通りです。
(*)については、「api_key.txt」「users.csv」のいずれか、もしくは両方が指定されていない場合に出力されます。
Too Many Requests
リクエスト数が多すぎることで、サーバーへの負荷が発生している場合に出力されます。


Info
ログの実行結果が成功({"agent_id":*****})の場合は、Surflyに管理者でダッシュボードにログインし、左メニュー「オペレーター」から実際に作成されたユーザーについて確認してください。