Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API WeChat Official Accounts Комментарии к статье

В часы пиковой нагрузки может быть временно недоступна

В часы пиковой нагрузки эта возможность может быть временно недоступна; повторите попытку позже. Неудачные вызовы не оплачиваются.

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Собирайте комментарии читателей к одной статье официального аккаунта WeChat. За один вызов возвращается до 260 комментариев. Для каждого комментария возвращаются текст, автор, число лайков, признак закрепления, число ответов и отображаемое местоположение. Передайте ссылку на саму статью, а не на страницу аккаунта. Получение всех комментариев не гарантируется.

Возможность WeChat Official Account Article comments возвращает публичные комментарии к одной статье по её url. Для каждого комментария она возвращает полный текст, автора и его аватар, лайки, время публикации, признак закрепления, число ответов, а также страну и провинцию, указанные рядом с комментарием. PR-команды и специалисты по коммуникациям используют её, чтобы понять, как читатели восприняли пресс-релиз или заявление, а контент-команды используют её, чтобы узнать, какие тезисы читатели подхватывают, ставят под сомнение или оспаривают.

Передавайте ссылку на саму статью на mp.weixin.qq.com, а не на страницу аккаунта. is_top отмечает комментарии, закреплённые вверху, которые читатели видят первыми, поэтому при оценке тональности учитывайте их отдельно. Сортировка по like_count показывает, какие реакции поддержали другие читатели. Ответы находятся уровнем ниже, и их читает возможность WeChat Comment replies.

Цена: $6.76 за 1 000 запросов ($0.006764 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra WeChat Official Accounts Комментарии к статье (wechat_oa/article_comments).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: wechat_oa и action: article_comments, а параметры передайте в params.
- Обязательные параметры:
  - url: Ссылка mp.weixin.qq.com на саму статью для article_comments, comment_replies, article_metrics и article_detail: откройте статью и скопируйте её URL (короткую ссылку вида /s/<id> или ссылку с параметрами __biz, mid, idx и…
- Необязательные параметры:
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 260. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 13)
- Возвращает список записей. Основные поля каждой записи: id, text, author_name, author_avatar_url, like_count, posted_at, is_top, reply_count, country, province.
- Пример тела запроса:
{
  "platform": "wechat_oa",
  "action": "article_comments",
  "params": {
    "url": "https://mp.weixin.qq.com/s?__biz=MzA4MTg0MjA5OQ==&mid=2655362972&idx=1&sn=b56fabd8e4c53259498100f05f20dbb0"
  }
}
- Цена: $6.76 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.

Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаwechat_oaИдентификатор платформы, фиксированное значение.
actionbodystringДаarticle_commentsИдентификатор возможности, фиксированное значение.
urlbody.paramsstringДа-Ссылка mp.weixin.qq.com на саму статью для article_comments, comment_replies, article_metrics и article_detail: откройте статью и скопируйте её URL (короткую ссылку вида /s/<id> или ссылку с параметрами __biz, mid, idx и sn). Временные ссылки, скопированные из результатов поиска (с signature/timestamp), могут не читаться; в таком случае вызов возвращает код 422 до списания средств. Действия на уровне аккаунта используют этот параметр только как резервный источник с самым низким приоритетом при определении целевого аккаунта.
limitbody.paramsinteger (1–260)Нет13Максимальное число записей в этом вызове, целое число от 1 до 260. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "wechat_oa",
  "action": "article_comments",
  "params": {
    "url": "https://mp.weixin.qq.com/s?__biz=MzA4MTg0MjA5OQ==&mid=2655362972&idx=1&sn=b56fabd8e4c53259498100f05f20dbb0"
  }
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

Пример ответа

Реальный ответ

Получено October 24, 2026 at 18:28 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты); в списке оставлены первые 2. id, billing и quota меняются при каждом вызове, поэтому показана только их структура.

json
{
  "id": "req_…",
  "platform": "wechat_oa",
  "action": "article_comments",
  "results": [
    {
      "id": "•••",
      "text": "我曾经因为不刮腋毛被朋友说“恶心”。。。。。\n不知道哪里来的这种审美捆绑。。。。。。\n谢谢丁香为我正名!!!!!",
      "author_name": "•••",
      "author_avatar_url": "https://wx.qlogo.cn/•••",
      "like_count": 1056,
      "posted_at": "2026-07-31T03:59:18+00:00",
      "is_top": 0,
      "reply_count": 4,
      "country": "中国",
      "province": "广东",
      "platform": "wechat_oa"
    },
    {
      "id": "•••",
      "text": "有没有什么止汗露什么的测评来一期! 爱出汗星人强烈求一期",
      "author_name": "•••",
      "author_avatar_url": "https://wx.qlogo.cn/•••",
      "like_count": 235,
      "posted_at": "2026-07-31T03:59:05+00:00",
      "is_top": 0,
      "reply_count": 1,
      "country": "中国",
      "province": "湖南",
      "platform": "wechat_oa"
    }
  ],
  "count": 20,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.

ПолеЗначение
idУникальный ID записи на платформе. Уникален только в пределах одной платформы; на разных платформах ID могут повторяться.
textОсновной текст без HTML возвращается полностью и никогда не обрезается (на нескольких платформах результаты списковых запросов содержат только фрагмент; это указано в примечаниях к полям платформы).
author_nameОтображаемое имя автора.
author_avatar_urlТрактуется так же, как на самой платформе
like_countЛайки. null означает, что платформа или эта возможность не раскрывает значение; это не 0.
posted_atВремя публикации в ISO 8601, UTC (например, 2026-08-07T12:34:56+00:00). Нестандартные строки платформы передаются как есть, поэтому учитывайте это при разборе. null означает, что платформа его не раскрывает.
is_topТрактуется так же, как на самой платформе
reply_countОтветы, обычно на комментарий. null означает, что значение не раскрыто.
countryСтрана или регион: полное название либо код ISO в зависимости от платформы. Значение передаётся без нормализации.
provinceТрактуется так же, как на самой платформе
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

FAQ

Какая ссылка нужна в url?

Адрес самой статьи на mp.weixin.qq.com, например длинный URL с __biz, mid, idx и sn в строке запроса, как в примере на этой странице. Ссылки на профиль аккаунта и страницу поиска не ведут на отдельную статью, поэтому по ним нельзя получить комментарии к ней.

Как получить ответы на комментарий?

Проверьте reply_count. Если значение больше нуля, передайте тот же url статьи и id этой записи в возможность WeChat Comment replies, которая принимает их как ссылку на статью и ID комментария. Оба значения должны относиться к одной статье, потому что ID комментария имеет смысл только вместе со ссылкой на свою статью.

Что описывают country и province?

Это местоположение, указанное рядом с каждым комментарием. В зависимости от источника country приходит без нормализации: либо как полное название страны, либо как код ISO. Поэтому перед подсчётом комментариев по странам сопоставьте оба формата с единым списком стран. province указывает регион внутри страны, если он отображается.

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки

Официальные источники

Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.