Вопросы
baas_support@qiwi.com
NAV Navbar
Примеры

CLIENTS API

API предназначен для управления клиентом и его счётом в рамках продукта BaaS. Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».

Используемые в тексте термины описаны в разделе «Руководства по интеграции» → BaaS → «Термины и бизнес-сущности».

Взаимодействие через API

Взаимодействие между партнёром и BaaS совершается по защищённому протоколу (HTTPS). Поддерживаются только HTTPS-запросы. HTTP-запросы по нешифрованному каналу не поддерживаются.

Данные в запросах передаются в формате JSON в кодировке UTF-8. В ответах данные возвращаются также в формате JSON в кодировке UTF-8.

URL для вызовов API

Доступ к API

Схема аутентификации - Bearer. В заголовках запроса передаётся bearer-токен в поле Authorization.

--header "Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******"

Bearer-токен выдается партнёру при интеграции.

Авторизация

За авторизацию отвечает обязательный заголовок запроса QIWI-Client-Token. Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

--header "QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c"

Создание клиента

Сценарий создания клиента описан в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».

Запрос → PUT

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123 \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientIpAddress": "255.255.255.255"
  }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого происходит создание клиента: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
clientIpAddress string
Обязательный параметр тела запроса. IP-адрес клиента, для которого партнёр отправляет запрос
валидный IPv4/IPv6 255.255.255.255, 2001:0db8:85a3:0000:0000:8a2e:0370:7334
createInactive boolean
Признак активности клиента
^true|false$ true

Ответ ←

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

{
    "clientId": "clientUID123",
    "productId": "best-partner",
    "identificationLevel": "NOT_VERIFIED",
    "active": true,
    "creationStatus": "CREATED"
}
Параметр Тип Описание
productId string Идентификатор продукта, в рамках которого создан клиент
clientId string Уникальный идентификатор клиента в системе партнёра
identificationLevel string Текущий уровень идентификации клиента
active boolean Признак активности клиента
creationStatus string Статус операции создания клиента

Статусы операции создания клиента

Статус Описание
PENDING_CLIENT_TOKEN Для завершения операции создания клиента необходимо выпустить токен клиента
CREATED Клиент успешно создан

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Активация клиента

Сценарий активации клиента и информация о признаке активности клиента описаны в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».

Запрос → POST

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/activate \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ''
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

См. ответ на запрос создания клиента.

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение информации о клиенте

Запрос → GET

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123 \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

См. ответ на запрос создания клиента.

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Создание счёта

Сценарий создания счёта описан в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».

Запрос → PUT

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/accounts/account1 \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c' \
  -d '{
    "accountCurrency": "RUB"
  }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
accountId Обязательный параметр URL запроса. Уникальный идентификатор счёта в системе партнёра ^[A-Za-z0-9-]{1,100}$ Acc-123-DEF-456
accountCurrency string
Обязательный параметр тела запроса. Буквенный код валюты создаваемого счёта
  RUB

Коды валют

На текущий момент поддерживаются следующие валюты:

Код Описание
RUB Рубли

Ответ ←

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


{
    "clientId": "clientUID123",
    "productId": "best-partner",
    "accountId": "account1",
    "currency": "RUB",
    "ownFunds": {
        "currency": "RUB",
        "value": 10.12
    }
}
Параметр Тип Описание
productId string Идентификатор продукта, в рамках которого создан клиент
clientId string Уникальный идентификатор клиента в системе партнёра
accountId string Уникальный идентификатор счёта в системе партнёра
currency string Валюта счёта
ownFunds object Money Информация о доступных средствах на счёте клиента. Возвращается в тех случаях, когда баланс ведется в QIWI

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение информации о счёте

Пример использования метода см. в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом» → «Просмотр баланса».

Запрос → GET

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/accounts/account1 \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'

Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
accountId Обязательный параметр URL запроса. Уникальный идентификатор счёта в системе партнёра ^[A-Za-z0-9-]{1,100}$ Acc-123-DEF-456

Ответ ←

См. ответ на запрос создания счёта для клиента.

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение информации о всех счетах клиента

Запрос → GET

Пример запроса

curl https://api.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/accounts \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c' \
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции ^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра ^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

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

{
    "clientId": "clientUID123",
    "productId": "best-partner",
    "accounts": {
        "account1":{
            "currency": "RUB",
            "ownFunds":{
                "value": 10.12,
                "currency":"RUB"
            }
        },
        "account2":{
            "currency": "EUR",
            "ownFunds":{
                "value": 10.12,
                "currency":"EUR"
            }
        }
    }
}
Параметр Тип Описание
productId string Идентификатор продукта, в рамках которого создан клиент
clientId string Уникальный идентификатор клиента в системе партнёра
accounts object Блок сведений о счетах клиента. Сведения о каждом счёте возвращаются во вложенном блоке с именем, равным уникальному идентификатору этого счёта в системе партнёра
currency string Валюта счёта
ownFunds object Money Информация о доступных средствах на счёте клиента. Возвращается в тех случаях, когда баланс ведется в QIWI

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Отправка данных клиента

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Отправка данных клиента».

