アクセストークン取得API
アクセストークン取得API
1. API 概要
API名: アクセストークン取得API
目的: intra-mart Procurement Cloudの外部用APIを実行するためのアクセストークンを取得する。
概要: このAPIは、intra-mart Procurement CloudのAPIを実行するためのアクセストークンを取得します。 リクエストには必要なフィールドが含まれ、レスポンスは登録の成功/失敗を示します。
2. リクエスト
2.1 リクエストURL
メソッド:POST
ドメイン:お問い合わせください。
エンドポイント:お問い合わせください。
2.2 リクエストヘッダー
| ヘッダー名 | 値 | 説明 |
|---|---|---|
| Content-Type | application/x-www-form-urlencoded | コンテンツ種別。 |
2.3 リクエストボディ
リクエストボディにはx-www-form-urlencoded形式でデータを含めます。以下はその例です。
例
client_id=CLIENT_ID&username=USERNAME&password=PASSWORD&grant_type=password&client_secret=CLIENT_SECRET
2.4 パラメータ説明
| パラメータ名 | キー | 型 | 必須 | 制約 | 説明 |
|---|---|---|---|---|---|
| クライアントID | client_id |
string |
⚪︎ | iPCで発行された固有の値 | クライアントID。利用を行う環境のクライアントIDを別途共有いたします。 |
| ユーザーID | username |
string |
⚪︎ | iPCのユーザーIDとして許可されている値 | ログインするユーザーのID。 |
| パスワード | password |
string |
⚪︎ | iPCのパスワードとして許可されている値 | ログインするユーザーのパスワード。 |
| グラントタイプ | grant_type |
string |
⚪︎ | "password" | グラントタイプ。 |
| クライアントシークレット | client_secret |
string |
⚪︎ | iPCで発行された固有の値 | iPCで発行された固有の値。利用を行う環境のクライアントシークレットを別途共有いたします。 |
3. レスポンス
3.1 レスポンス成功時
ステータスコード: 200 OK
パラメータ説明
| パラメータ名** | キー | 型 | 説明 |
|---|---|---|---|
| アクセストークン | access_token |
string |
認証が成功した後に発行されるアクセストークン。リソースへのアクセスを許可するために使用。 |
| 有効期限 | expires_in |
int |
access_token の有効期限(秒単位)。この期間を過ぎるとアクセストークンは無効となる。 |
| リフレッシュトークンの有効期限 | refresh_expires_in |
int |
refresh_token の有効期限(秒単位)。この期間を過ぎると新しいリフレッシュトークンを取得する必要がある。 |
| リフレッシュトークン | refresh_token |
string |
access_token が期限切れになった場合に、新しいアクセストークンを取得するために使用。 |
| トークンの種類 | token_type |
string |
トークンの種類を示す。通常は bearer。リクエストヘッダーにトークンを含めて送信する際に使用。 |
| トークンの有効開始時刻 | not-before-policy |
int |
トークンが有効になる前の時間を示すUnixタイムスタンプ。指定時刻以前にはトークンを使えない。 |
| セッション状態 | session_state |
string |
認証セッションの状態を示す識別子。 |
| アクセス許可されたスコープ | scope |
string |
アクセストークンがアクセスを許可するリソースや操作の範囲。 |
レスポンス例
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"expires_in": 7200,
"refresh_expires_in": 2592000,
"refresh_token": "dGVzdC1yZWZyZXNoLXRva2VuLTYyY2FhYzQ2YTM5ODMyNmRhYmViN2JlNTMx",
"token_type": "Bearer",
"not-before-policy": 0,
"session_state": "4bbf1234-0000-5555-2222-537123447c7d",
"scope": "profile email"
}
3.2 レスポンス失敗時
ステータスコード: 400 Bad Request (リクエストが不正)
レスポンス例(バリデーションエラー)
{
"error": "invalid_request",
"error_description": "Missing form parameter: grant_type"
}
ステータスコード: 401 Unauthorized (認証に失敗)
レスポンス例(認証エラー)
{
"error": "invalid_client",
"error_description": "Invalid client or Invalid client credentials"
}
4. エラーハンドリング
| ステータスコード | エラーの種類 | 説明 |
|---|---|---|
| 400 | Bad Request | リクエストが不正な場合(例えば、必須パラメータの欠如、フォーマットエラーなど)。 |
| 401 | Unauthorized | 認証エラー |
5. その他の注意点
- なし