メインコンテンツへスキップ
POST
curl

セルフホスト型ウォレット

取引相手のウォレットがセルフホスト型として申告されている場合(counterparty.payment_method.method_type: "unhosted_wallet")、送金はUNCONFIRMED_OWNERSHIPで待機します。 このエンドポイントをconfirmed: trueで呼び出すと、顧客がそのウォレットを誰が管理しているかを確認したことが記録され、送金が完了します(COMPLETED)。これは出金と入金の両方に適用されます。 オンチェーンハッシュがすでに判明している入金は、FINISHEDに進みます。 検証されるウォレットは取引相手のものです。出金の場合は送金先、入金の場合は送金元(送金人のウォレット)が該当します。 Didit はこのウォレットを、取引相手の名義で所有権確認済みとしてウォレットアドレス帳に追加します。そのため、ウォレットは取引相手の名前(入金の場合は送金人の名前)と照合されます。 アドレス帳にそのウォレットが別の名義ですでに登録されている場合、送金は代わりにCOUNTERPARTY_MISMATCHED_DATAに移行します。 送金に取引相手のウォレットがまったく指定されていない場合は、リクエストボディでwallet_addressを渡してください。 送金とリクエストのどちらにもウォレットアドレスが含まれていない場合、リクエストは400で拒否されます。 confirmed: falseを指定すると、送金は却下されます(COUNTERPARTY_VASP_GENERAL_DECLINE)。

承認

x-api-key
string
header
必須

お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys

パスパラメータ

transaction_id
string<uuid>
必須

この送金に対してアプリケーションが保持する取引の、Diditの安定したUUIDです。INTERNALレールの送金では受取人側の取引、取引相手のウォレットがセルフホスト型と申告された場合は作成した取引(アウトバウンドまたはインバウンド)となります。

ボディ

application/json
confirmed
boolean
必須

所有を確認する場合はtrue、否定する場合はfalseです。

wallet_address
string
デフォルト:""

受信TRP送金: 承認時にDiditが送金元VASPに返す支払い先アドレスです。デフォルトでは、一致したアドレス帳エントリのアドレス、次にbeneficiary_data.wallet_addressが使われます。取引相手のウォレットを指定していない申告済みのセルフホスト型ウォレット送金では、所有を検証したウォレットが使われます。それがない場合、リクエストは400で拒否されます。その他の送金では無視されます。

レスポンス

更新された送金。受信送金の場合、所有権が確認されるまで取引相手のoriginator_data/beneficiary_dataはマスクされたまま(data_masked: true)となり、確認後はdata_unmaskedにその日時、理由、実施者が記録されます。

所有権確認エンドポイントおよび完了/キャンセルエンドポイントから返される完全な送金オブジェクト。受信送金のウォレット所有権が未確認の間、取引相手のoriginator_dataとbeneficiary_dataはマスクされた状態で返され(各単語の最初の文字のみが残り、ウォレット、チェーン、VASPのルーティング情報は判読可能なままです)、data_maskedはtrueになります。

uuid
string<uuid>
status
enum<string>
利用可能なオプション:
AWAITING_COUNTERPARTY,
ON_HOLD,
COMPLETED,
FINISHED,
CANCELLED,
EXPIRED,
COUNTERPARTY_MISMATCHED_DATA,
COUNTERPARTY_VASP_NOT_FOUND,
COUNTERPARTY_VASP_NOT_REACHABLE,
UNCONFIRMED_OWNERSHIP,
COUNTERPARTY_VASP_GENERAL_DECLINE,
NOT_ENOUGH_COUNTERPARTY_DATA,
NOT_APPLICABLE
direction
enum<string>
利用可能なオプション:
INBOUND,
OUTBOUND
rail
enum<string> | null

送金のルーティングに使われたレール。レールが選択されなかった場合はnullです(例: しきい値未満、取引相手のウォレットがセルフホスト型ウォレット、入金後の登録、到達可能な取引相手がいない場合)。INTERNALは双方がDiditのアプリケーションであることを意味し、EMAILはメールで送信された受け取りリンクで取引相手に到達したことを意味します。TEST_VASPは、Didit Test VASPがサンドボックスの送金に応答したことを意味します。GTR、VERIFYVASP、SYGNAでは、Diditはネットワークのレスポンスから、または5分ごとのポーリングによって取引相手の回答を読み取ります。TRUSTは送信のみのため、TRUSTの送金は期限切れになるまでAWAITING_COUNTERPARTYのままです。ネットワークのレールは、そのネットワークについてお客様自身のメンバーシップを接続している場合にのみ使用されます。レールは取引作成のレスポンスが返された後に選択されるため、そのレスポンスではnullです。

