---
url: "https://pay.weixin.qq.com/doc/v3/partner/4017151726.md"
title: "回复需要即时服务的投诉单"
doc_id: 4017151726
---

>更新时间：2026.01.22

商户可通过调用此接口，针对需要即时服务的投诉单（need\_immediate\_service为true）提交内容回复用户。此接口支持使用新版消息格式（NormalMessage），可发送富文本、图片、按钮组等多种消息类型。其中上传图片凭证需首先调用[商户上传反馈图片接口](https://pay.weixin.qq.com/doc/v3/partner/4012467222.md)，得到图片id，再将id填入请求。

首次回复用户后，投诉单状态将由待处理更新为处理中。




## 接口说明

支持商户：【普通服务商】　【从业机构（银行）】　【从业机构（支付机构）】　【渠道商】　【清算机构】

请求方式：【POST】 `/v3/merchant-service/complaints-v2/{complaint_id}/response-immediate-service`

请求域名：【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

　　　　　【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点，指引[点击查看](https://pay.weixin.qq.com/doc/v3/merchant/4012075113.md)

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/v3/merchant/4012365342.md#%E8%AF%B7%E6%B1%82%E6%8E%A5%E5%8F%A3%E5%90%8E%E7%AB%AF%E7%AD%BE%E5%90%8D) 生成认证信息 |
| Accept | string | true | 请设置为 `application/json` |
| Content-Type | string | true | 请设置为 `application/json` |
### Path 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| complaint_id | string(64) | true | 【投诉单号】 投诉单对应的投诉单号 |
### Body 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| complainted_mchid | string(64) | true | 【被诉商户号】 投诉单对应的被诉商户号 |
| message | object | true | 【消息内容】 使用新版消息格式的消息内容，支持文本、图片、链接、推荐问题、按钮和按钮组等多种消息类型。商户可通过组合不同的消息块来构建丰富的回复内容 |
| message.blocks | array[object] | false | 【消息内容】 消息内容块列表，支持文本、图片、链接、推荐FAQ、按钮和按钮组等多种类型的消息块 |
| message.blocks.type | string | false | 【消息块类型】 消息块类型，用于标识当前消息块的内容类型<br>可选取值<br><ul><li>`TEXT`:  文本</li><li>`IMAGE`:  图片</li><li>`LINK`:  链接</li><li>`FAQ_LIST`:  FAQ列表</li><li>`BUTTON`:  按钮</li><li>`BUTTON_GROUP`:  按钮组</li></ul> |
| message.blocks.text | object | false | 【文本】 文本消息块，当type为TEXT时使用 |
| message.blocks.text.text | string | false | 【文字内容】 文字内容 |
| message.blocks.text.color | string | false | 【文本颜色】 文本颜色<br>可选取值<br><ul><li>`DEFAULT`:  默认文本内容颜色</li><li>`SECONDARY`:  次要文本内容颜色</li></ul> |
| message.blocks.text.is_bold | boolean | false | 【是否粗体】 是否粗体 |
| message.blocks.image | object | false | 【图片】 图片消息块，当type为IMAGE时使用 |
| message.blocks.image.media_id | string | false | 【媒体ID】 媒体ID |
| message.blocks.image.image_style_type | string | false | 【图片样式类型】 图片样式类型<br>可选取值<br><ul><li>`IMAGE_STYLE_TYPE_NARROW`:  窄图</li><li>`IMAGE_STYLE_TYPE_WIDE`:  宽图</li></ul> |
| message.blocks.link | object | false | 【链接】 链接消息块，当type为LINK时使用 |
| message.blocks.link.text | string | false | 【链接文案】 链接文案 |
| message.blocks.link.action | object | false | 【动作】 动作 |
| message.blocks.link.action.action_type | string | false | ActionType 动作类型<br>可选取值<br><ul><li>`ACTION_TYPE_SEND_MESSAGE`:  回复消息，用户点击后会发送消息，此时message\_info必填</li><li>`ACTION_TYPE_JUMP_URL`:  链接，用户点击后跳转链接，此时jump\_url必填</li><li>`ACTION_TYPE_JUMP_MINI_PROGRAM`:  小程序，用户点击后跳转到小程序页面，此时</li></ul> |
| message.blocks.link.action.jump_url | string | false | 跳转链接 |
| message.blocks.link.action.mini_program_jump_info | object | false | 跳转的小程序 |
| message.blocks.link.action.mini_program_jump_info.appid | string | false | 小程序appid |
| message.blocks.link.action.mini_program_jump_info.path | string | false | 小程序path |
| message.blocks.link.action.message_info | object | false | 回复消息内容 |
| message.blocks.link.action.message_info.content | string | true | 回复的消息内容 |
| message.blocks.link.action.message_info.custom_data | string | false | 自定义透传字段 |
| message.blocks.link.action.action_id | string | false | 动作id |
| message.blocks.link.invalid_info | object | false | 【失效配置】 失效配置 |
| message.blocks.link.invalid_info.expired_time | string | false | 过期时间，遵循rfc3339标准格式，格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE，yyyy-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。 |
| message.blocks.link.invalid_info.multi_clickable | boolean | false | 是否可以多次点击 |
| message.blocks.faq_list | object | false | 【FAQ列表】 FAQ列表，当type为FAQ\_LIST时使用 |
| message.blocks.faq_list.faqs | array[object] | false | 【FAQ列表】 FAQ列表 |
| message.blocks.faq_list.faqs.faq_id | string | false | 【faq的id】 faq的id |
| message.blocks.faq_list.faqs.faq_title | string | false | 【faq内容】 faq内容 |
| message.blocks.faq_list.faqs.action | object | false | 【动作】 动作 |
| message.blocks.faq_list.faqs.action.action_type | string | false | ActionType 动作类型<br>可选取值<br><ul><li>`ACTION_TYPE_SEND_MESSAGE`:  回复消息，用户点击后会发送消息，此时message\_info必填</li><li>`ACTION_TYPE_JUMP_URL`:  链接，用户点击后跳转链接，此时jump\_url必填</li><li>`ACTION_TYPE_JUMP_MINI_PROGRAM`:  小程序，用户点击后跳转到小程序页面，此时</li></ul> |
| message.blocks.faq_list.faqs.action.jump_url | string | false | 跳转链接 |
| message.blocks.faq_list.faqs.action.mini_program_jump_info | object | false | 跳转的小程序 |
| message.blocks.faq_list.faqs.action.mini_program_jump_info.appid | string | false | 小程序appid |
| message.blocks.faq_list.faqs.action.mini_program_jump_info.path | string | false | 小程序path |
| message.blocks.faq_list.faqs.action.message_info | object | false | 回复消息内容 |
| message.blocks.faq_list.faqs.action.message_info.content | string | true | 回复的消息内容 |
| message.blocks.faq_list.faqs.action.message_info.custom_data | string | false | 自定义透传字段 |
| message.blocks.faq_list.faqs.action.action_id | string | false | 动作id |
| message.blocks.button | object | false | 【按钮】 按钮消息块，当type为BUTTON时使用 |
| message.blocks.button.text | string | false | 【按钮文本】 按钮文本 |
| message.blocks.button.action | object | false | 【动作】 动作 |
| message.blocks.button.action.action_type | string | false | ActionType 动作类型<br>可选取值<br><ul><li>`ACTION_TYPE_SEND_MESSAGE`:  回复消息，用户点击后会发送消息，此时message\_info必填</li><li>`ACTION_TYPE_JUMP_URL`:  链接，用户点击后跳转链接，此时jump\_url必填</li><li>`ACTION_TYPE_JUMP_MINI_PROGRAM`:  小程序，用户点击后跳转到小程序页面，此时</li></ul> |
| message.blocks.button.action.jump_url | string | false | 跳转链接 |
| message.blocks.button.action.mini_program_jump_info | object | false | 跳转的小程序 |
| message.blocks.button.action.mini_program_jump_info.appid | string | false | 小程序appid |
| message.blocks.button.action.mini_program_jump_info.path | string | false | 小程序path |
| message.blocks.button.action.message_info | object | false | 回复消息内容 |
| message.blocks.button.action.message_info.content | string | true | 回复的消息内容 |
| message.blocks.button.action.message_info.custom_data | string | false | 自定义透传字段 |
| message.blocks.button.action.action_id | string | false | 动作id |
| message.blocks.button.invalid_info | object | false | 【失效配置】 失效配置 |
| message.blocks.button.invalid_info.expired_time | string | false | 过期时间，遵循rfc3339标准格式，格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE，yyyy-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。 |
| message.blocks.button.invalid_info.multi_clickable | boolean | false | 是否可以多次点击 |
| message.blocks.button_group | object | false | 【按钮组】 按钮组消息块，当type为BUTTON\_GROUP时使用 |
| message.blocks.button_group.buttons | array[object] | false | 【按钮组】 按钮组 |
| message.blocks.button_group.buttons.text | string | false | 【按钮文本】 按钮文本 |
| message.blocks.button_group.buttons.action | object | false | 【动作】 动作 |
| message.blocks.button_group.buttons.action.action_type | string | false | ActionType 动作类型<br>可选取值<br><ul><li>`ACTION_TYPE_SEND_MESSAGE`:  回复消息，用户点击后会发送消息，此时message\_info必填</li><li>`ACTION_TYPE_JUMP_URL`:  链接，用户点击后跳转链接，此时jump\_url必填</li><li>`ACTION_TYPE_JUMP_MINI_PROGRAM`:  小程序，用户点击后跳转到小程序页面，此时</li></ul> |
| message.blocks.button_group.buttons.action.jump_url | string | false | 跳转链接 |
| message.blocks.button_group.buttons.action.mini_program_jump_info | object | false | 跳转的小程序 |
| message.blocks.button_group.buttons.action.mini_program_jump_info.appid | string | false | 小程序appid |
| message.blocks.button_group.buttons.action.mini_program_jump_info.path | string | false | 小程序path |
| message.blocks.button_group.buttons.action.message_info | object | false | 回复消息内容 |
| message.blocks.button_group.buttons.action.message_info.content | string | true | 回复的消息内容 |
| message.blocks.button_group.buttons.action.message_info.custom_data | string | false | 自定义透传字段 |
| message.blocks.button_group.buttons.action.action_id | string | false | 动作id |
| message.blocks.button_group.button_layout | string | false | 【按钮布局方式】 按钮布局方式，默认 LAYOUT\_HORIZONTAL<br>可选取值<br><ul><li>`LAYOUT_UNKNOWN`:</li><li>`LAYOUT_HORIZONTAL`:  水平排列</li><li>`LAYOUT_VERTICAL`:  垂直排列</li></ul> |
| message.blocks.button_group.invalid_info | object | false | 【失效配置】 失效配置 |
| message.blocks.button_group.invalid_info.expired_time | string | false | 过期时间，遵循rfc3339标准格式，格式为yyyy-MM-DDTHH:mm:ss+TIMEZONE，yyyy-MM-DD表示年月日，T出现在字符串中，表示time元素的开头，HH:mm:ss表示时分秒，TIMEZONE表示时区（+08:00表示东八区时间，领先UTC 8小时，即北京时间）。例如：2015-05-20T13:29:35+08:00表示，北京时间2015年5月20日13点29分35秒。 |
| message.blocks.button_group.invalid_info.multi_clickable | boolean | false | 是否可以多次点击 |
| message.sender_identity | string | false | 【发送者身份类别】 发送者身份类别，标识消息是由人工还是机器发送<br>可选取值<br><ul><li>`UNKNOWN`:  未知</li><li>`MANUAL`:  人工</li><li>`MACHINE`:  机器</li></ul> |
| message.custom_data | string(4096) | false | 【自定义透传信息】 商户自定义的透传数据，用于传递业务相关信息 |
| idempotent_id | string(128) | true | 【幂等ID】 幂等性控制ID，用于保证同一请求的重复提交不会产生重复操作。建议使用UUID或时间戳+随机字符串的组合，确保唯一性。相同idempotent\_id的请求只会被处理一次 |
## 应答参数

200 OK

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| log_id | string(64) | true | 【操作流水号】 本次回复操作的操作流水号，可用于查询该操作的详细信息。该流水号与查询投诉单协商历史接口返回的log\_id对应，可用于追踪和去重 |
## 错误码

以下是本接口返回的错误码列表。详细错误码规则，请参考[微信支付接口规则-错误码和错误提示](https://pay.weixin.qq.com/doc/v3/partner/4012081726.md#%E9%94%99%E8%AF%AF%E7%A0%81%E5%92%8C%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA)

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/v3/merchant/4012081709.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/merchant/4012072670.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

请求示例

- [curl 示例](https://pay.weixin.qq.com/doc/v3/partner/4017151726-curl.md)
- [Java 示例](https://pay.weixin.qq.com/doc/v3/partner/4017151726-java.md)
- [Go 示例](https://pay.weixin.qq.com/doc/v3/partner/4017151726-go.md)


应答示例

> 200 OK

```
{
  "log_id" : "300285320210322170000071077"
}

```
