CLIENTS API
API предназначен для управления клиентом и его счётом в рамках продукта BaaS. Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».
Используемые в тексте термины описаны в разделе «Руководства по интеграции» → BaaS → «Термины и бизнес-сущности».
Взаимодействие через API
Взаимодействие между партнёром и BaaS совершается по защищённому протоколу (HTTPS). Поддерживаются только HTTPS-запросы. HTTP-запросы по нешифрованному каналу не поддерживаются.
Данные в запросах передаются в формате JSON в кодировке UTF-8. В ответах данные возвращаются также в формате JSON в кодировке UTF-8.
URL для вызовов API
- https://api-test.qiwi.com - testing окружение;
- https://api.qiwi.com - production окружение.
Доступ к API
Схема аутентификации - Bearer.
В заголовках запроса передаётся bearer-токен в поле Authorization
.
--header "Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******"
Bearer-токен выдается партнёру при интеграции.
Авторизация
За авторизацию отвечает обязательный заголовок запроса QIWI-Client-Token
.
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Общие принципы и правила» → «Подтверждение операций».
--header "QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c"
Создание клиента
Сценарий создания клиента описан в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом».
Запрос → PUT
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/activate
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/accounts/{accountId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/accounts/{accountId}
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/accounts
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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"
}'
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/metadata
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Параметр | Описание |
---|---|
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/contact
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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 | Номер телефона клиента |
string | Электронная почта клиента |
Структура ответа в случае неуспешной обработки запроса см. в разделе Ошибки.
Установка или изменение номера телефона клиента
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление клиентом и его счётом» → «Установка и изменение номера телефона».
Запрос → PUT
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/contact/phone
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса для продукта без поддержки клиентских токенов
Пример запроса для продукта без поддержки клиентских токенов
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/contact/phone
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/contact/email
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/contact/email
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
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
-
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/confirmations/{confirmationId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
-
Параметры запроса
Пример запроса
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
-
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/confirmations/{confirmationId}/resend-otp
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
-
Параметры запроса
Пример запроса
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
-
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/confirmations/{confirmationId}/confirm-otp
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
-
Параметры запроса
Пример запроса
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
-
URL /openapi-clients/v1/products/{productId}/clients/{clientId}/token
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
-
Параметры запроса
Пример запроса
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
-
URL /partner/openapi-clients/v1/products/{productId}/clients/{clientId}/token/retrieve
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
-
Параметры запроса
Пример запроса
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 | Токен клиента уже выпущен |