Сценарий взаимодействия

В статье описан порядок взаимодействия вашего iOS-приложения с VK ID Captcha SDK iOS и API ВКонтакте для случая автоматической обработки ошибки капчи от API ВКонтакте и отображения экрана капчи с помощью метода handleCaptcha().

Как установить и подключить VK ID Captcha SDK iOS, смотрите в инструкции.

Схема взаимодействия

Схема взаимодействия с VK ID Captcha SDK iOSСхема взаимодействия с VK ID Captcha SDK iOS

Порядок взаимодействия

  1. 1.
    Ваше приложение отправляет запрос к API ВКонтакте.
  2. 2.
    API ВКонтакте возвращает мобильному приложению ошибку капчи.
  3. 3.
    Мобильное приложение инициализирует класс VKCaptchaHandler.
  4. 4.
    Мобильное приложение отправляет в VK ID Captcha SDK iOS запрос на обработку ответа от сервера методом VKCaptchaHandler.handleCaptcha().
  5. 5.
    VK ID Captcha SDK iOS отправляет в Captcha WebView запрос на отображение капчи.
  6. 6.
    Пользователь проходит капчу.
  7. 7.
    API ВКонтакте анализирует действия пользователя. В зависимости от результата возможны варианты:
    • Успешный сценарий: пользователь — человек, прошёл капчу.
      1. 1.
        API ВКонтакте формирует токен успешного прохождения капчи VKCaptchaToken и передаёт его в Captcha WebView.
      2. 2.
        Captcha WebView передаёт VKCaptchaToken в VK ID Captcha SDK iOS и закрывает окно капчи.
      3. 3.
        VK ID Captcha SDK iOS передаёт VKCaptchaToken в мобильное приложение.
      4. 4.
        Мобильное приложение отправляет API ВКонтакте повторный запрос, в ответ на который вернулась ошибка капчи (шаг 2). В запросе нужно передать полученный токен успешного прохождения капчи VKCaptchaToken. В зависимости от типа капчи нужно указать токен в заголовке или в параметрах запроса.
      5. 5.
        API ВКонтакте выполняет запрос.
    • Неуспешный сценарий: пользователь — бот.
      1. 1.
        API ВКонтакте возвращает в Captcha WebView ошибку.
      2. 2.
        Повторный показ капчи возможен после отправки повторного запроса (шаг 1). Пользователь может пройти капчу ещё раз или обратиться в техподдержку.
    • Неуспешный сценарий: пользователь или бот закрыл окно с капчей или возникла неизвестная ошибка.
      1. 1.
        API ВКонтакте возвращает в Captcha WebView ошибку.
      2. 2.
        Captcha WebView возвращает в VK ID Captcha SDK iOS ошибку CaptchaHandlingError.
      3. 3.
        VK ID Captcha SDK iOS возвращает в мобильное приложение ошибку CaptchaHandlingError.
  8. 8.
    Мобильное приложение отображает пользователю результат прохождения капчи.