回复需要即时服务的投诉单

更新时间:2026.01.22

商户可通过调用此接口,针对需要即时服务的投诉单(need_immediate_service为true)提交内容回复用户。此接口支持使用新版消息格式(NormalMessage),可发送富文本、图片、按钮组等多种消息类型。其中上传图片凭证需首先调用商户上传反馈图片接口,得到图片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 使用该域名将访问异地的接入点 ,指引点击查看

请求参数
折叠全部参数

Header  HTTP头参数

 Authorization  必填 string

请参考签名认证生成认证信息


 Accept  必填 string

请设置为application/json


 Content-Type  必填 string

请设置为application/json


path  路径参数

 complaint_id  必填   string(64)

【投诉单号】 投诉单对应的投诉单号


body  包体参数

 complainted_mchid  必填   string(64)

【被诉商户号】 投诉单对应的被诉商户号


 message  必填   object

【消息内容】 使用新版消息格式的消息内容,支持文本、图片、链接、推荐问题、按钮和按钮组等多种消息类型。商户可通过组合不同的消息块来构建丰富的回复内容

属性

 blocks  选填   array[object]

【消息内容】 消息内容块列表,支持文本、图片、链接、推荐FAQ、按钮和按钮组等多种类型的消息块

属性

 type  选填   string

【消息块类型】 消息块类型,用于标识当前消息块的内容类型

可选取值

  • TEXT:  文本

  • IMAGE:  图片

  • LINK:  链接

  • FAQ_LIST:  FAQ列表

  • BUTTON:  按钮

  • BUTTON_GROUP:  按钮组


 text  选填   object

【文本】 文本消息块,当type为TEXT时使用

属性

 text  选填   string

【文字内容】 文字内容


 color  选填   string

【文本颜色】 文本颜色

可选取值

  • DEFAULT:  默认文本内容颜色

  • SECONDARY:  次要文本内容颜色


 is_bold  选填   boolean

【是否粗体】 是否粗体


 image  选填   object

【图片】 图片消息块,当type为IMAGE时使用

属性

 media_id  选填   string

【媒体ID】 媒体ID


 image_style_type  选填   string

【图片样式类型】 图片样式类型

可选取值

  • IMAGE_STYLE_TYPE_NARROW:  窄图

  • IMAGE_STYLE_TYPE_WIDE:  宽图


 link  选填   object

【链接】 链接消息块,当type为LINK时使用

属性

 text  选填   string

【链接文案】 链接文案


 action  选填   object

【动作】 动作

属性

 action_type  选填   string

ActionType 动作类型

可选取值

  • ACTION_TYPE_SEND_MESSAGE:  回复消息,用户点击后会发送消息,此时message_info必填

  • ACTION_TYPE_JUMP_URL:  链接,用户点击后跳转链接,此时jump_url必填

  • ACTION_TYPE_JUMP_MINI_PROGRAM:  小程序,用户点击后跳转到小程序页面,此时


 jump_url  选填   string

跳转链接


 mini_program_jump_info  选填   object

跳转的小程序

属性

 appid  选填   string

小程序appid


 path  选填   string

小程序path


 message_info  选填   object

回复消息内容

属性

 content  必填   string

回复的消息内容


 custom_data  选填   string

自定义透传字段


 action_id  选填   string

动作id


 invalid_info  选填   object

【失效配置】 失效配置

属性

 expired_time  选填   string

过期时间,遵循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秒。


 multi_clickable  选填   boolean

是否可以多次点击


 faq_list  选填   object

【FAQ列表】 FAQ列表,当type为FAQ_LIST时使用

属性

 faqs  选填   array[object]

【FAQ列表】 FAQ列表

属性

 faq_id  选填   string

【faq的id】 faq的id


 faq_title  选填   string

【faq内容】 faq内容


 action  选填   object

【动作】 动作

属性

 action_type  选填   string

ActionType 动作类型

