# Fixed reference example. Playground inputs do not update this sample.
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd"
}'curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies"
payload = { "url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd'
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies"
payload := strings.NewReader("{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}"
response = http.request(request)
puts response.read_body{
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。",
"cache_url": "<string>",
"code": 200,
"data": "<unknown>",
"docs": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"params": {},
"request_id": "<string>",
"router": "",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles"
}wechat_mp fetch_comment_replies
Get WeChat MP Comment Replies
# Fixed reference example. Playground inputs do not update this sample.
curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd"
}'curl --request POST \
--url https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd"
}
'import requests
url = "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies"
payload = { "url": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd'
})
};
fetch('https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies"
payload := strings.NewReader("{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd\"\n}"
response = http.request(request)
puts response.read_body{
"cache_message": "This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.",
"cache_message_zh": "本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。",
"cache_url": "<string>",
"code": 200,
"data": "<unknown>",
"docs": "<string>",
"message": "Request successful. This request will incur a charge.",
"message_zh": "请求成功,本次请求将被计费。",
"params": {},
"request_id": "<string>",
"router": "",
"support": "Discord: https://discord.gg/aMEAS8Xsvz",
"time": "<string>",
"time_stamp": 123,
"time_zone": "America/Los_Angeles"
}code is 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' # see request schema below
Request contract
- Method and path: POST /apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies - Runtime facts: 85ae03121f63417c9ff9d57a0fd59fdc6386fd71e2dc732a002843e6d8979d87
{
"operationId": "post_tikhub_wechat_mp_v2_fetch_comment_replies",
"method": "POST",
"path": "/apis/v1/tikhub/wechat_mp/v2/fetch_comment_replies",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"comment_id": {
"description": "Article comment id (optional, performance shortcut): when omitted, upstream must fetch and parse the whole article HTML to obtain it, which accounts for about half of this endpoint's latency",
"maxLength": 32,
"pattern": "^[0-9]*$",
"title": "Comment Id",
"type": [
"string",
"null"
]
},
"content_id": {
"default": "",
"description": "Optional (numeric). `content_id` of the target first-level comment, from `$.data.comments[N].content_id` of the `fetch_article_comments` response; **defaults to the first comment that has replies when omitted**. E.g. `12109128638545265979`\n\nAPI references: `fetch_article_comments` = `POST /tikhub/wechat_mp/v2/fetch_article_comments` (operationId: `post_tikhub_wechat_mp_v2_fetch_article_comments`).",
"example": "12109128638545265979",
"maxLength": 32,
"pattern": "^[0-9]*$",
"title": "Content Id",
"type": [
"string",
"null"
]
},
"offset": {
"default": 0,
"description": "Optional, default 0 (>=0). Reply pagination offset; 0 for the first page, pass `next_offset` from the previous response when `has_more=true`.",
"minimum": 0.0,
"title": "Offset",
"type": "integer"
},
"raw": {
"default": true,
"description": "True=raw response; False=simplified parsed structure",
"title": "Raw",
"type": "boolean"
},
"url": {
"description": "WeChat MP article URL (`https://mp.weixin.qq.com/s/…`). E.g. `http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd`",
"example": "http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd",
"maxLength": 2048,
"pattern": "^https?://mp\\.weixin\\.qq\\.com/s([/?].+)?$",
"title": "Url",
"type": "string"
}
},
"required": [
"url"
],
"title": "FetchCommentRepliesRequest",
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.01,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Published reference price: $0.01 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.01
- Cost contract: fixed_success
- Published reference multiplier: 1.0
- Settlement evidence source: request_snapshot
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
WeChat MP article URL (https://mp.weixin.qq.com/s/…). E.g. http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd
2048^https?://mp\.weixin\.qq\.com/s([/?].+)?$"http://mp.weixin.qq.com/s?__biz=Mzk3NTA0MzM5NA==&mid=2247483745&idx=1&sn=3f34e768cf457a501038991ed30be1f4#rd"
Article comment id (optional, performance shortcut): when omitted, upstream must fetch and parse the whole article HTML to obtain it, which accounts for about half of this endpoint's latency
32^[0-9]*$Optional (numeric). content_id of the target first-level comment, from $.data.comments[N].content_id of the fetch_article_comments response; defaults to the first comment that has replies when omitted. E.g. 12109128638545265979
API references: fetch_article_comments = POST /tikhub/wechat_mp/v2/fetch_article_comments (operationId: post_tikhub_wechat_mp_v2_fetch_article_comments).
32^[0-9]*$"12109128638545265979"
Optional, default 0 (>=0). Reply pagination offset; 0 for the first page, pass next_offset from the previous response when has_more=true.
x >= 0True=raw response; False=simplified parsed structure
Response
Successful response. The outer object follows ResponseModel; the endpoint-specific payload is in data.
Return
- Second-level reply list with pagination info
Note: the outer structure is identical for
raw=trueandraw=false; the difference is only in the field granularity of eachreplies[]element (simplified view vs full raw object).
Response structure & JSON Path
raw=false (simplified replies):
$.data.content_id: target comment id (echo)$.data.parent_nick: nickname of the parent comment (the one replied to)$.data.reply_total: total second-level replies$.data.count: number of replies returned this time$.data.replies[N].reply_id: reply id$.data.replies[N].nick_name: replier nickname$.data.replies[N].content: reply content$.data.replies[N].create_time: reply timestamp$.data.replies[N].ip_wording: IP region$.data.replies[N].identity_name: identity label$.data.replies[N].from_ai/reply_is_elected: AI reply / featured flags- Pagination fields:
$.data.offset/$.data.next_offset/$.data.has_more
raw=true (raw):
- Outer
content_id/parent_nick/reply_total/count(andoffset/next_offset/has_morein single-page mode) are identical toraw=false; the only difference is thatreplies[]elements are full raw reply objects (including fields projected away inraw=false). Common paths remain$.data.replies[N].content/$.data.replies[N].reply_id/$.data.replies[N].nick_name.
Cache message (EN-US)
Cache message (ZH-CN)
The URL to access the cached result
HTTP status code
Endpoint-specific response payload. The official shared model does not declare a fixed type or field set. Use the operation's documented return fields or response example; an operation-specific schema, when present, describes the documented fields. Undocumented fields must be read from the actual response rather than assumed.
Link to the API Swagger documentation for this endpoint
Response message (EN-US)
Response message (ZH-CN)
The parameters used in the request
Unique request identifier
The endpoint that generated this response
Support message
The time the response was generated
The timestamp the response was generated
The timezone of the response time