> ## 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.

# 状态

> 服务请求状态和工作流程转换。

## 概述

服务请求使用两部分状态系统：

* 主要状态：主要阶段（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); // 认证失败
    }
  }
}
```

## Webhooks

通过 webhooks 可获得实时更新：

* `state_change` - 任何状态转换
* `media_rejected` - 图片需要修复
* `invalidate_sr` - 请求已取消

查看 [Webhook 事件](/cn/webhook-reference/introduction) 获取完整详情。
