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

API Tencent Tendi CAPTCHA solver

POST

Состояние API

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

API EverySolve для Tencent Tendi CAPTCHA возвращает именованные поля решения для вашего сценария прохождения проверки. Отправьте POST /api/v1/captcha, указав в type значение tencent_tendi, и передайте входные данные, перечисленные ниже.Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr. Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.

$2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.

Промпт для ИИ

Помогите мне написать скрипт, который вызывает API EveryInfra «Tencent Tendi CAPTCHA».

Контракт API:
- Запрос: POST https://api.everyinfra.com/api/v1/captcha с заголовком Authorization: Bearer <API Key>. Берите ключ из переменной окружения EVERYINFRA_API_KEY, не указывайте его в коде.
- В теле запроса задайте для type значение tencent_tendi, а параметры укажите рядом, на том же уровне.
- Обязательные параметры:
  - website_url: Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта.
  - website_key: Публичный ключ сайта или виджета, скопированный именно из этой интеграции на целевом сайте; это не секретный ключ.
- Необязательные параметры:
  - captcha_script: Публичный URL скрипта капчи, загружаемого целевой страницей, если в этом развёртывании он изменён.
- Пример тела запроса:
{
  "type": "tencent_tendi",
  "website_url": "<website_url>",
  "website_key": "<website_key>"
}
- Оплата: $2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.
- При ошибке 422 исправьте параметры по подсказкам и допустимым значениям из ошибки. При 429 или 503 дождитесь истечения Retry-After и повторите попытку.

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

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

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
typebodystringДаtencent_tendiТип капчи, фиксированное значение.
website_urlbodystringДа-Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта.
website_keybodystringДа-Публичный ключ сайта или виджета, скопированный именно из этой интеграции на целевом сайте; это не секретный ключ.
captcha_scriptbodystringНет-Публичный URL скрипта капчи, загружаемого целевой страницей, если в этом развёртывании он изменён.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/captcha' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "type": "tencent_tendi",
  "website_url": "<website_url>",
  "website_key": "<website_key>"
}'

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

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

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

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

json
{
  "id": "req_…",
  "type": "tencent_tendi",
  "solution": {
    "ticket": "…",
    "randstr": "…"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Откуда брать параметры для Tencent Tendi CAPTCHA

Скопируйте captchaAppId целевого сайта в website_key; captcha_script необязателен и нужен, только если развёртывание использует собственный URL скрипта.

Код для поиска этих значений на странице

tencent_tendi-1.js
// 1. Read aid from a sent CAPTCHA request. This is the most accurate method. It is the only one that works with aidEncrypted.
performance.getEntriesByType('resource').map(e=>e.name)
  .filter(n=>/t\.captcha\.qq\.com|captcha\.qcloud\.com/.test(n))
  .map(n=>{try{return new URL(n).searchParams.get('aid')}catch(e){return null}}).filter(Boolean)

// 2. If the CAPTCHA overlay is open, read the iframe
document.querySelector('iframe[src*="t.captcha.qq.com"]')?.src

// 3. Fallback: search the page source for CaptchaAppId / aid
document.documentElement.innerHTML.match(/(?:CaptchaAppId|aid)["'\s:=]{1,4}["']?(\d{9,10})/i)

// Also check the script URL. Send it as the optional captcha_script parameter only when it is not the default.
[...document.scripts].map(s=>s.src).find(s=>/captcha\.qcloud\.com\/T\w*Captcha\.js/.test(s))

Как определить Tencent Tendi CAPTCHA

Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr.

Чем Tencent Tendi CAPTCHA отличается от других проверок

Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.

Как использовать API для Tencent Tendi CAPTCHA

API Tencent Tendi CAPTCHA возвращает именованные поля решения в ticket и randstr. Формат решения: fields. Считывайте объявленные поля вместе: целевому сценарию может понадобиться весь набор.

  1. 01Выполните запрос GET /api/v1/captcha/types и выберите запись tencent_tendi.
  2. 02Выполните POST /api/v1/captcha, передав type: "tencent_tendi" и обязательные параметры.
  3. 03Получите именованные поля решения из ticket и randstr.
  4. 04Считывайте объявленные поля вместе: целевому сценарию может понадобиться весь набор.

Оплата и доступность EverySolve списывает средства только при успешном предоставлении решения. За неудачную попытку итоговое списание не производится, а зарезервированная сумма возвращается автоматически. Получайте available и поля с ценами из GET /api/v1/captcha/types при отправке запроса, а не воспринимайте их как статические данные страницы.

Вопросы об интеграции Tencent Tendi CAPTCHA

Как определить Tencent Tendi CAPTCHA перед выбором типа?

Tencent Tendi CAPTCHA использует captchaAppId/ключ сайта и после интерактивной проверки может возвращать ticket и randstr. Используйте tencent_tendi, только если эти признаки соответствуют целевой проверке.

Какие значения с целевой страницы нужны в запросе для Tencent Tendi CAPTCHA?

Скопируйте captchaAppId целевого сайта в website_key; captcha_script необязателен и нужен, только если развёртывание использует собственный URL скрипта. Передайте website_url и website_key. Необязательные параметры: captcha_script.

Что возвращает Tencent Tendi CAPTCHA и с чем это не следует путать?

API Tencent Tendi CAPTCHA возвращает именованные поля решения в ticket и randstr. Формат решения: fields. Параметры ticket и randstr нужно использовать вместе. Они не являются ни токеном ответа reCAPTCHA, ни cookie для доступа к странице.

Какой внешний источник описывает интеграцию Tencent Tendi CAPTCHA?

Tencent Cloud описывает в документации клиентскую интеграцию TCaptcha/Tendi и поля обратного вызова. [Открыть справку по Tencent Tendi CAPTCHA](https://cloud.tencent.com/product/captcha). Специфичные для EverySolve поля и текущую доступность по-прежнему смотрите в каталоге типов.

Справка по Tencent Tendi CAPTCHA

Все типы капчи

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

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

Ошибки