共通仕様
Web API の FQDN、共通のデータ定義、共通のエラーについて記載します。
FQDN
スキーマは https://
のみ対応します。
https://api.socialplus.jp
API キー
特に記載の無い限り、Web API の利用には「Web API キー」の指定が必要です。
「Web API キー」は、ソーシャルログインマネージャー でサービス選択後、サイドメニューの[設定]>[API キー]のページから取得できます。
https://api.socialplus.jp/api/{Resources}?key={Web API キー}
「Web API キー」があれば 個人情報へのアクセスも可能 になります。
Web API キーが外部に流出しないよう、管理には充分気をつけてください。Web API キーをクライアントサイドから利用するような実装(ブラウザ上の JavaScript、スマートフォンアプリのコードなど)でご利用にならないでください。
Web API キーが流出した場合は、ソーシャルログインマネージャー の[設定]>[API キー]から破棄・再発行が可能です。
共通のデータ定義
ユーザーの特定
特定のユーザーについて操作する場合は以下のいずれかのユーザー識別子の指定が必要です。
- ソーシャルPLUS UID
- お客様サービス側ユーザID
「ソーシャルPLUS UID」はソーシャルPLUS 経由のソーシャルログインが行われた際に自動的に発行されます。「お客様サービス側ユーザID」は、その値の利用前にソーシャルPLUS UID に対して 紐付けの処理 が必要です。紐付けタイミングについては 導入イメージ:会員登録 や 導入イメージ:連携追加 をご確認ください。
「ソーシャルPLUS UID」および「お客様サービス側ユーザID」は、以下のパラメータとして指定します。これらが指定可能な API では、有効な値の一方 を指定します(特に指定がない限り、両方を指定する必要はありません)。
パラメータ名 | ユーザの特定方法 |
---|---|
identifier | ソーシャルPLUS UID |
primary_key | お客様サービス側ユーザID(紐付け済みの場合に利用可能) |
ログインプロバイダ
ログインプロバイダを表す文字列は以下のとおりです。
ログインプロバイダ | パラメータや応答値に利用する文字列 |
---|---|
LINE | line |
Apple | apple |
Yahoo! JAPAN | yahoo |
google |
パラメータに指定する場合には ASCII 英小文字のみを利用します。
Timestamp
特に記載のない場合、タイムスタンプは RFC 3339 (ISO 8601) 形式で扱います。
YYYY-MM-DDTHH:MM:SSZ
共通のエラー
許可されていない IP アドレスからアクセスされたとき
ソーシャルログインマネージャーから「API のアクセス制限」の設定が可能です。
この設定がある場合、許可されていない IP アドレスからアクセスされた場合に 403 Forbidden エラーになります。
その他のエラー形式
Web API で何らかのエラーが発生した場合、HTTP ステータスコードで 200 OK 以外 の値を応答するとともに、以下のようなエラー情報を持った JSON を返します。
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"status": "failed",
"error": {
"code": 6,
"message": "Invalid parameter."
}
}
エラー一覧は各エンドポイントの詳細ページをご確認ください。
システムエラー
システムに問題が発生した場合、Web API のレスポンスで HTTP ステータスコード 5xx 番台を応答します。システムエラーが発生した際には JSON による HTTP レスポンスボディは返されません。
HTTP ステータスコード | 説明 |
---|---|
500(Internal Server Error) | ソーシャルPLUS システムに問題が発生しています |
502(Bad Gateway) | 不正なリクエストがサーバーから拒否される場合に発生します |
503(Service Unavailable) | メンテナンス時に意図して応答するステータスコードです |
504(Gateway Timeout) | 処理に時間がかかりすぎてタイムアウトしました。プロバイダ側の障害時に発生することが多いエラーです |
API Rate Limit
Web API には 10,000 リクエスト/分 のリクエスト回数制限があります。
この制限に達した場合には以下のエラーレスポンスが返ります。
// HTTP Status Code: 429
{
"status":"failed",
"error":{
"code": 22,
"message": "Too Many Requests."
}
}
この制限は時間が経過することで自然復帰しますので、時間を開けてリトライしてください。
リクエスト制限がリセットされる予定時刻は HTTP レスポンスヘッダーの X-RateLimit-Reset
キーに Timestamp 形式で提示します。
Content-Type: application/json; charset=utf-8
X-RateLimit-Reset: 2019-07-03T15:30:25Z
アクセス制限
API エンドポイントの IP アドレス
ソーシャルPLUS の API エンドポイントの IP アドレスは 不定です。
お客様サービス側のファイアウォールなどで IP アドレスを直接指定してアクセス制限を行う必要がある場合は、固定 IPアドレスオプション(有料オプション) のお申し込みが必要です。ご利用の際は弊社担当営業までご連絡ください。
固定 IPアドレスオプションが有効の場合、FQDN のサブドメインが api
→ apistatic
に変わります。
https://apistatic.socialplus.jp
固定 IPアドレスオプション利用時の IPアドレスは以下の2つになります。
54.250.223.210
54.64.84.234
固定 IPアドレスオプションが有効でない場合に apistatic ドメインへアクセスされますとエラー "Option contract needed." が返り API を利用できません。
apistatic.socialplus.jp
へのアクセスは、api.socialplus.jp
へのアクセスと比較して若干レスポンス速度が劣化します。
リクエスト可能なアクセス元 IP アドレスの制限
ご利用のシステム以外からの不正な API リクエストを防ぐために、リクエスト可能なアクセス元 IP アドレスを制限できます。
ソーシャルログインマネージャー でサービス選択後、サイドメニューの[設定]>[Web APIのアクセス制限]のページから設定できます。アクセスを許可するサーバーの IPアドレスを 1 行に 1 アドレスずつ記載してください。