curl -X POST https://verification.didit.me/v3/travel-rule/wallet-proofs/{proof_uuid}/decision/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"decision": "approve", "note": "Address matches the wallet app."}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.wallet_proofs.decide(
"11111111-2222-3333-4444-555555555555",
decision="approve",
note="Address matches the wallet app.",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.walletProofs.decide("11111111-2222-3333-4444-555555555555", {
decision: "approve",
note: "Address matches the wallet app.",
});
console.log(result);import me.didit.Didit;
import me.didit.types.TravelRuleWalletProofDecision;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().walletProofs().decide("11111111-2222-3333-4444-555555555555", TravelRuleWalletProofDecision.builder()
.decision(TravelRuleWalletProofDecision.Decision.of("approve"))
.note("Address matches the wallet app.")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->walletProofs->decide('11111111-2222-3333-4444-555555555555', [
'decision' => 'approve',
'note' => 'Address matches the wallet app.',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.wallet_proofs.decide(
"11111111-2222-3333-4444-555555555555",
decision: "approve",
note: "Address matches the wallet app."
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.WalletProofs.DecideAsync("11111111-2222-3333-4444-555555555555", new TravelRuleWalletProofDecision
{
Decision = "approve",
Note = "Address matches the wallet app.",
});
Console.WriteLine(JsonSerializer.Serialize(result));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/travel-rule/wallet-proofs/{proof_uuid}/decision/"
payload := strings.NewReader("{\n \"decision\": \"approve\",\n \"note\": \"Address matches the wallet app.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "SCREENSHOT",
"status": "PENDING",
"wallet_address": "<string>",
"chain": "<string>",
"holder_name": "<string>",
"is_ownership_verified": true,
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"content_type": "<string>",
"screenshot_url": "<string>",
"attempts": 123,
"failure_reason": "",
"method_chosen_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"review_note": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}스크린샷 지갑 소유권 증명 승인 및 거부 API
검토 대기열의 스크린샷 지갑 소유권 증명을 Didit에서 승인하거나 거부합니다. 승인하면 지갑이 검증되고 연결된 거래에 소유권이 적용됩니다.
curl -X POST https://verification.didit.me/v3/travel-rule/wallet-proofs/{proof_uuid}/decision/ \
-H 'x-api-key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"decision": "approve", "note": "Address matches the wallet app."}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.wallet_proofs.decide(
"11111111-2222-3333-4444-555555555555",
decision="approve",
note="Address matches the wallet app.",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.walletProofs.decide("11111111-2222-3333-4444-555555555555", {
decision: "approve",
note: "Address matches the wallet app.",
});
console.log(result);import me.didit.Didit;
import me.didit.types.TravelRuleWalletProofDecision;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().walletProofs().decide("11111111-2222-3333-4444-555555555555", TravelRuleWalletProofDecision.builder()
.decision(TravelRuleWalletProofDecision.Decision.of("approve"))
.note("Address matches the wallet app.")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->walletProofs->decide('11111111-2222-3333-4444-555555555555', [
'decision' => 'approve',
'note' => 'Address matches the wallet app.',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.wallet_proofs.decide(
"11111111-2222-3333-4444-555555555555",
decision: "approve",
note: "Address matches the wallet app."
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.WalletProofs.DecideAsync("11111111-2222-3333-4444-555555555555", new TravelRuleWalletProofDecision
{
Decision = "approve",
Note = "Address matches the wallet app.",
});
Console.WriteLine(JsonSerializer.Serialize(result));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/travel-rule/wallet-proofs/{proof_uuid}/decision/"
payload := strings.NewReader("{\n \"decision\": \"approve\",\n \"note\": \"Address matches the wallet app.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "SCREENSHOT",
"status": "PENDING",
"wallet_address": "<string>",
"chain": "<string>",
"holder_name": "<string>",
"is_ownership_verified": true,
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"content_type": "<string>",
"screenshot_url": "<string>",
"attempts": 123,
"failure_reason": "",
"method_chosen_at": "2023-11-07T05:31:56Z",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"review_note": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
경로 매개변수
검토 대기열의 proof_id입니다.
본문
응답
결정된 증명입니다.
SCREENSHOT PENDING, VERIFIED, REJECTED, EXPIRED 표준 체인 식별자입니다(예: ETH, BTC, SOL, TRX).
이 증명 또는 다른 증명을 통해 주소록 항목의 소유권이 확인되었는지 여부입니다.
위젯 세션이 발급된 Travel Rule 전송에 해당하는 거래입니다. transaction_id 없이 발급된 세션의 경우 null입니다.
업로드된 스크린샷에 대한 시간 제한 링크입니다. 최신 링크를 가져오려면 대기열을 다시 나열하십시오.
최종 사용자가 이 증명을 위해 업로드한 파일 수입니다.
거부 후에는 REVIEW_REJECTED, 결정 전에 지갑 소유자가 변경되었거나 지갑이 삭제된 경우에는 OWNERSHIP_CHANGED입니다. 그 외의 경우에는 비어 있습니다.
, SIGNATURE_INVALID, SIGNATURE_UNSUPPORTED_SCHEME, DEPOSIT_NOT_FOUND, DEPOSIT_UNCONFIRMED, DEPOSIT_LOOKUP_FAILED, DEPOSIT_MISMATCH, DEPOSIT_STALE, TXID_REUSED, CHAIN_UNSUPPORTED, WINDOW_EXPIRED, OWNERSHIP_CHANGED, METHOD_SWITCHED, REVIEW_REJECTED, ABANDONED 최종 사용자가 스크린샷 방식을 선택한 시점입니다.
증명을 마감한 주체: 콘솔 검토자의 경우 review:, API 키 결정의 경우 review, Didit이 자동으로 마감한 경우 widget 또는 sweeper입니다. PENDING 상태인 동안에는 비어 있습니다.
결정과 함께 전송된 메모입니다. 없는 경우 비어 있습니다.