メインコンテンツまでスキップ

概要

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 キーが外部に流出しないよう、管理には充分気をつけてください。API キーをクライアントサイドから利用するような実装(ブラウザ上の JavaScript、スマートフォンアプリのコードなど)でご利用にならないでください。

API キーが流出した場合は、ソーシャルログインマネージャーから破棄・再発行が可能です。

共通のデータ定義​

ユーザの特定​

特定のユーザについて操作する場合は「ソーシャルPLUS ID」、または事前に紐付けた「お客様サービス側ユーザID」での指定が必要です。

認証対象のソーシャルPLUS IDの取得

ログインしたユーザの「ソーシャルPLUS ID」または紐付け済みの「お客様サービス側ユーザID」を取得するには 認証対象のソーシャルPLUS IDの取得 (authenticated_user) API を利用します。

お客様サービス側ユーザID の紐付け

「お客様サービス側ユーザID」の紐付けには お客様サービス側ユーザID の紐付け (map) API を利用します。

「ソーシャルPLUS ID」および「お客様サービス側ユーザID」は、各 Web API で以下のパラメータとして指定されます。これらが指定可能な API では、有効な値の一方 を指定します(特に指定がない限り、両方を指定する必要はありません)。

パラメータ名ユーザの特定方法
identifierソーシャルPLUS ID
primary_keyお客様サービス側ユーザID(紐付け済みの場合に利用可能)

ログインプロバイダ​

ログインプロバイダを表す文字列は以下のとおりです。

ログインプロバイダパラメータや応答値に利用する文字列
LINEline
Yahoo! JAPANyahoo
Facebookfacebook
新 Googlegplus
旧 Google1google
Appleapple
X(旧 Twitter)twitter
楽天2rakuten
注記

パラメータに指定する場合には 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アドレスオプションが有効でない場合

固定 IPアドレスオプションが有効でない場合にこちらへアクセスされますとエラー "Option contract needed." が返り API を利用できません。

レスポンス速度

apistatic.socialplus.jp へのアクセスは、api.socialplus.jp へのアクセスと比較して若干レスポンス速度が劣化します。

リクエスト可能なアクセス元 IP アドレスの制限​

貴社システム以外からの不正な API リクエストを防ぐために、Web API にリクエスト可能な IP アドレスを制限できます。

ソーシャルログインマネージャー でサービス選択後、サイドメニューの[設定]>[Web APIのアクセス制限]のページから設定できます。アクセスを許可するサーバーの IP アドレスを 1 行に 1 アドレスずつ記載してください。

Footnotes​

  1. Google は現在「新 Google」(gplus)が利用可能です。「旧 Google」は後方互換性を担保するために存在しています。 ↩

  2. 楽天は現在、新規利用受付を停止中です。 ↩