跳转到主要内容
Legitmark 发送三种事件类型。每个 Webhook 目标地址自动接收所有事件。

state_change

当服务请求转换到新状态时发送。这是跟踪鉴定进度和结果的主要事件。

Payload

{
  "event_type": "state_change",
  "sr_uuid": "b16c763b-1723-455d-ba29-164418044886",
  "reference_id": "YOUR-INTERNAL-ITEM-ID",
  "state": {
    "primary": "COMPLETE",
    "supplement": "APPROVED"
  },
  "timestamp": "2026-02-10T12:00:00.000Z"
}

字段

event_type
string
必填
固定为 "state_change"
sr_uuid
string
必填
服务请求 UUID。
reference_id
string | null
您的内部商品 ID — 创建服务请求时设置的 external_id
state
object
必填
timestamp
string
必填
状态变更发生时的 ISO 8601 时间戳。

状态转换

下表列出了您应该处理的最常见状态转换:
state.primarystate.supplement含义
QCPENDING照片已提交,正在质量审核中
QCREJECTED照片未通过质量审核 — 随后会收到包含详情的 media_rejected 事件
QCAPPROVED照片通过质量审核,鉴定开始
UNDERWAYASSIGNED鉴定师已分配
COMPLETEAPPROVED商品为正品
COMPLETEREJECTED商品非正品
最重要的状态转换是 COMPLETE + APPROVEDCOMPLETE + REJECTED — 这是最终鉴定结果。参阅服务请求状态了解完整的状态机。使用 TypeScript SDK(v0.2.0+),您可以使用 isAuthentic(event)isCounterfeit(event) 来检查这些状态,而无需手动比较字符串。参阅 Webhook 处理指南

media_rejected

当上传的图片未通过质量审核时发送。每张被拒绝的图片都包含面名称和拒绝原因,以便您提示用户重新上传特定照片。

Payload

{
  "event_type": "media_rejected",
  "sr_uuid": "b16c763b-1723-455d-ba29-164418044886",
  "reference_id": "YOUR-INTERNAL-ITEM-ID",
  "sides": [
    {
      "side": "Front",
      "reason": "图像模糊",
      "message": "提交的图像太模糊。请拍摄更清晰的照片,确保最小的运动以提高准确性。"
    },
    {
      "side": "Interior",
      "reason": "光线不足",
      "message": "提交的图像光线不足。请拍摄一张光线更好的新照片以提高可见度。"
    }
  ],
  "timestamp": "2026-02-10T12:15:00.000Z"
}

字段

event_type
string
必填
固定为 "media_rejected"
sr_uuid
string
必填
服务请求 UUID。
reference_id
string | null
您的内部商品 ID。
sides
array
必填
被拒绝图片及原因的数组。
timestamp
string
必填
ISO 8601 时间戳。
收到 media_rejected 事件时,用户需要重新上传被拒绝的特定面的图片,服务请求才能继续。请使用 side 名称和 message 提示用户,以提供最佳体验。
使用 TypeScript SDK,needsResubmission(event) 对此事件类型返回 true。参阅 Webhook 处理指南

invalidate_sr

当服务请求被取消时发送。

Payload

{
  "event_type": "invalidate_sr",
  "sr_uuid": "b16c763b-1723-455d-ba29-164418044886",
  "reference_id": "YOUR-INTERNAL-ITEM-ID",
  "invalidation_reason": {
    "code": "CANCELLED",
    "message": "Service request cancelled"
  },
  "timestamp": "2026-02-10T14:30:00.000Z"
}

字段

event_type
string
必填
固定为 "invalidate_sr"
sr_uuid
string
必填
服务请求 UUID。
reference_id
string | null
您的内部商品 ID。
invalidation_reason
object
必填
timestamp
string
必填
ISO 8601 时间戳。