curl -X GET 'https://verification.didit.me/v3/transactions/abcdef12-3456-7890-abcd-ef1234567890/notes/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.transactions.notes.list(
"abcdef12-3456-7890-abcd-ef1234567890",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.transactions.notes.list("abcdef12-3456-7890-abcd-ef1234567890")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Transactions.Notes.ListAutoPaging(ctx, "abcdef12-3456-7890-abcd-ef1234567890", didit.TransactionsNotesListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.transactions().notes().list("abcdef12-3456-7890-abcd-ef1234567890")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->transactions->notes->list('abcdef12-3456-7890-abcd-ef1234567890') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.transactions.notes.list("abcdef12-3456-7890-abcd-ef1234567890").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.Transactions.Notes.ListAsync("abcdef12-3456-7890-abcd-ef1234567890"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "c1111111-2222-4333-8444-555555555555",
"note": "Customer confirmed the withdrawal by phone.",
"actor_email": null,
"actor_name": null,
"metadata": {
"mentioned_emails": [
"analyst@example.com"
]
},
"created_at": "2026-10-16T10:05:12.481203Z"
},
{
"uuid": "c2222222-3333-4444-8555-666666666666",
"note": "Status changed from IN_REVIEW to APPROVED. Reason: Source of funds verified",
"actor_email": "reviewer@example.com",
"actor_name": "Alex Reviewer",
"metadata": {
"type": "status_change",
"previous_status": "IN_REVIEW",
"new_status": "APPROVED",
"reason_code": "SOF_VERIFIED",
"reason_label": "Source of funds verified"
},
"created_at": "2026-10-15T17:22:40.103911Z"
},
{
"uuid": "c3333333-4444-4555-8666-777777777777",
"note": "Large withdrawal to a new wallet: check the source of funds.",
"actor_email": null,
"actor_name": "Rule Engine",
"metadata": {
"rule_uuid": "d1111111-2222-4333-8444-555555555555",
"source": "rule_action"
},
"created_at": "2026-10-15T08:42:12.004518Z"
}
]
}거래 메모 목록 조회 API
Didit에서 모니터링 중인 거래의 메모를 최신순으로 조회합니다. API 메모, 검토자 메모, 규칙 메모, 상태 변경 내역을 limit과 offset으로 페이지 나눠 확인할 수 있습니다.
curl -X GET 'https://verification.didit.me/v3/transactions/abcdef12-3456-7890-abcd-ef1234567890/notes/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.transactions.notes.list(
"abcdef12-3456-7890-abcd-ef1234567890",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.transactions.notes.list("abcdef12-3456-7890-abcd-ef1234567890")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.Transactions.Notes.ListAutoPaging(ctx, "abcdef12-3456-7890-abcd-ef1234567890", didit.TransactionsNotesListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.transactions().notes().list("abcdef12-3456-7890-abcd-ef1234567890")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->transactions->notes->list('abcdef12-3456-7890-abcd-ef1234567890') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.transactions.notes.list("abcdef12-3456-7890-abcd-ef1234567890").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.Transactions.Notes.ListAsync("abcdef12-3456-7890-abcd-ef1234567890"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "c1111111-2222-4333-8444-555555555555",
"note": "Customer confirmed the withdrawal by phone.",
"actor_email": null,
"actor_name": null,
"metadata": {
"mentioned_emails": [
"analyst@example.com"
]
},
"created_at": "2026-10-16T10:05:12.481203Z"
},
{
"uuid": "c2222222-3333-4444-8555-666666666666",
"note": "Status changed from IN_REVIEW to APPROVED. Reason: Source of funds verified",
"actor_email": "reviewer@example.com",
"actor_name": "Alex Reviewer",
"metadata": {
"type": "status_change",
"previous_status": "IN_REVIEW",
"new_status": "APPROVED",
"reason_code": "SOF_VERIFIED",
"reason_label": "Source of funds verified"
},
"created_at": "2026-10-15T17:22:40.103911Z"
},
{
"uuid": "c3333333-4444-4555-8666-777777777777",
"note": "Large withdrawal to a new wallet: check the source of funds.",
"actor_email": null,
"actor_name": "Rule Engine",
"metadata": {
"rule_uuid": "d1111111-2222-4333-8444-555555555555",
"source": "rule_action"
},
"created_at": "2026-10-15T08:42:12.004518Z"
}
]
}activities를 포함한 거래 자체를 조회할 수 있습니다.
actor_name이 Rule Engine으로 설정된 노트는 Didit에서 생성된 것입니다. 규칙의 add_note 작업으로 생성되었거나, AWAITING_USER 상태의 거래에서 사용자 작업 인증 세션을 생성하는 중 문제가 발생해 생성된 것입니다(세션을 생성할 수 없었거나 Didit이 다른 워크플로로 전환한 경우).인증
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 를 참고하십시오.
경로 매개변수
Didit 거래 UUID: POST /v3/transactions/ 및 GET /v3/transactions/에서 반환된 uuid입니다. 자체 txn_id는 허용되지 않습니다.
쿼리 매개변수
페이지당 메모 수입니다. 기본값은 50입니다. 양의 정수가 아닌 값은 50으로 대체되며, 1000000을 초과하는 값은 400을 반환합니다.
1 <= x <= 1000000반환할 첫 번째 노트의 0부터 시작하는 위치입니다. next를 따르는 것이 좋습니다. 0 이상의 정수가 아닌 값은 0으로 대체되며, 1000000을 초과하는 값은 400을 반환합니다.
0 <= x <= 1000000