可选取值

  • ACTION_TYPE_SEND_MESSAGE:  回复消息,用户点击后会发送消息,此时message_info必填

  • ACTION_TYPE_JUMP_URL:  链接,用户点击后跳转链接,此时jump_url必填

  • ACTION_TYPE_JUMP_MINI_PROGRAM:  小程序,用户点击后跳转到小程序页面,此时


 jump_url  选填   string

跳转链接


 mini_program_jump_info  选填   object

跳转的小程序

属性

 appid  选填   string

小程序appid


 path  选填   string

小程序path


 message_info  选填   object

回复消息内容

属性

 content  必填   string

回复的消息内容


 custom_data  选填   string

自定义透传字段


 action_id  选填   string

动作id


 button  选填   object

【按钮】 按钮消息块,当type为BUTTON时使用

属性

 text  选填   string

【按钮文本】 按钮文本


 action  选填   object

【动作】 动作

属性

 action_type  选填   string

ActionType 动作类型

可选取值

  • ACTION_TYPE_SEND_MESSAGE:  回复消息,用户点击后会发送消息,此时message_info必填

  • ACTION_TYPE_JUMP_URL:  链接,用户点击后跳转链接,此时jump_url必填

  • ACTION_TYPE_JUMP_MINI_PROGRAM:  小程序,用户点击后跳转到小程序页面,此时


 jump_url  选填   string

跳转链接


 mini_program_jump_info  选填   object

跳转的小程序

属性

 appid  选填   string

小程序appid


 path  选填   string

小程序path


 message_info  选填   object

回复消息内容

属性

 content  必填   string

回复的消息内容


 custom_data  选填   string

自定义透传字段


 action_id  选填   string

动作id


 invalid_info  选填   object

【失效配置】 失效配置

属性

 expired_time  选填   string

过期时间,遵循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秒。


 multi_clickable  选填   boolean

是否可以多次点击


 button_group  选填   object

【按钮组】 按钮组消息块,当type为BUTTON_GROUP时使用

属性

 buttons  选填   array[object]

【按钮组】 按钮组

属性

 text  选填   string

【按钮文本】 按钮文本


 action  选填   object

【动作】 动作

属性

 action_type  选填   string

ActionType 动作类型

可选取值

  • ACTION_TYPE_SEND_MESSAGE:  回复消息,用户点击后会发送消息,此时message_info必填

  • ACTION_TYPE_JUMP_URL:  链接,用户点击后跳转链接,此时jump_url必填

  • ACTION_TYPE_JUMP_MINI_PROGRAM:  小程序,用户点击后跳转到小程序页面,此时


 jump_url  选填   string

跳转链接


 mini_program_jump_info  选填   object

跳转的小程序

属性

 appid  选填   string

小程序appid


 path  选填   string

小程序path


 message_info  选填   object

回复消息内容

属性

 content  必填   string

回复的消息内容


 custom_data  选填   string

自定义透传字段


 action_id  选填   string

动作id


 button_layout  选填   string

【按钮布局方式】 按钮布局方式,默认 LAYOUT_HORIZONTAL

可选取值

  • LAYOUT_UNKNOWN

  • LAYOUT_HORIZONTAL:  水平排列

  • LAYOUT_VERTICAL:  垂直排列


 invalid_info  选填   object

【失效配置】 失效配置

属性

 expired_time  选填   string

过期时间,遵循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秒。


 multi_clickable  选填   boolean

是否可以多次点击


 sender_identity  选填   string

【发送者身份类别】 发送者身份类别,标识消息是由人工还是机器发送

可选取值

  • UNKNOWN:  未知

  • MANUAL:  人工

  • MACHINE:  机器


 custom_data  选填   string(4096)

【自定义透传信息】 商户自定义的透传数据,用于传递业务相关信息


 idempotent_id  必填   string(128)

【幂等ID】 幂等性控制ID,用于保证同一请求的重复提交不会产生重复操作。建议使用UUID或时间戳+随机字符串的组合,确保唯一性。相同idempotent_id的请求只会被处理一次

请求示例

