> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recaptcha3 протокол ідентифікації API інтеграція

> Recaptcha verification code recognition service 集成指南 - XHuoAPI

У цьому документі буде представлено опис інтеграції API для ідентифікації протоколу Recaptcha3, який дозволяє користувачам не розпізнавати та не натискати на зображення коду Recaptcha3, а лише подавати Website Key для автоматичного декодування на сервері та завершення перевірки.

## Процес подачі заявки

Щоб використовувати API, спочатку потрібно перейти на відповідну сторінку [API для ідентифікації протоколу Recaptcha3](https://api.xhuoapi.ai/documents/1083df69-f2f3-4c13-901e-e5336b0dbe3d) для подачі заявки на відповідну послугу, після переходу на сторінку натисніть кнопку «Acquire», як показано на малюнку:

![](https://cdn.xhuoapi.ai/q6ytrc.png)

Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти, після входу або реєстрації ви автоматично повернетеся на поточну сторінку.

При першій подачі заявки буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

## Основне використання

Спочатку потрібно ознайомитися з основними способами використання, у порівнянні з Recaptcha2, нам потрібно додатково передати параметр `page_action`, отримати який потрібно з коду, URL швидкості мережі, що демонструється, є: `https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php`, нижче показано один із способів отримання:

### Швидкий метод:

Відкрийте f12, а потім на сторінці Element знайдіть `.execute(`, у червоній рамці ми можемо побачити параметр `action`, одночасно після execute йде рядок символів, це також вміст, необхідний далі, конкретно, як показано на малюнку.

<p>
  <img src="https://cdn.xhuoapi.ai/imwlto.png" width="500" className="m-auto" />
</p>

Далі потрібно ввести URL сайту, на якому потрібно обробити код, щоб отримати оброблений результат, спочатку потрібно просто передати поле `website_url`, в кінці також потрібно ввести параметр `website_key`, цей вміст можна отримати вище, це також рядок символів після execute. Далі ми можемо заповнити відповідні дані на інтерфейсі, як показано на малюнку:

<p>
  <img src="https://cdn.xhuoapi.ai/1hw2uo.png" width="500" className="m-auto" />
</p>

Ми можемо бачити, що тут ми налаштували заголовки запиту, включаючи:

* `accept`: який формат відповіді ви хочете отримати, тут вказано `application/json`, тобто формат JSON.
* `authorization`: ключ API, який можна вибрати після подачі заявки.

Крім того, налаштовано тіло запиту, включаючи:

* `page_action`: потрібно отримати з коду сайту з кодом перевірки.
* `website_url`: URL сайту, на якому потрібно обробити код.
* `website_key`: ідентифікатор ключа сайту в Recaptcha3.

Після вибору можна помітити, що праворуч також згенерувався відповідний код, як показано на малюнку:

<p>
  <img src="https://cdn.xhuoapi.ai/3dahem.png" width="500" className="m-auto" />
</p>

Натисніть кнопку «Try», щоб провести тестування, як показано на малюнку, тут ми отримали наступний результат:

```json theme={null}
{
  "token": "03AFcWeA5mfdNlQD0RGX9PTWPs0l65QukjwbYObCue5hygRuA6jJmBtwR98S2bmmZOjbLh7ogEMDd8NzJdq8DoHOD_LHIUWmdEL3HJS0pP2nmTTSoU_ltxORWA4sVsrWiXDgkARA4wAhJCegD6PftkRuu0KKbqRsJ7KVKukUbLU1ThBu7P3r0fybwpS11yQmF7xpbEZeFzRm_osERk9tQzs1lEYORZSVA5dimbWi42TqUC87mJHCKO0HMiU404LOyER84It7ne51V5YXEHR_o6-ORr2CmBOawdTDTsqWUwT8vyEvzy-ov-pZdl0B0A_U59_uZd7vbIwv937-iXyzkVWbakUXNMdXlHffpFYd7OLTSBhJu6nasV3IhrbnxO8eGIbPDoHIyGpA74D882ALwTnXMgkcmGeGM9YuqCrf7F06cNKY7yKiisZIU-7v3ZnHV3JUkODGpXQ6dwq2fuP5o6kgeUQVdkv4fAZ_Tx_TB_R6gPSgwulr8Q5hH34bs-v1oUl2S9mLhXT9SWvgYizU_4FN2Ou23ETXTAVD_uI9fWaDgKaLOKI1i-xHCF_LKU3wKjyYJfQhFSCSyoeGL4o1j9lZ27cEHL5AlCm_jcCiXhe2_LT_dI-r5ozuyOGv-iDZ_1XTSSnCGdmroXX56XsZAytU52zBAlYVe_aRAojruc9KdkhK4kdeBESBbDLVe3-jNFwYspe0R93SORxXXIqR9CtZrIjI_2U8XjCHFz_euChdU_wkH5BjvONVbUT1DQNuoo0ugJL5kUkFrubHppOKvoZMwIKjjK_ZX1NBeCvQvYm6IpwBWfvM4hjGI7UVXH3iZkrX9PLATIIIkA8PxTeN45k8DulzOhKLSFKK196fRlH83S8UAaM-vjBxf32Vg83C1gWzKB5sYhxqEtZeB7DNpmAkozFfubljURr7YTjtq8Bgnj0PkfzbgKk8FRl-hMUb9BUjNNuSuFC7GZVim6xQnIV9ZPaAcuzJTYcOizFJePbVEXlc9A5Vq2rDh3D7Ld5o5oqc2kK4eCrO_38le6EVTs_fRY2nXy6RMyjjaJN12lOKYwYzGKhm52gTZTrJXqeTAW8o2KfwZ9iek-tr5qxj5b40iY4V2PY6SflMQvmKLAgFhB-yo-o5PEkikQ98T-bE-wG2-3kd5NRMiD132kIhf48zhVJUGeJqdV_3m8ukyqTk26KisM12kN-h9uYefvUCxzd_mBuWlHzH9rFMlJSe8Z6lcZIVcqNF4fcEM-ukNnwMUK5H_SC48U7O_xfOaEqEpAHDC7CCyVwlGCFh0uAT8KSpaNFfxBmMPXeYrGYn83PCgMg1NZA-7PrpeidXmWdBZ2yY8MA__7uCe8clCmINseBTCIbNmAHPlI_zJKqQfhXaDbaELeD62P0Pquu_SBtdEtqPeB9Esn_yjbK3IFvAaGSnFhwhHHK8dpOI7v-rJvTigPu8MMrEUTvug_zog81kCG8HY3xorTj2OdTwdEYpeMJ1VIHSjdTcnepLB0Cffx5wAdk-gf1TGEnEyTiwII4A4vtq8r0LFK4YObOzNmBTl3IoTNheYYKpheTKH3KShMK6hXDKxDRGEUhdsW4TRtVT-dwJDqY_F7J1RwKP-xDuN98VgwQmQuhJteQUALevgI2jAGFCFfSeFbQ8BOT6ekEI0m30zDX0kh83mkE7-u9qKljYifjqbLarMNPP51QRbvAS3mHlP17PMhIKzjuIka4T2Y9XdRwDgRRdEkYiJgDvkcABTknGBMezraon8JNDRhIJMUIKpidWTdhEQ79qAEfZkowdbnTdKeWeayi1OmV_W4aox-aC62H-VIn70McXXB6zRyYlA2NvTUWgNhHWkSO1SW7uflNEyUeWFRLBZV_firMEVfIGirHOAbQqsn83BirDNPHl4xevf4nRu4gWpgOGBrzeUXQeuMWO4ZFsdWxJ2VsT19t0H5DJtxtHYXFtPZ8tFDFY-r8JKFab4S6e5v8PCrfjCWkPmDaRJal_vLFa1V1dF1l0ARu9NLW4mEuT600azFms8cMlvuCTvWI2VWyn4Wk05UvcR8FYO2-ke4E-ZFRl0jSxjlEutzbOwm2ik4eF0Wh2DBliaSr1obHaxkmLJDUIzGQ3wi49Nyn0SSOdz_BGaxuRrrxCZ4ci0e2b5cxLtkv64Njy7IYJURaBuQk99ijdw7rg3pssAa_uJSMQeZe_kLtgEWF73uT4ceSOFPVuxMGLrJRQTBYxAHVKq7kloS5wtphUr2Sp-b4kezKnCV9HNfC5NRk2KqDT-bkJ6cUYN_0yauyZK1_F4BVTk36IOCe1Cqfe3K-wAZBzvrI_Vz8Li1uEWe0b5KOQ"
}
```

Результат повернення містить кілька полів, описаних нижче:

* `token`, результат обробки завдання Recaptcha3.

Можна побачити, що ми отримали результат обробки Recaptcha3, який можна використовувати для POST або GET запитів до цільового сайту, одноразового використання, термін дії 120 секунд, рекомендується використовувати протягом 60 секунд. Далі буде коротко описано один із способів, як надіслати згенерований токен на цільовий сайт:

Виклик коду Python для перевірки токена:

```python theme={null}
import requests

url = "https://recaptcha-demo.appspot.c/recaptcha-v3-verify.php?action=examples/v3scores&token='{token}'"

r = requests.get(url)
if r.status_code == 200:
    return r.text
```

Отже, ми можемо отримати результат:

```json theme={null}
{
  "success": true,
  "hostname": "recaptcha-demo.appspot.com",
  "challenge_ts": "2024-09-14T08:52:26Z",
  "apk_package_name": null,
  "score": 0.9,
  "action": "examples/v3scores",
  "error-codes": []
}
```

Можна побачити, що `success` вказує на результат обробки перевірки, отже, ми успішно пройшли перевірку Recaptcha3.

Крім того, якщо ви хочете згенерувати відповідний код для інтеграції, ви можете просто скопіювати згенероване, наприклад, код CURL виглядає так:

```shell theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/captcha/token/recaptcha3' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "website_url": "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php",
  "website_key": "6LdKlZEpAAAAAAOQjzC2v_d36tWxCl6dWsozdSy9",
  "page_action": "examples/v3scores"
}'
```

Код для інтеграції на Python виглядає так:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/captcha/token/recaptcha3"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "website_url": "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php",
    "website_key": "6LdKlZEpAAAAAAOQjzC2v_d36tWxCl6dWsozdSy9",
    "page_action": "examples/v3scores"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## Обробка помилок

При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:

* `400 token_mismatched`：Неправильний запит, можливо, через відсутні або недійсні параметри.
* `400 api_not_implemented`：Неправильний запит, можливо, через відсутні або недійсні параметри.
* `401 invalid_token`：Неавторизовано, недійсний або відсутній токен авторизації.
* `429 too_many_requests`：Занадто багато запитів, ви перевищили ліміт запитів.
* `500 api_error`：Внутрішня помилка сервера, щось пішло не так на сервері.

### Приклад відповіді з помилкою

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Висновок

За допомогою цього документа ви дізналися, як використовувати API для розпізнавання протоколу Recaptcha3, щоб користувачі не повинні були розпізнавати та натискати на зображення з капчею Recaptcha3, а лише подавати Website Key для автоматичного декодування на сервері та завершення перевірки. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.
