基本機能 - プロキシ
プロキシ(proxy)機能を利用すると、パートナー企業のサービスがユーザーのDOSIアカウント内のデジタルアイテムを変更(シーリング、アンシーリング、販売中のデジタルアイテムを販売中止など)する管理権限の委任を受けることができます。
接続情報
開発環境 | DOSI SDK base URI |
---|---|
プロダクション環境 | https://sdk-api.dosi.world |
使用手順
ユーザーのDOSIアカウントからデジタルアイテム管理権限の委任(プロキシ設定)を受ける手順は以下のとおりです。
- プロキシ設定をリクエストするエンドポイントを呼び出します。
- 1で受信した応答の
redirectUri
に移動します。- このアドレスは、ユーザーがDOSIアカウントを認証するためにPINコードを入力する画面を表示します。
- ユーザーがPINコードを入力すると、プロキシ設定をリクエストするエンドポイントを呼び出した際にbodyパラメータとして入力した
redirectUri
に自動的に移動します。
- 1で受信した応答の
sessionToken
をpathパラメータとして使用し、プロキシ設定のリクエストをコミットするエンドポイントを呼び出します。
上記の手順をすべて実行すると、プロキシ設定が完了します。
プロキシはアカウントごとに一度だけ設定する必要があります。
プロキシ(proxy)ステータスの取得
ユーザーのDOSIアカウントがデジタルアイテムの管理権限を委任(プロキシ設定)したかどうかを取得します。
Path
Name | Type | Description |
---|---|---|
walletAddress | string | ユーザーのDOSIアカウントのウォレットアドレス。ユーザーの拡張プロフィールを取得するエンドポイントを使用して取得できます。 |
contractId | string | プロキシを設定するサービスのcontract ID |
Query
None
Body
None
- Authorization: Basic <「DOSIチャネルID:シークレット」をBase64でエンコードした値>
- Content-Type: application/json
Request examples
curl --location --request GET 'https://sdk-api.dosi.world/v1/wallets/link1xx...zzz/contracts/ab...cd/proxy' \
--header 'Authorization: Basic xxxxxxxx' \
--header 'Content-Type: application/json'
プロキシ(proxy)設定のリクエスト
ユーザーのDOSIアカウントにプロキシを設定するようにリクエストします。
Path
Name | Type | Description |
---|---|---|
walletAddress | string | ユーザーのDOSIアカウントのウォレットアドレス |
contractId | string | プロキシを設定するサービスのcontract ID |
Query
None
Body
Name | Type | Description | Required |
---|---|---|---|
redirectUri | string | ユーザー認証後にリダイレクトするURI |
- Authorization: Basic <「DOSIチャネルID:シークレット」をBase64でエンコードした値>
- Content-Type: application/json
Request examples
curl --request POST 'https://sdk-api.dosi.world/v1/wallets/link1xx...zzz/contracts/ab...cd/proxy' \
--header 'Authorization: Basic xxxxxxxx' \
--header 'Content-Type: application/json' \
--data-raw '{
"redirectUri": "https://....com/xxx"
}'
プロキシ(proxy)設定中に認証ステータスを取得
ユーザーのDOSIアカウントにプロキシを設定する際にユーザーの認証ステータスを取得します。
- Authorization: Basic <「DOSIチャネルID:シークレット」をBase64でエンコードした値>
- Content-Type: application/json
Request examples
curl --request GET 'https://sdk-api.dosi.world/v1/proxy/requests/xx...cc' \
--header 'Authorization: Basic xxxxxxxx' \
--header 'Content-Type: application/json'
プロキシ(proxy)設定リクエストのコミット
ユーザーのDOSIアカウントにプロキシを設定する作業をコミットします。
Path
Name | Type | Description |
---|---|---|
sessionToken | string | プロキシ設定をリクエストするを呼び出して取得した |
Query
None
Body
Name | Type | Description | Required |
---|---|---|---|
txId | string | APIリクエストを追跡するために使用する識別子。RFC 9562で定義されたUUID文字列(大文字小文字を区別しない)を使用してください。 識別子は、DOSI SDKサーバーにリクエストを送信した後、その処理結果をトランザクションで確認する際に使用します。 識別子を指定しない場合、DOSI SDKサーバーが識別子を生成して応答として返します。 ネットワーク障害などの問題でサーバーの応答を受け取れない状況でも処理結果を確認したい場合は、この値を指定してください。 |
- Authorization: Basic <「DOSIチャネルID:シークレット」をBase64でエンコードした値>
- Content-Type: application/json
Request examples
curl --request POST 'https://sdk-api.dosi.world/v1/proxy/requests/xx...cc/commit' \
--header 'Authorization: Basic xxxxxxxx' \
--header 'Content-Type: application/json'