# 维保结果查询 · 维修保养记录精准版

> 本文档为机器可读 Markdown，便于 AI / SDK 自动对接。页面原文：https://www.wapi.cn/api_detail/170/379.html
> 纯文本地址：`https://www.wapi.cn/api_detail/170/379.html?format=md`

## 概览

- **接口名称**：维修保养记录精准版
- **子接口**：维保结果查询（ID `379`）
- **接口简介**：为您提供汽车保养记录,汽车维修记录,车辆维修保养记录查询,支持api对接和在线查询，不同品牌价格有差异，详细请查看下方价格明细表。价格明细表：支持品牌及查询价格>>
传祺、日产、比亚迪、三菱、广汽埃安查询维保时需要提供上传发动机号，否则会查询失败
一般情况下查询后15分钟内返回结果，部分订单是走人工渠道的，人工渠道晚上18.30之后会关闭，第二天早上9点开启
单次充值满2000以上，额外赠送5%
若保养记录没走4s店或者没录入系统的将无法查询到
- **计费说明**：14.00-29.00元
- **请求地址**：`https://uaqy.api.storeapi.net/pyi/170/379`（支持 http/https）
- **请求方式**：`GET,POST`
- **返回格式**：`json,xml`
- **Content-Type（POST）**：`application/x-www-form-urlencoded;charset=utf-8`

## 子接口列表

- `323` 维修保养记录下单
- `324` 品牌及价格
- `379` 维保结果查询 ← 当前

## 请求参数

| 名称 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| `appid` | 是 | String | 应用ID，在后台我的应用查看或者添加 | 1 |
| `car_request_id` | 是 | String | 提交维保时返回的request_id | 9d10df45964fd60941aaf0f59d4b80c2 |
| `debug` | 否 | String | 调试参数，当此值为1时，返回的为虚拟调试数据。使用接口对接完成之后请去掉些参数即可 | 1 |
| `format` | 否 | String | 返回数据格式类型，每个接口已经说明支持返回格式:json,xml, jsonp调用方法说明 | json |
| `sign` | 是 | String | 1.使用Md5方式验证，参数按一定规则md5后返回的字符串，详情点击这里阅读 2.使用Hash验证方式，直接跟上密钥即可。如何设置hash验证 通过我的应用里面修改验证方式 | 52a32be274a5c537bbf7a53e2d66c09f |

## 签名（MD5）

按参数名排序后拼接「键名+值」，空值不参与；末尾直接追加 32 位密钥（密钥不写键名）：

```
sign = MD5(appid1car_request_id9d10df45964fd60941aaf0f59d4b80c2debug1formatjson{secret})
```

说明：示例中 `appid` 默认为 `1`，请替换为「我的应用」中的 appid；密钥为应用 Secret。

## 返回参数

| 名称 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| `appearance_is_repair` | 否 | Integer | 外观件是否有维修(1是, 2否,0没有这项) | 0 |
| `brand_id` | 是 | Integer | 品牌id | 76 |
| `car_is_fire` | 否 | Integer | 是否火烧(1是, 2否,0没有这项) | 0 |
| `car_is_water` | 否 | Integer | 是否泡水(1是, 2否,0没有这项) | 0 |
| `car_no` | 是 | String | 查询的车牌号,必须大写 |  |
| `codeid` | 否 | Integer | 状态码，返回10000状态都会进行计费。具体说明可查看状态码说明 | 10000 |
| `content` | 否 | String |  | 2014 BMW秋季活动免费检测 |
| `engine_no` | 否 | String | 发动机号 |  |
| `important_parts_is_repair` | 否 | Integer | 重要部件是否维修(1是, 2否,0没有这项) | 0 |
| `kilomete` | 否 | String | 维保公里数 | 74537 |
| `kilomete_is_normal` | 否 | Integer | 公里数是否正常(1正常, 2不正常,0没有这项) | 0 |
| `last_kilometer` | 否 | String | 最后公里数 | 107653 |
| `last_maintain_time` | 否 | Integer | 最后保养时间 | 1436457600 |
| `last_repair_time` | 否 | Integer | 最后维修时间 | 1436457600 |
| `last_to_shop_time` | 否 | Integer | 最后到店时间 | 1436457600 |
| `maintain_dateline` | 否 | Integer | 维保时间戳 | 1411228800 |
| `maintain_type` | 否 | String | 维保类型 | 内部结算 |
| `message` | 否 | String | 请求状态说明 | 查询成功 |
| `meterial` | 否 | String | 维保材料 |  |
| `query_id` | 否 | String |  | 12f6635c7d2b62355f7d557aada3fd9b |
| `result` | 否 | Array | 查询结果列表 |  |
| `result_status` | 否 | String | 查询状态(1成功, 2查询中, 3失败) | 1 |
| `retdata` | 否 | Array | 回数据集合,可能是数据、对象或者字符串 |  |
| `structure_is_repair` | 否 | Integer | 结构件是否有维修(1是, 2否) | 0 |
| `time` | 否 | String | 请求时传递的当前服务器时间戳 | 1705376892 |
| `vin` | 否 | String | 车架号(vin) | LS5A2DKRXPA011111 |
| `vin_sub` | 否 | String | VIN前缀 | LS5 |

