Создайте и используйте API-ключ solvethree

Автор: solvethree2 мин на чтение

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

На этой странице

Создайте и сохраните ключ

  1. 1.

    Откройте API-ключи

    В консоли нужного рабочего пространства откройте раздел «API-ключи» по адресу /api-keys.

  2. 2.

    Задайте имя ключа

    Выберите «Создать API-ключ». В поле «Имя ключа» введите имя, по которому будет понятно, где вы его используете, затем выберите «Создать ключ».

  3. 3.

    Скопируйте полный секрет

    В разделе «Сохраните API-ключ» скопируйте секрет и сохраните его в защищённом месте для серверного приложения. Он показывается только один раз.

  4. 4.

    Закройте диалоговое окно

    Выбирайте «Я сохранил этот ключ» только после того, как сохраните секрет.

Отправляйте ключ с сервера

Для аутентификации запросов используйте Authorization: Bearer, после которого укажите полный ключ рабочего пространства. Не включайте его в код, выполняемый в браузере.

Для примера ниже задайте в окружении сервера SOLVETHREE_API_KEY со значением вашего секрета и SOLVETHREE_PROXY с URL вашего прокси. Замените accounts.example.com и login на имя хоста и действие целевого сайта. Для целевого сайта уже должен существовать активный профиль, доступный этому рабочему пространству; отправка имени хоста не создаёт профиль. Если вы ещё не настроили его, см. настройку профиля сайта.

cURL + jq · создание одной задачи
# Set SOLVETHREE_API_KEY and SOLVETHREE_PROXY in your environment first.
# Replace the hostname and action with your active site profile.
jq -n \
  --arg proxy "$SOLVETHREE_PROXY" \
  --arg requestId "login-$(date +%s)-$$" \
  '{site:"accounts.example.com", action:"login", proxy:$proxy, requestId:$requestId}' \
| curl --fail-with-body --max-time 30 \
  'https://api.solvethree.com/v1/tasks?waitMs=15000' \
  -H "Authorization: Bearer $SOLVETHREE_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @-

Так отправляется запрос на создание задачи в публичный API. Он запускает реальное решение, а не просто проверку аутентификации: задача в статусе ready оплачивается. Сам по себе успешный HTTP-ответ не означает, что задача готова или что целевой сайт примет её решение.

Отличайте ошибки аутентификации от ошибок задач

API возвращает HTTP 401.

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

Попробуйте: Исправьте заголовок или замените отозванный ключ и обновите конфигурацию сервера. Обработайте неуспешный HTTP-ответ, прежде чем пытаться читать данные задачи.

Ключ проходит аутентификацию, но нужный профиль сайта недоступен.

Уточните, какому рабочему пространству принадлежит ключ и есть ли в этом пространстве активный профиль целевого сайта. Действительный ключ другого рабочего пространства не является глобальными учётными данными.

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

Другие ошибки запросов и задач описаны в разделе Ошибки CAPTCHA API.

Запустите первую задачу.

Начните с $5 на балансе рабочего пространства.

Создать рабочее пространство
Создайте и используйте API-ключ solvethree · solvethree