メインコンテンツへスキップ
Legitmark は 3 種類のイベントタイプを送信します。すべての 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 + APPROVED または COMPLETE + 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 タイムスタンプ。