> ## Documentation Index
> Fetch the complete documentation index at: https://docs.legitmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ステータス

> サービスリクエストの状態とワークフロー遷移。

## 概要

サービスリクエストは 2 部構成の状態システムを使用します：

* 主要状態：メインステージ（DRAFT → QC → UNDERWAY → COMPLETE）
* 補足状態：追加コンテキスト（PENDING、APPROVED、REJECTED など）

## 状態の組み合わせ

| 主要状態        | 補足状態       | 説明              | パートナーアクション |
| ----------- | ---------- | --------------- | ---------- |
| `DRAFT`     | -          | 作成直後、要件が不足      | 支払い/画像を完了  |
| `QC`        | `PENDING`  | 品質管理レビュー待ち      | レビューを待機    |
| `QC`        | `REJECTED` | 品質管理で問題発見       | 問題を修正して再提出 |
| `QC`        | `APPROVED` | 品質管理合格          | 認証を待機      |
| `QC`        | `COMPLETE` | QC 中のファストトラック完了 | 最終結果を確認    |
| `UNDERWAY`  | `PENDING`  | 認証割り当て準備完了      | 割り当てを待機    |
| `UNDERWAY`  | `ASSIGNED` | 認証者が割り当てられ作業中   | 完了を待機      |
| `UNDERWAY`  | `APPROVED` | 認証プロセス完了        | 最終結果を待機    |
| `COMPLETE`  | `APPROVED` | 本物 - アイテムが本物と確認 | 認証合格       |
| `COMPLETE`  | `REJECTED` | 偽物 - アイテムは偽造品   | 認証不合格      |
| `COMPLETE`  | `COMPLETE` | ドキュメント付きで完全処理済み | 認証完了       |
| `CANCELLED` | -          | サービスリクエストがキャンセル | リクエストキャンセル |

## ワークフロー

```mermaid theme={null}
graph TD
    A[DRAFT] --> B[QC + PENDING]
    B --> C[QC + REJECTED]
    B --> D[QC + APPROVED]
    C --> B
    D --> E[UNDERWAY + ASSIGNED]
    E --> F[UNDERWAY + APPROVED]
    F --> G[COMPLETE + APPROVED]
    F --> H[COMPLETE + REJECTED]
    A --> I[CANCELLED]
    B --> I
    E --> I
    
    style A fill:#e1f5fe
    style I fill:#ffebee
    style G fill:#e8f5e8
    style H fill:#ffeaa7
```

## 処理が必要な主要状態

| 状態                    | 必要なアクション                           |
| --------------------- | ---------------------------------- |
| `QC + REJECTED`       | 問題を修正 - フィードバックを確認し、画像を追加、または詳細を修正 |
| `COMPLETE + APPROVED` | 認証合格 - アイテムが本物と確認                  |
| `COMPLETE + REJECTED` | 認証不合格 - アイテムは本物ではない                |
| `CANCELLED`           | リクエストキャンセル - サービスリクエストがキャンセルされた    |

## 実装

```javascript theme={null}
// 基本的な状態処理
function handleServiceRequestUpdate(sr) {
  if (sr.state.primary === 'QC' && sr.state.supplement === 'REJECTED') {
    showAttentionRequired(sr); // パートナーアクションが必要
  }
  
  if (sr.state.primary === 'COMPLETE') {
    if (sr.state.supplement === 'APPROVED') {
      handleAuthentic(sr); // 認証合格
    } else {
      handleNotAuthentic(sr); // 認証不合格
    }
  }
}
```

## Webhook

Webhook を通じてリアルタイム更新が利用可能：

* `state_change` - 任意の状態遷移
* `media_rejected` - 画像の修正が必要
* `invalidate_sr` - リクエストがキャンセル

完全な詳細は [Webhook イベント](/ja/webhook-reference/introduction) をご覧ください。