## JSON 返回示例

```json
{
    "codeid": "10000",
    "message": "查询成功",
    "retdata": {
        "query_id": "12f6635c7d2b62355f7d557aada3fd9b",
        "vin": "LS5A2DKRXPA011111",
        "car_no": "",
        "engine_no": "",
        "brand_id": "76",
        "result_status": "1",
        "vin_sub": "LS5",
        "result": {
            "car_is_fire": 0,
            "car_is_water": 0,
            "structure_is_repair": 0,
            "appearance_is_repair": 0,
            "kilomete_is_normal": 0,
            "important_parts_is_repair": 0,
            "last_maintain_time": 1436457600,
            "last_repair_time": 1436457600,
            "last_to_shop_time": 1436457600,
            "last_kilometer": "107653",
            "content": [
                {
                    "maintain_dateline": 1436457600,
                    "maintain_type": "保修服务",
                    "kilomete": "107653",
                    "content": "更换VANOS单元上的螺栓;更换输送单元及插头F07 F1x",
                    "meterial": "铝制螺栓;成型密封件;螺母;螺栓;输送模块"
                },
                {
                    "maintain_dateline": 1411228800,
                    "maintain_type": "内部结算",
                    "kilomete": "74537",
                    "content": "2014 BMW秋季活动免费检测",
                    "meterial": ""
                }
            ]
        }
    },
    "time": 1705376892
}
```

## 状态码说明

| 状态码 | 说明 |
| --- | --- |
| `10000` | 返回成功 |
| `10001` | appid必须指定，可以我的应用里面查看 |
| `10002` | sign值必须指定，加密规则请前往帮助中心查看 |
| `10003` | sign值验证不通过，加密规则请前往帮助中心查看 |
| `10004` | 时差不能超过10分钟，可以不传递这个参数，注意时间戳单位是秒 |
| `10005` | appid错误，请检查appid值,前往会员中心->我的应用查看或添加 |
| `10006` | 当前IP地址未授权，请前往用户中心->我的应用添加ip{@info} |
| `10007` | 应用被禁用，请联系客服处理 |
| `10008` | 应用内没有该接口，请到我的应用里面添加这个接口 |
| `10009` | api接口不存在 |
| `10010` | 您没有添加该api接口 |
| `10011` | api已经到期 |
| `10012` | 没有订购任何api,请前往购买后再操作 |
| `10013` | 该接口已经暂停使用 |
| `10014` | 未知的错误，可以联系客服处理 |
| `10015` | 参数个数错误 |
| `10019` | {@info} |
| `10017` | time必须是整型 |
| `10018` | 次数不足 |
| `10020` | 子接口不存在,可能已经被关闭 |
| `10021` | 服务器发生错误 |
| `10022` | 帐户余额不足，请充值！ |
| `10023` | 订单提交成功，等待回调结果 |
| `10024` | 调试模式数据 |
| `10025` | 查无数据 |

## 对接提示

1. 先在挖数据（wapi.cn）创建应用，获取 `appid` 与密钥。
2. 按上方参数组装请求，计算 `sign` 后调用接口地址。
3. 可用在线测试工具：`https://www.wapi.cn/api_debug/170/379.html`
