概要
Web API はソーシャルPLUS でのソーシャルログインの結果から、ユーザ情報を利用したり、企業側で発行した会員ID を紐付けるなどのあらゆる処理に利用します。
ご利用には 機能導入サーバ側の要件 を満たす必要があります。
Schema
Web API は特に指定がない限り HTTP の GET メソッドでの提供となります。また、エンドポイントは以下のアドレスの下に定義されます。
https://api.socialplus.jp/api/{Resources}
すべての API アクセスには必ず SSL 通信を用いてください。
リクエスト、レスポンスには文字コード UTF-8 の JSON 形式を用います。
API キー
「API キー」は、ソーシャルログインマネージャー でサービス選択後、サイドメニューの[設定]>[API キー]のページから取得できます。
Web API で操作する対象のサービスを識別するため、必ず「API キー」の指定が必要です。
https://api.socialplus.jp/api/{Resources}?key={API キー}
GET /api/appinfo?key=sp-54d7503feb24aca8796c49b7... HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
「API キー」があれば 個人情報へのアクセスが可能 になります。
API キーが外部に流出しないよう、管理には充分気をつけてください。API キーをクライアントサイドから利用するような実装(ブラウザ上の JavaScript、スマートフォンアプリのコードなど)でご利用にならないでください。
API キーが流出した場合は、ソーシャルログインマネージャーから破棄・再発行が可能です。
共通のデータ定義
ユーザの特定
特定のユーザについて操作する場合は「ソーシャルPLUS ID」、または事前に紐付けた「お客様サービス側ユーザID」での指定が必要です。
ログインしたユーザの「ソーシャルPLUS ID」または紐付け済みの「お客様サービス側ユーザID」を取得するには 認証対象のソーシャルPLUS IDの取得 (authenticated_user) API を利用します。
「お客様サービス側ユーザID」の紐付けには お客様サービス側ユーザID の紐付け (map) API を利用します。
「ソーシャルPLUS ID」および「お客様サービス側ユーザID」は、各 Web API で以下のパラメータとして指定されます。これらが指定可能な API では、有効な値の一方 を指定します(特に指定がない限り、両方を指定する必要はありません)。
パラメータ名 | ユーザの特定方法 |
---|---|
identifier | ソーシャルPLUS ID |
primary_key | お客様サービス側ユーザID(紐付け済みの場合に利用可能) |
ログインプロバイダ
ログインプロバイダを表す文字列は以下のとおりです。
ログインプロバイダ | パラメータや応答値に利用する文字列 |
---|---|
LINE | line |
Yahoo! JAPAN | yahoo |
facebook | |
新 Google | gplus |
旧 Google1 | google |
Apple | apple |
twitter | |
楽天2 | rakuten |
パラメータに指定する場合には ASCII 英小文字のみを利用します。
二値型
真か偽の二値を扱うリクエストの引数では、以下の文字列が "真" として扱われます。
true
yes
y
enabled
これらの文字列以外を指定した場合、または値を指定しない場合は "偽" として扱われます。
Timestamp
タイムスタンプは RFC 3339 (ISO 8601) 形式で扱います。
YYYY-MM-DDTHH:MM:SSZ
Response
Response Header
必ず以下の Content Type を含みます。
Content-Type: application/json; charset=utf-8
Response Body
成功時およびエラー時のレスポンスは JSON 形式で返します。これには共通の応答キーとして status
を含みます。正常終了した場合は ok
、何らかのエラーがある場合には failed
が返ります。
{
"status": "ok",
...
}
システムエラーの場合には、JSON による HTTP レスポンスボディが返らない場合があります。
処理成功時のレスポンスボディは各リソースの API によって異なります。
処理失敗時には error
キーにエラーコードとメッセージを含めて返します。
// HTTP Status Code: 401
{
"status" : "failed",
"error": {
"code": 1,
"message": "Invalid API key or API key not found."
}
}
詳しく各 API リファレンス、および Web API エラー定義 を参照してください。
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 形式で提示します。
# HTTP Response Header 例
Content-Type: application/json; charset=utf-8
X-RateLimit-Reset: 2019-07-03T15:30:25Z
アクセス制限
API エンドポイントの IP アドレス
ソーシャルPLUS の API エンドポイントの IP アドレスは 不定です。
お客様サービス側のファイアウォールなどで IP アドレスを直接指定してアクセス制限を行う必要がある場合は、固定 IPアドレスオプション(有料オプション) のお申し込みが必要です。ご利用の際は弊社担当営業までご連絡ください。
固定 IPアドレスオプションが有効の場合、API エンドポイントのサブドメインが api
→ apistatic
に変わります。
https://apistatic.socialplus.jp/api/{Resources}
このときの固定 IP アドレスは以下の2つになります。
54.250.223.210
54.64.84.234
固定 IPアドレスオプションが有効でない場合にこちらへアクセスされますとエラー "Option contract needed." が返り API を利用できません。
apistatic.socialplus.jp
へのアクセスは、api.socialplus.jp
へのアクセスと比較して若干レスポンス速度が劣化します。
リクエスト可能なアクセス元 IP アドレスの制限
貴社システム以外からの不正な API リクエストを防ぐために、Web API にリクエスト可能な IP アドレスを制限できます。
ソーシャルログインマネージャー でサービス選択後、サイドメニューの[設定]>[Web APIのアクセス制限]のページから設定できます。アクセスを許可するサーバーの IP アドレスを 1 行に 1 アドレスずつ記載してください。