Подтверждение отправки форм по СМС

IMSHOP Retail Protocol (IRP) является объектом интеллектуальной собственности ООО «АЙ ЭМ СОЛЮШНЗ» (IMSHOP) и защищён как объект авторского права. Свидетельство о депонировании произведения № 023-014461 от 16 января 2023 г. подтверждает исключительные права ООО «АЙ ЭМ СОЛЮШНЗ» на данные технологии.

IMSHOP Retail Protocol создан по заказу ООО «АЙ ЭМ СОЛЮШНЗ». Использование IMSHOP Retail Protocol допустимо только при взаимодействии с ООО "АЙ ЭМ СОЛЮШНЗ" и наличии действующего лицензионного договора. Более подробно можно ознакомиться здесь.

Данная интеграция позволит вам разрешать отправку форм в баннере только после СМС-подтверждения номера телефона, указанного при заполнении формы пользователем.

Ендпоинт подтверждения телефона для форм – это самостоятельный ендпоинт, и никак не связан с подтверждением телефона при логине/регистрации.

Обратитесь к вашему product-менеджеру для подключения вашего ендпоинта отправки СМС-подтверждений.

Заведение сабтудея с поддержкой подтверждения заполнения по СМС

Product-менеджер заводит сабтудей с флагом "otpRequired": true

Механизм работы webhook - интеграции запроса СМС-кода

При первичном запросе СМС-кода сервер принимает название запрашиваемой формы:

{
  "formName": string, идентификатор формы
  "installId": string, уникальный идентификатор установки приложения
  "data": {
    ... поля формы, включая телефон ...
  }
}

В ответ сервер должен отправить сообщение об успешной/неуспешной отправке СМС-кода:

{
  "success": boolean
  "message": string, опицонально, только при неуспешной отправке
}

При повторных запросах СМС-кода формат запросов и ответов остается тем же самым.

Проверка СМС-кода в форме

Запрос

Проверка смс-кода происходит в момент экспорта формы. В форме появляется поле "otpCode" типа string, содержащее введенное пользователем значение смс-кода.

{
  "formName": string, имя формы
  "installId": string, уникальный идентификатор установки приложения
  "data": {
    ... поля формы ...
    "otpCode": string
  }
}

Ответ

В случае, если введенный пользователем код некорректен, необходимо в ответе передать поле "otpFailed" со значением true

Сервер отвечает на запрос экспорта формы с переданным смс-кодом в следующем формате:

{
  "success": boolean
  "otpFailed": boolean, успех/неуспех проверки смс-кода
}

Если код корректен и сохранение формы возможно, сервер отправляет флаг об успешном сохранении формы, также, как и при обычном экспорте форм.

{
  "success": true
}

Если по какой-либо причине сохранение данной формы стало невозможно после ввода кода смс (например, стал недоступен выбранный пользователем тайм-слот), то можно отправить сообщение об ошибке:

{
  "success": false,
  "message": "Извините, данное время для записи уже занято"
}

Last updated