Запрос → PATCH

Пример запроса для события установки номера телефона для входа в приложение (SIGN_IN_PHONE_NUMBER_SET)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SIGN_IN_PHONE_NUMBER_SET",
    "phoneNumber" : "79786543210"
  }'

Пример запроса для события успешного входа в приложение (SUCCESSFUL_SIGN_IN)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SUCCESSFUL_SIGN_IN",
    "signInIp" : "49.76.45.39",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'

Пример запроса для события успешной смены пароля для входа в приложение (SIGN_IN_PASSWORD_CHANGED)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SIGN_IN_PASSWORD_CHANGED",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'

Пример запроса для события отправки смс-подтверждения при попытке смены пароля для входа в приложение (SIGN_IN_PASSWORD_CONFIRMATION_SENT)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SIGN_IN_PASSWORD_CONFIRMATION_SENT",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'

Пример запроса для события успешной смены PIN-кода для доступа в приложение (SIGN_IN_PIN_CHANGED)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SIGN_IN_PIN_CHANGED",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'

Пример запроса для события отправки смс-подтверждения при попытке смены PIN-кода для входа в приложение (SIGN_IN_PIN_CONFIRMATION_SENT)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SIGN_IN_PIN_CONFIRMATION_SENT",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'

Пример запроса для события успешного прохождения двухфакторной аутентификации (SUCCESSFUL_2FACTOR_AUTH)

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/metadata \
  -X PATCH \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d '{
    "clientUseCase": "SUCCESSFUL_2FACTOR_AUTH",
    "signInIp" : "49.76.45.39",
    "dateTime": "2021-01-20T14:30:00+03:00"
  }'
Параметр Описание
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра
clientUseCase string
Обязательный параметр тела запроса. Вариант события взаимодействия с клиентом на стороне партнёра. Возможные значения:
SIGN_IN_PHONE_NUMBER_SET — клиент установил номер телефона для входа в приложение
SUCCESSFUL_SIGN_IN — успешный вход в приложение
SIGN_IN_PASSWORD_CHANGED — успешная смена пароля для входа в приложение
SIGN_IN_PASSWORD_CONFIRMATION_SENT — отправка смс-подтверждения при попытке смены пароля для входа в приложение
SIGN_IN_PIN_CHANGED — успешная смена PIN-кода для доступа в приложение
SIGN_IN_PIN_CONFIRMATION_SENT — отправка смс-подтверждения при попытке смены PIN-кода для входа в приложение
SUCCESSFUL_2FACTOR_AUTH — успешное прохождение двухфакторной аутентификации

В зависимости от типа события, указанного в clientUseCase, в запросе передаются дополнительные поля:

Событие SIGN_IN_PHONE_NUMBER_SET

{
  "clientUseCase": "SIGN_IN_PHONE_NUMBER_SET",
  "phoneNumber" : "79786543210"
}

Событие SUCCESSFUL_SIGN_IN

{
  "clientUseCase": "SUCCESSFUL_SIGN_IN",
  "signInIp" : "49.76.45.39",
  "dateTime": "2021-01-20T14:30:00+03:00"
}

Прочие события

{
  "clientUseCase": "SIGN_IN_PASSWORD_CHANGED",
  "dateTime": "2021-01-20T14:30:00+03:00"
}
Параметр Описание
phoneNumber string
Параметр тела запроса. Номер телефона клиента (без знака +, только числовое значение). Передается только для варианта события SIGN_IN_PHONE_NUMBER_SET
signInIp string
Параметр тела запроса. IP-адрес клиента. Передается только для вариантов событий SUCCESSFUL_SIGN_IN и SUCCESSFUL_2FACTOR_AUTH
dateTime string
Параметр тела запроса. Дата наступления события в формате ГГГГ-ММ-ДДTЧЧ:ММ:СС+TMZ. Передается для всех вариантов событий, кроме SIGN_IN_PHONE_NUMBER_SET

Ответ ←

В успешном ответе возвращается HTTP-статус 200 OK. Тело успешного ответа не содержит данных.

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение контактных данных клиента

Запрос → GET

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'

Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

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

{
  "phoneNumber": "79786543210",
  "email": "mary@example.com"
}
Параметр Тип Описание
phoneNumber string Номер телефона клиента
email string Электронная почта клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Установка или изменение номера телефона клиента

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом» → «Установка и изменение номера телефона».

