curl -X POST https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/ \
-H 'Content-Type: application/json' \
-d '{"signature": "0x..."}'import requests
url = "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/"
payload = {
"signature": "<string>",
"txid": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({signature: '<string>', txid: '<string>'})
};
fetch('https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signature' => '<string>',
'txid' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/"
payload := strings.NewReader("{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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))
}HttpResponse<String> response = Unirest.post("https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/")
.header("Content-Type", "application/json")
.body("{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"status": "PENDING",
"is_ownership_verified": true,
"transfer_status": "<string>",
"detail": "<string>",
"code": ""
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}{
"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 Travel Rule : soumettre une preuve de portefeuille
Soumettez avec Didit une preuve de portefeuille (signature, txid de dépôt test, capture d’écran). Échec : code renvoyé ; mauvais dépôt : rejet.
curl -X POST https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/ \
-H 'Content-Type: application/json' \
-d '{"signature": "0x..."}'import requests
url = "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/"
payload = {
"signature": "<string>",
"txid": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({signature: '<string>', txid: '<string>'})
};
fetch('https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signature' => '<string>',
'txid' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/"
payload := strings.NewReader("{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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))
}HttpResponse<String> response = Unirest.post("https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/")
.header("Content-Type", "application/json")
.body("{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/travel-rule/widget/{token}/proofs/{proof_id}/verify/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"signature\": \"<string>\",\n \"txid\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"status": "PENDING",
"is_ownership_verified": true,
"transfer_status": "<string>",
"detail": "<string>",
"code": ""
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}{
"detail": "<string>",
"code": "",
"status": "PENDING",
"proof_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"method": "MESSAGE_SIGNING",
"max_attempts": 123,
"attempts_used": 123,
"attempts_remaining": 123
}Paramètres de chemin
Token de session opaque renvoyé lors de la création de la session du widget.
proof_id renvoyé lors du lancement de la preuve.
Corps
Réponse
VERIFIED, ou encore PENDING (une capture d'écran en attente d'examen, un dépôt non indexé ou pas encore confirmé, avec le code DEPOSIT_NOT_FOUND ou DEPOSIT_UNCONFIRMED).
MESSAGE_SIGNING, SATOSHI_TEST, SCREENSHOT, SELF_DECLARATION PENDING, VERIFIED, REJECTED, EXPIRED Présent lorsque la preuve est VERIFIED : l'entrée du carnet d'adresses a désormais sa propriété vérifiée.
Présent lorsque la preuve est VERIFIED : le statut du transfert lié, null s'il n'y en a aucun.
Présent tant que la preuve reste PENDING : une capture d'écran soumise en attente d'examen, ou un dépôt de test qui n'est pas encore confirmé.
Présent sur un dépôt de test en attente : raison pour laquelle il n'est pas encore confirmé.
, 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