curl
Java
Go

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/merchant-service/complaints-v2/200201820200101080076610000/response-immediate-service \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "complainted_mchid" : "1900000001",
8    "message" : {
9      "blocks" : [
10        {
11          "type" : "TEXT",
12          "text" : {
13            "text" : "example_text",
14            "color" : "DEFAULT",
15            "is_bold" : false
16          },
17          "image" : {
18            "media_id" : "example_media_id",
19            "image_style_type" : "IMAGE_STYLE_TYPE_NARROW"
20          },
21          "link" : {
22            "text" : "example_text",
23            "action" : {
24              "action_type" : "ACTION_TYPE_SEND_MESSAGE",
25              "jump_url" : "example_jump_url",
26              "mini_program_jump_info" : {
27                "appid" : "example_appid",
28                "path" : "example_path"
29              },
30              "message_info" : {
31                "content" : "example_content",
32                "custom_data" : "example_custom_data"
33              },
34              "action_id" : "example_action_id"
35            },
36            "invalid_info" : {
37              "expired_time" : "example_expired_time",
38              "multi_clickable" : false
39            }
40          },
41          "faq_list" : {
42            "faqs" : [
43              {
44                "faq_id" : "example_faq_id",
45                "faq_title" : "example_faq_title",
46                "action" : {
47                  "action_type" : "ACTION_TYPE_SEND_MESSAGE",
48                  "jump_url" : "example_jump_url",
49                  "mini_program_jump_info" : {
50                    "appid" : "example_appid",
51                    "path" : "example_path"
52                  },
53                  "message_info" : {
54                    "content" : "example_content",
55                    "custom_data" : "example_custom_data"
56                  },
57                  "action_id" : "example_action_id"
58                }
59              }
60            ]
61          },
62          "button" : {
63            "text" : "example_text",
64            "action" : {
65              "action_type" : "ACTION_TYPE_SEND_MESSAGE",
66              "jump_url" : "example_jump_url",
67              "mini_program_jump_info" : {
68                "appid" : "example_appid",
69                "path" : "example_path"
70              },
71              "message_info" : {
72                "content" : "example_content",
73                "custom_data" : "example_custom_data"
74              },
75              "action_id" : "example_action_id"
76            },
77            "invalid_info" : {
78              "expired_time" : "example_expired_time",
79              "multi_clickable" : false
80            }
81          },
82          "button_group" : {
83            "buttons" : [
84              {
85                "text" : "example_text",
86                "action" : {
87                  "action_type" : "ACTION_TYPE_SEND_MESSAGE",
88                  "jump_url" : "example_jump_url",
89                  "mini_program_jump_info" : {
90                    "appid" : "example_appid",
91                    "path" : "example_path"
92                  },
93                  "message_info" : {
94                    "content" : "example_content",
95                    "custom_data" : "example_custom_data"
96                  },
97                  "action_id" : "example_action_id"
98                }
99              }
100            ],
101            "button_layout" : "LAYOUT_UNKNOWN",
102            "invalid_info" : {
103              "expired_time" : "example_expired_time",
104              "multi_clickable" : false
105            }
106          }
107        }
108      ],
109      "sender_identity" : "UNKNOWN",
110      "custom_data" : "example_custom_data"
111    },
112    "idempotent_id" : "550e8400-e29b-41d4-a716-446655440000"
113  }'
114

应答参数

200 OK

 log_id  必填   string(64)

【操作流水号】 本次回复操作的操作流水号,可用于查询该操作的详细信息。该流水号与查询投诉单协商历史接口返回的log_id对应,可用于追踪和去重

应答示例

200 OK

1{
2  "log_id" : "300285320210322170000071077"
3}
4

 

错误码

以下是本接口返回的错误码列表。详细错误码规则,请参考微信支付接口规则-错误码和错误提示

状态码

错误码

描述

解决方案

400

PARAM_ERROR

参数错误

请根据错误提示正确传入参数

400

INVALID_REQUEST

HTTP 请求不符合微信支付 APIv3 接口规则

请参阅 接口规则

401

SIGN_ERROR

验证不通过

请参阅 签名常见问题

500

SYSTEM_ERROR

系统异常,请稍后重试

请稍后重试

 

元宝AI
反馈
目录
置顶