Запрос → PUT

Пример запроса для продукта без поддержки клиентских токенов

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact/phone \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
    "value": "79786543210"
  }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
value string
Номер телефона клиента (без знака +, только цифры).
\^\d{11,16}$ 79786543210

Пример запроса для продукта с поддержкой клиентских токенов

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact/phone \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
    "oldPhoneConfirmationId": "confirmation123",
    "newPhoneConfirmationId": "confirmation456",
  }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
oldPhoneConfirmationId Обязательный параметр. Уникальный идентификатор подтверждения операции CHANGE_PHONE_CONFIRM_OLD в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456
newPhoneConfirmationId Обязательный параметр. Уникальный идентификатор подтверждения операции CHANGE_PHONE_CONFIRM_NEW в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456

Ответ ←

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

{
  "value": "79786543210"
}
Параметр Тип Описание
value string Установленный контактный номер телефона

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение номера телефона клиента

Запрос → GET

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact/phone \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'

Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

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

{
  "value": "79786543210"
}
Параметр Тип Описание
value string Телефонный номер клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Установка или изменение e-mail клиента

Запрос → PUT

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact/email \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c' \
  -d ' {
    "value": "mary@example.com"
  }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
value string
Адрес электронной почты клиента
  mary@example.com

Ответ ←

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

{
  "value": "test@example.com"
}
Параметр Тип Описание
value string Адрес электронной почты клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение e-mail клиента

Запрос → GET

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/contact/email \
  -X GET \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456

Ответ ←

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

{
  "value": "test@example.com"
}
Параметр Тип Описание
value string Электронная почта клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Отправка OTP

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

Запрос → PUT

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/confirmations/confirmation123 \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
          "operationType": "CREATE_TOKEN",
          "confirmationType": "SMS",
          "phoneNumber": "79261234567"
        }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
confirmationId Обязательный параметр URL запроса. Уникальный идентификатор операции подтверждения в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456
operationType Обязательный параметр тела запроса. Тип операции   CREATE_TOKEN
confirmationType Обязательный параметр тела запроса. Тип подтверждения   SMS
phoneNumber Обязательный параметр тела запроса. Номер телефона клиента (без знака +, только цифры). \^\d{11,16}$ 79786543210

Ответ ←

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

{
  "resendAttemptsLeft": 3,
  "resendDelaySeconds": 30,
  "confirmationId": "Cnf-123-DEF-456",
  "confirmationStatus": "CREATED"
}
Параметр Тип Описание
resendAttemptsLeft int Количество оставшихся попыток
resendDelaySeconds int Время, через которое можно запросить повторную отправку OTP (в секундах)
confirmationId String Уникальный идентификатор операции подтверждения в системе партнёра
confirmationStatus String Статус подтверждения

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Повторная отправка OTP

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

Запрос → POST

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/confirmations/confirmation123/resend-otp \
  -X POST \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр Описание REGEX Пример      
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456      
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456      
confirmationId Обязательный параметр URL запроса. Уникальный идентификатор операции подтверждения в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456   \^\d{11,16}$ 79786543210

Ответ ←

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

{
  "resendAttemptsLeft": 3,
  "resendDelaySeconds": 30,
  "confirmationId": "Cnf-123-DEF-456",
  "confirmationStatus": "CREATED"
}
Параметр Тип Описание
resendAttemptsLeft int Количество оставшихся попыток
resendDelaySeconds int Время, через которое можно запросить повторную отправку OTP (в секундах)
confirmationId String Уникальный идентификатор операции подтверждения в системе партнёра
confirmationStatus String Статус подтверждения

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Подтверждение OTP

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

Запрос → POST

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/confirmations/confirmation123/confirm-otp \
  -X POST \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
          "confirmationCode": "123456"
        }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
confirmationId Обязательный параметр URL запроса. Уникальный идентификатор операции подтверждения в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456
confirmationCode Обязательный параметр тела запроса. Код подтверждения \^([0-9]{6}) 123456

Ответ ←

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

{
  "confirmationId": "03461b72-797f-4433-902a-707825d3a57d",
  "confirmationStatus" : "CONFIRMED"
}
Параметр Тип Описание
confirmationId string Уникальный идентификатор операции подтверждения в системе партнёра
confirmationStatus string Статус подтверждения

Статусы операции подтверждения

Статус Описание
CREATED Создано
CONFIRMED Подтверждено
FAILED Неуспешно
USED Использовано для совершения операции

Типы подтверждаемых операций

Статус Описание
CREATE_TOKEN Выпуск клиентского токена
CHANGE_PHONE_CONFIRM_NEW Подтверждение старого номера телефона при смене
CHANGE_PHONE_CONFIRM_OLD Подтверждение нового номера телефона при смене
ORDER_VIRTUAL_CARD Заявка на выпуск виртуальной карты
REFRESH_TOKEN Перевыпуск токена
GET_TOKEN Получение токена

