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

API WeChat Channels Посты пользователя

POST

Состояние API

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

Получите последние 15 видео аккаунта WeChat Channels по его username (ID вида v2_...@finder). Для каждого видео возвращаются ID, название, описание, время публикации, число лайков, сохранений, репостов и комментариев, длительность, размер кадра, обложка и временная ссылка на видеофайл с ключом для его расшифровки. ID аккаунта не совпадает с никнеймом.

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

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra WeChat Channels Посты пользователя (wechat_channels/user_posts).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: wechat_channels и action: user_posts, а параметры передайте в params.
- Обязательные параметры:
  - username: ID аккаунта WeChat Channels для user_posts в формате v2_...@finder из поля author_username записи user_posts или video, либо ID канала, начинающийся с sph и показанный на странице канала, например sphi9BjV8GK0Zsl.
- Необязательные параметры:
  - limit: Максимальное число записей в этом вызове, целое число не меньше 1. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей.
- Возвращает список записей. Основные поля каждой записи: id (ID видео (строка из цифр) в записях use…), author_username (ID аккаунта автора в WeChat Channels, v…), author_name, title, description, posted_at, like_count (Лайки: у видео в записях search, user_p…), collect_count (Сколько раз видео сохранили (user_posts…), share_count, comment_count, duration_sec (Длительность видео в секундах), duration_seconds; всего полей: 17, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=wechat_channels.
- Пример тела запроса:
{
  "platform": "wechat_channels",
  "action": "user_posts",
  "params": {
    "username": "v2_060000231003b20faec8c7ea8d11c3d4c907e83db0775f87c9449acd6a89298e462485cc23a8@finder"
  }
}
- Цена: $46 за 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_channelsИдентификатор платформы, фиксированное значение.
actionbodystringДаuser_postsИдентификатор возможности, фиксированное значение.
usernamebody.paramsstringДа-ID аккаунта WeChat Channels для user_posts в формате v2_...@finder из поля author_username записи user_posts или video, либо ID канала, начинающийся с sph и показанный на странице канала, например sphi9BjV8GK0Zsl. Это не никнейм, и в записях поиска этого ID нет. Другие форматы отклоняются до списания средств.
limitbody.paramsinteger (1–)Нет-Максимальное число записей в этом вызове, целое число не меньше 1. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей.

Примеры кода

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_channels",
  "action": "user_posts",
  "params": {
    "username": "v2_060000231003b20faec8c7ea8d11c3d4c907e83db0775f87c9449acd6a89298e462485cc23a8@finder"
  }
}'

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

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

Предпросмотр полей

Для этих параметров пока нет примера ответа. Здесь показаны структура ответа и поля из описания API, а … служит заполнителем; это не результат реального вызова.

json
{
  "id": "req_…",
  "platform": "wechat_channels",
  "action": "user_posts",
  "results": [
    {
      "id": …,
      "author_username": …,
      "author_name": …,
      "title": …,
      "description": …,
      "posted_at": …,
      "like_count": …,
      "collect_count": …,
      "share_count": …,
      "comment_count": …,
      "duration_sec": …,
      "duration_seconds": …,
      "video_width": …,
      "video_height": …,
      "cover_url": …,
      "video_url": …,
      "video_decode_key": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

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

ПолеЗначение
idID видео (строка из цифр) в записях user_posts и video; передайте его как object_id в video или comments. В comments это ID комментария.
author_usernameID аккаунта автора в WeChat Channels, v2_...@finder (user_posts / video); передайте его как username в user_posts.
author_nameОтображаемое имя автора.
titleЗаголовок. null, если на платформе нет заголовков (например, у текстовых постов).
descriptionКраткое содержание или описание, обычно короче text.
posted_atВремя публикации в ISO 8601, UTC (например, 2026-08-07T12:34:56+00:00). Нестандартные строки платформы передаются как есть, поэтому учитывайте это при разборе. null означает, что платформа его не раскрывает.
like_countЛайки: у видео в записях search, user_posts и video, у комментария в записях comments. В user_posts и video значения выше 10 000 точны только до сотен и всегда заканчиваются на 02 (20002 означает около 20 000); начиная со 100 000 значение всегда равно 100002 (приложение показывает только 100k+).
collect_countСколько раз видео сохранили (user_posts / video). Значения выше 10 000 точны только до сотен и всегда заканчиваются на 02 (14402 означает около 14 400); начиная со 100 000 значение всегда равно 100002 (приложение показывает только 100k+).
share_countКоличество раз, когда записью поделились. null означает, что значение не раскрыто, а не 0.
comment_countКомментарии. null означает, что значение не раскрыто, а не 0.
duration_secДлительность видео в секундах.
duration_secondsДлительность в секундах. null для контента, который не является видео или аудио.
video_widthШирина кадра видео в пикселях.
video_heightВысота кадра видео в пикселях.
cover_urlURL обложки (подписанный, с ограниченным сроком действия).
video_urlURL видеофайла (user_posts / video; подписанный, действует около 24 часов). Начало файла зашифровано, поэтому скачанный напрямую файл не воспроизводится, пока его не расшифруют с помощью video_decode_key.
video_decode_keyКлюч для расшифровки зашифрованного начала видеофайла (user_posts / video); относится к соответствующему video_url.
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

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

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

Ошибки

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

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

  • Документация WeChat Open: ID аккаунта Channels (finderUserName) ↗

    В документации WeChat для разработчиков сказано, что finderUserName — это ID аккаунта Channels, который автор видит на главной странице помощника Channels. Источник подтверждает только, что у аккаунта Channels есть ID, отдельный от никнейма; username в этом API — это ID аккаунта вида v2_...@finder, взятый из записей user_posts или video, и он не взаимозаменяем с ID на той главной странице.

    Проверено 2026-10-25