利用可能なオプション:
INTERNAL,
TRP,
GTR,
TRUST,
VERIFYVASP,
SYGNA,
EMAIL,
TEST_VASP,
null
protocol
string | null
ivms_version
string
例:

"ivms101.2023"

required
boolean
ownership_confirmed
boolean | null
deadline_at
string<date-time> | null
timeline
object[]
counterparty_vasp
object | null
originator_data
object

送金人当事者です。受信する送金の場合、取引相手の値は所有権が確認されるまでマスクされます。

beneficiary_data
object

受取人の当事者情報。受信側の送金では、所有権が確認されるまで取引相手の値はマスクされます。

name_match
object · null · null

送金の判定を決めた氏名比較です。比較が実行されるまではnullです。当事者がマスクされている間、およびINTERNALのやり取りにおける相手顧客側のコピーでは、transfer_name、compared_name、matched_names、mismatched_namesは非表示になります。scoreとmatchedは一致しない場合があります。matchedは厳格度に従い、scoreは2つの氏名全体の類似度を表します。

data_match
object | null

送金の当事者データと、相手側がウォレット保有者について把握している情報とのフィールドごとの比較。フィールド名と結果のみを示し、値は一切含まないため、取引相手のデータがマスクされている間も読み取ることができます。比較が実行されるまではnullです。

mismatched_fields
string[]

data_match.mismatched_fieldsのショートカット。相違がない場合は空です。

data_unmasked
object | null

取引相手のデータのマスクが解除された時点の監査記録です。データがまだマスクされている間、および外部への送金の場合はnullです。

data_masked
boolean

このレスポンスで取引相手の個人データがマスクされている間はtrueです。

created_at
string<date-time>
delivery
object | null

この移転が相手側に送るべき最新メッセージの状況です。移転が一度もメッセージを送る必要がなかった場合(例:threshold_amount未満、申告済みのセルフホスト型ウォレット、サンライズ登録)はnullです。

discovery
object[]

Diditが取引相手をどのように探索したかを示します。実行されたステップごとに1エントリです。受信送金など、探索が実行されなかった場合は空です。

reason
string

COUNTERPARTY_VASP_NOT_FOUNDまたはCOUNTERPARTY_VASP_NOT_REACHABLEの送金が停止している理由です。その他のステータスでは""です。COUNTERPARTY_VASP_NOT_REACHABLEの場合に限り、配信の失敗がまず理由を決定します:email_undeliverable(メールプロバイダーがコンプライアンスメールを拒否し、試行できるアドレスが残っていない。送信時、リマインダー時、または後から報告された恒久的なバウンスのいずれか)またはdelivery_failed(配信中のレールが完全に失敗した。ネットワークレールがメッセージを拒否したか再試行回数を使い切った、TRPのIDホストが応答しなかった、または取引相手のTRPホストが照会を受け付けなかった)。それ以外の場合はdiscoveryトレースが理由を決定します:awaiting_end_user(Diditが到達できる取引相手を指定したステップがない)、directory_match_no_route(ステップが経路のないディレクトリ上のVASPを指定した)、picked_member_without_proven_wallet(エンドユーザーが、ウォレットの管理を証明していないDiditの顧客を選択した)、またはトレースが他の理由を示さない場合はno_directory_matchです。再送すると送金が先に進むため、理由はクリアされます。送金が停止する理由を参照してください。

next_actions
object[]

送金を先に進めるためのアクションです。COUNTERPARTY_VASP_NOT_FOUNDまたはCOUNTERPARTY_VASP_NOT_REACHABLE以外のステータスでは[]です。email_undeliverableではupdate_compliance_email、次にresendが提示されます。delivery_failedではresendが提示されます。検出に関する理由ではselect_counterparty_vasp、declare_self_hosted、add_vasp_hint、resendが提示されます。

chain_details
object

送金のチェーンが2つのウォレットをどのように示すか(1つのアドレスが別のアドレスに支払う形態にとどまらない場合)。アカウント型チェーンの送金(EVM、Solana、Tron)では2つのアドレスがそのままウォレットとなるため、空({})になります。照合、ルーティング、アドレス帳は、まずここからウォレットを読み取ります。

最終更新日 2026年11月1日