Типы подтверждения

Статус Описание
SMS Подтверждение через СМС

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Выпуск токена клиента

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

Запрос → PUT

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/token \
  -X PUT \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
          "confirmationId": "confirmation123"
        }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
confirmationId Обязательный параметр. Уникальный идентификатор операции подтверждения в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456

Ответ ←

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

{
  "tokenValue": "fa9c491b7b06c6cf64a0b53fb2b9a91c"
}
Параметр Тип Описание
tokenValue string Токен клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Получение токена клиента

Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».

Запрос → POST

Пример запроса

curl https://api-test.qiwi.com/partner/openapi-clients/v1/products/best-partner/clients/clientUID123/token/retrieve \
  -X POST \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
  -d ' {
          "confirmationId": "03461b72-797f-4433-902a-707825d3a57d"
        }'
Параметр Описание REGEX Пример
productId Обязательный параметр URL запроса. Идентификатор продукта, в рамках которого создан клиент: выдается партнёру при интеграции \^[A-Za-z0-9-]{1,100}$ Prd-123-DEF-456
clientId Обязательный параметр URL запроса. Уникальный идентификатор клиента в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnt-123-DEF-456
confirmationId Обязательный параметр. Уникальный идентификатор операции подтверждения в системе партнёра \^[A-Za-z0-9-]{1,100}$ Cnf-123-DEF-456

Ответ ←

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

{
  "tokenValue": "v6b282864fhm711c847ad0c22dcb3902"
}
Параметр Тип Описание
tokenValue string Токен клиента

Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.

Уровни идентификации

Описание уровней идентификации см. в разделе «Руководства по интеграции» → BaaS → «Идентификация» → «Уровни».

Модели данных API

Класс Money

Объект с информацией о сумме денежных средств.

Параметр Тип Описание
value number Обязательный параметр. Значение с двумя десятичными разрядами
currency string Обязательный параметр. Валюта, ISO 4217

Формат ошибок API

См. информацию из раздела «Руководства по интеграции» → BaaS → «Тестирование» → «Работа с ошибками».

Справочник кодов ошибок

Код Описание
openapi.clients.product.not.found Продукт не найден
openapi.clients.client.not.found Клиент не найден
openapi.clients.client.blocked Клиент заблокирован
openapi.clients.internal.error В сервисе Clients произошла внутренняя ошибка
openapi.clients.ip.address.not.allowed Запросы с этого IP адреса не разрешены
openapi.clients.client.already.exists Клиент уже существует
openapi.clients.account.already.exists Счёт уже существует
openapi.clients.account.not.found Счёт клиента не найден
openapi.clients.unsupported.currency Валюта не поддерживается
openapi.clients.unsupported.multiple.accounts.per.currency Возвращается при попытке создания более одного счёта в одной и той же валюте. Для партнёра отдельно настраивается возможность создавать несколько счетов в одной и той же валюте
openapi.clients.client.must.be.in.test.mode Для совершения операции клиент должен быть создан в тестовом режиме
openapi.clients.client.deleted Возвращается при попытке создать нового клиента с идентификатором ранее удаленного клиента
openapi.clients.client.token.header.is.missing Ожидаемый токен клиента в заголовке отсутствует
openapi.clients.wrong.confirmation.code Неверный OTP
openapi.clients.confirmation.not.found Подтверждение не найдено
openapi.clients.confirmation.expired Время подтверждения кода истекло
openapi.clients.confirmation.attempts.exceeded Превышено количество попыток подтверждения кода
openapi.clients.confirmation.already.finished Подтверждение уже обработано
openapi.clients.confirmation.resend.delay.violated Время ожидания перед повторной отправкой еще не истекло
openapi.clients.client.token.not.found Токен клиента не найден
openapi.clients.client.token.mismatch Токен, переданный в запросе, не совпадает с выпущенным для клиента токеном
openapi.clients.confirmation.operation.mismatch Тип совершаемой операции не соответствует типу операции из запроса на подтверждение
openapi.clients.confirmation.status.unexpected Статус подтверждения не позволяет совершить операцию
openapi.clients.confirmation.use.time.is.over Срок подтверждения истёк
openapi.clients.confirmation.phone.client.phone.mismatch Номер телефона, использованный в запросе на подтверждение операции, не совпадает с установленным номером телефона клиента
openapi.clients.confirmation.new.phone.same.as.old Новый номер телефона совпадает с текущим номером телефона клиента
openapi.clients.client.tokens.not.enabled Поддержка клиентских токенов отключена для продукта
openapi.clients.client.token.already.created Токен клиента уже выпущен