ข้อความที่ CDD Core รับ
Base address: POST {core_base_url}/functions/v1/trading-link/{route} ทุกคำขอมี envelope และ header x-link-key
/ping · PING
หัวข้อ “/ping · PING”ตรวจ link ตั้งแต่ต้นจนจบ body ว่างได้
{ "message_id": "…", "message_type": "PING", "sent_at": "…", "institution": "INST", "body": {} }/command-execution · COMMAND_EXECUTION
หัวข้อ “/command-execution · COMMAND_EXECUTION”คำตอบที่สองของคำสั่งจำกัดสิทธิ์ ส่งเมื่อขาของบัญชี เปลี่ยนสถานะจริงแล้ว
"body": { "command_ref": "RC-000123-3", "result": "EXECUTED", "leg_state_after": "RESTRICTED", "executed_at": "2026-09-20T08:15:31.004Z", "caught_in_flight": [ { "kind": "QUOTE_CANCELLED", "ref": "Q-260920-0437" }, { "kind": "WITHDRAWAL_HELD", "ref": "AW-260920-0044", "asset": "USDT", "amount": "400000.00" } ]}| Field | ค่า |
|---|---|
command_ref | ต้องมี คือ command_ref ของคำสั่งที่ตอบ |
result | EXECUTED · SUPERSEDED (มีคำสั่งที่ใหม่กว่าสำหรับขานั้นอยู่แล้ว) |
leg_state_after | RESTRICTED · OPEN |
executed_at | ต้องมี เวลา UTC |
caught_in_flight | ไม่บังคับ สิ่งที่การเปลี่ยนสถานะหยุดไว้กลางทาง เช่น quote ที่ยกเลิก หรือรายการถอนที่พักไว้ |
หากไม่มีรายงานการปฏิบัติภายใน 60 วินาที หลังใบรับ CDD Core แจ้งคำสั่งนั้นให้เจ้าหน้าที่
/feed · FEED_EVENT
หัวข้อ “/feed · FEED_EVENT”หนึ่งข้อความต่อหนึ่งเหตุการณ์ ส่งทันทีที่เกิด
"body": { "event_ref": "L-260920-0311", "event_type": "THB_IN", "core_customer_id": "5d0c…", "occurred_at": "2026-09-20T08:10:02.000Z", "data": { … }}| Field | กฎ |
|---|---|
event_ref | ต้องมี ไม่ซ้ำและคงที่ คือเลขรายการบัญชีหรือเลขอ้างอิงรายการ ref เดิมกับเหตุการณ์เดิมคือการส่งซ้ำ ref เดิมกับเหตุการณ์ต่างกันถูกปฏิเสธ |
event_type | ต้องมี เป็นหนึ่งในประเภทด้านล่าง |
core_customer_id | ต้องมี เป็นลูกค้าของสถาบันนี้ |
occurred_at | ต้องมี UTC, ISO 8601 วันที่ตามเวลาไทยคือวันทำการ |
data | ต้องมี เป็น JSON object รายละเอียดของเหตุการณ์ |
ประเภทเหตุการณ์ (DA Dealer) และสิ่งที่ data บรรยาย
event_type | data บรรยาย |
|---|---|
THB_IN | จำนวนเงิน ธนาคารและเลขบัญชีผู้โอนแบบปิดบางส่วน จับคู่อัตโนมัติหรือโดยเจ้าหน้าที่ บรรทัดใน statement |
THB_IN_SUSPENSE · THB_IN_RETURNED | จำนวนเงิน ธนาคารผู้โอน เหตุผล (ไม่พบเจ้าของ ขาถูกจำกัด ชื่อไม่ตรง) |
THB_OUT | จำนวนเงิน เลขอ้างอิงบัญชีปลายทาง ไฟล์การจ่าย ผลจากธนาคาร |
TRADE | คู่เหรียญ ฝั่งซื้อขาย จำนวนสินทรัพย์และเงินบาท ราคา ราคาอ้างอิง ช่องทาง quote และ dealer สำหรับ RFQ |
TRADE_REVERSAL | event_ref เดิม เหตุผล ผู้อนุมัติ |
DA_OUT · DA_IN | สินทรัพย์ chain จำนวน มูลค่าเป็นบาท address transaction hash เวลา และคำขอ verdict |
REFUSAL | สิ่งที่ถูกปฏิเสธ เหตุ และจำนวนเงินถ้ามี |
HOLD · HOLD_RELEASED | สิ่งที่พักไว้ เลขอ้างอิง เหตุผล |
ADJUSTMENT | Adjustment |
HEDGE_FILL · LP_MOVEMENT | Hedge fill · liquidity provider movement |
WALLET_SWEEP | Wallet sweep |
DEPOSIT_ADDRESS | Deposit address issued |
field ภายใน data เป็นไปตาม interface specification ที่ตกลงสำหรับการติดตั้งนั้น ประเภทที่ไม่อยู่ในรายการถูกปฏิเสธด้วย UNKNOWN_CODE
CDD Core ไม่คำนวณยอดคงเหลือจาก feed และระบบซื้อขายไม่คำนวณ alert การเฝ้าระวังธุรกรรมทำงานบน feed ภายใน CDD Core
/feed-completeness · FEED_COMPLETENESS_DAILY
หัวข้อ “/feed-completeness · FEED_COMPLETENESS_DAILY”วันละครั้งหลังปิดวัน สำหรับแต่ละวันทำการ
"body": { "business_day": "2026-09-20", "counts": { "THB_IN": 41, "TRADE": 388, "DA_OUT": 12 }, "first_event_ref": "L-260920-0001", "last_event_ref": "L-260920-0511", "sha256_of_sorted_event_refs": "9f2c…e1a0"}| Field | กฎ |
|---|---|
business_day | ต้องมี รูปแบบ YYYY-MM-DD (วันที่ตามเวลาไทย) |
counts | ต้องมี ประเภทเหตุการณ์ → จำนวนเต็ม |
first_event_ref · last_event_ref | ไม่บังคับ เป็นข้อความ |
sha256_of_sorted_event_refs | ต้องมี 64 ตัวอักษร hex คือ SHA-256 ของ event ref ทั้งหมดของวันนั้นที่เรียงแล้ว |
CDD Core เทียบจำนวนและ hash กับที่ตนได้รับ หากต่างกันถือเป็น break และแจ้งทั้งสองฝั่งในวันเดียวกัน