Legitmark は 3 種類のイベントタイプを送信します。すべての Webhook 送信先は自動的にすべてのイベントを受信します。
state_change
サービスリクエストが新しいステータスに遷移したときに送信されます。鑑定の進捗と結果を追跡するための主要なイベントです。
Payload
フィールド
貴社の内部商品 ID — サービスリクエスト作成時に設定した external_id。
ステータス変更が発生した時点の ISO 8601 タイムスタンプ。
ステータス遷移
以下の表は、処理すべき最も一般的なステータス遷移を示しています:
最も重要なステータス遷移は COMPLETE + APPROVED または COMPLETE + REJECTED です — これが最終鑑定結果です。完全なステートマシンについてはサービスリクエストのステータスをご覧ください。TypeScript SDK(v0.2.0+)を使用すると、文字列を手動で比較する代わりに isAuthentic(event) と isCounterfeit(event) でチェックできます。Webhook 処理ガイドを参照してください。
アップロードされた画像が品質管理に通らなかった場合に送信されます。拒否された各画像には面の UUID と拒否理由が含まれます。差し替え写真のアップロードにはこの UUID を使います。
Payload
フィールド
拒否された画像と理由の配列。
面の UUID。Get SR で返る面の UUID と同じ値で、差し替え写真のアップロード時に渡します。
拒否理由。Legitmark の理由データベースからの人間が読める文字列です(例:"画像がぼやけている"、"照明不足")。新しい理由が追加されると値が変わる可能性があります。
ユーザーが問題を修正するためのガイダンスを含む詳細な説明。
media_rejected を受信したとき、サービスリクエストは QC / REJECTED です。sides の各要素について、side を面の UUID として新しい写真をアップロードしてから POST /api/v2/sr/{sr_uuid}/resubmit を呼び出します。この呼び出しで QC / PENDING に戻ります。POST /submit が使えるのは DRAFT のときだけです。QC / REJECTED から呼ぶと 400(Cannot submit: Service request is not in DRAFT state)が返ります。
TypeScript SDK を使用すると、needsResubmission(event) がこのイベントタイプに対して true を返します。Webhook 処理ガイドを参照してください。
invalidate_sr
サービスリクエストがキャンセルされた場合に送信されます。
Payload
フィールド
表示 invalidation_reason プロパティ
理由コード。現在は常に "CANCELLED" です。将来、追加のコードが導入される可能性があります。
具体的なキャンセル理由。一般的な値:
"Unsupported Product or SKU"(サポートされていない製品またはSKU)
"Unsupported Channel"(サポートされていないチャネル)
"Service Request Inactivity"(サービスリクエストの非アクティブ)
"Duplicate Service Request"(重複するサービスリクエスト)
"Insufficient Product Information"(製品情報の不足)
"Customer Requested Cancellation"(お客様によるキャンセル依頼)
"Poor Image Quality or Unusable Media"(画像品質が低いまたは使用不可のメディア)
カスタムのフリーテキスト理由も表示される場合があります。