CARDS-LIFECYCLE API
API предназначен для управления жизненным циклом карты с помощью сервиса Cards-lifecycle. Подробности см. в разделе «Руководства по интеграции» → 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 → «Управление банковской картой» → «Cценарии».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/orders/{orderId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса на выпуск виртуальной карты для продукта без поддержки клиентских токенов
Пример запроса на выпуск виртуальной карты для продукта без поддержки клиентских токенов
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/orders/1ab \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ2ZXJzaW9uRDM5OE***********************' \
-d '{
"clientId": "1",
"accountId": "Account1"
"cardType": "VIRTUAL",
"personPhone": "79515485777",
"cardPaymentSystem": "MIR"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
orderId | Обязательный параметр URL запроса. Уникальный идентификатор заказа карты в системе партнера | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF-456 |
clientId | string Обязательный параметр. Уникальный идентификатор клиента, созданного по Clients API, в системе партнера. Партнер передает id клиента, для которого выпускается карта |
^[A-Za-z0-9-]{1,100}$ | Cnt-123-DEF-456 |
accountId | string Обязательный параметр. Идентификатор счета клиента, созданного по Clients API, в системе партнера. Партнер передает id конкретного счета, к которому привязывается карта |
^[A-Za-z0-9-]{1,100}$ | Acc-123-DEF-456 |
cardType | string Обязательный параметр. Тип карты |
VIRTUAL |
|
personPhone | string Обязательный параметр. Телефон пользователя, привязывается к карте. Используется для 3DS-аутентификации. Только цифры с указанием кода страны. |
^\d{11,16}$ | 79261234567 |
cardPaymentSystem | string Тип платежной системы |
MIR |
Параметры запроса на выпуск виртуальной карты для продукта с поддержкой клиентских токенов
Пример запроса на выпуск виртуальной карты для продукта с поддержкой клиентских токенов
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/orders/1ab \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ2ZXJzaW9uRDM5OE***********************' \
-d '{
"clientId": "1",
"accountId": "Account1"
"cardType": "VIRTUAL",
"confirmationId": "confirmation123",
"cardPaymentSystem": "MIR"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
orderId | Обязательный параметр URL запроса. Уникальный идентификатор заказа карты в системе партнера | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF-456 |
clientId | string Обязательный параметр. Уникальный идентификатор клиента, созданного по Clients API, в системе партнера. Партнер передает id клиента, для которого выпускается карта |
^[A-Za-z0-9-]{1,100}$ | Cnt-123-DEF-456 |
accountId | string Обязательный параметр. Идентификатор счета клиента, созданного по Clients API, в системе партнера. Партнер передает id конкретного счета, к которому привязывается карта |
^[A-Za-z0-9-]{1,100}$ | Acc-123-DEF-456 |
cardType | string Обязательный параметр. Тип карты |
VIRTUAL |
|
confirmationId | Обязательный параметр. Уникальный идентификатор операции подтверждения с типом ORDER_VIRTUAL_CARD в системе партнёра |
^[A-Za-z0-9-]{1,100}$ | Cnf-123-DEF-456 |
cardPaymentSystem | string Тип платежной системы |
MIR |
Ответ ←
Пример ответа
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"orderStatus": "DELIVERED",
"cardType": "VIRTUAL",
"cardInsensitiveInfo": {
"cardTokenId": "100000000001",
"cardType": "VIRTUAL",
"maskedPan": "4153****4697",
"expiryDate": "04/2024",
"status": "ACTIVE"
},
"personPhone": "79515485777",
"accountId": "Account1",
"cardPaymentSystem": "MIR"
}
Параметр | Тип | Описание |
---|---|---|
orderId | string | Уникальный идентификатор заказа карты в системе партнера |
productId | string | Идентификатор продукта |
clientId | string | Уникальный идентификатор клиента в системе партнера |
orderStatus | string | Статус заказа |
cardType | string | Тип карты |
cardInsensitiveInfo | Object | Нечувствительные данные карты |
cardTokenId | string | Уникальный идентификатор (токен) карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
status | string | Статус карты. Для виртуальной карты возвращается ACTIVE . |
personPhone | string | Телефон пользователя, используется для 3DS-аутентификации |
accountId | string | Идентификатор счета карты |
cardPaymentSystem | string | Тип платежной системы |
Параметры запроса на выпуск физической карты
Пример запроса на выпуск физической карты
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/orders/1ab \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ2ZXJzaW9uJFJMjlCRkFFRDM5OE***********************' \
-d '{
"clientId": "1",
"accountId": "Account1",
"personPhone": "79515485777",
"cardType": "PHYSICAL",
"design": {
"code": "D1"
},
"cardHolder": {
"embossedName" : "IVAN LOMONOSOV",
"firstName" : "Иван",
"lastName" : "Ломоносов",
"middleName" : "Васильевич"
},
"delivery": {
"methodId": "33",
"address": {
"postCode": "117525",
"countryCode": "RU",
"regionName": "Moscow",
"cityName": "Moscow",
"address": "Yuzhnoe Chertanovo",
"address2": "ul.Bolshaya Dvoryanskaya 140A 43",
"countryPhoneCode": "+7",
"phone": "9515485777"
}
},
"cardPaymentSystem": "MIR"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
orderId | Обязательный параметр URL запроса. Уникальный идентификатор заказа карты в системе партнера | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF-456 |
clientId | string Обязательный параметр. Уникальный идентификатор клиента, созданного по Clients API, в системе партнера. Партнер передает id клиента, для которого выпускается карта |
^[A-Za-z0-9-]{1,100}$ | Cnt-123-DEF-456 |
accountId | string Обязательный параметр. Идентификатор счета, созданного по Clients API, в системе партнера. Партнер передает id конкретного счета клиента, к которому привязывается карта |
^[A-Za-z0-9-]{1,100}$ | Acc-123-DEF-456 |
cardType | string Обязательный параметр. Тип карты |
PHYSICAL |
|
personPhone | string Обязательный параметр. Телефон пользователя, используется для 3DS-аутентификации. Только цифры с указанием кода страны. |
^\d{11,16}$ | 79261234567 |
design | object Обязательный параметр. Информация о дизайне карты |
||
code | string Обязательный параметр. Код дизайна карты |
||
cardHolder | object Обязательный параметр для персонифицированных карт, необязательный — для анонимных. Информация о владельце карты. |
||
embossedName | string Имя владельца карты: отображается на карте. Обязательно, если заполняется cardHolder |
||
firstName | string Имя владельца карты. Используется для доставки карты. Обязательно, если заполняется cardHolder |
||
lastName | string Фамилия владельца карты. Используется для доставки карты. Обязательно, если заполняется cardHolder |
||
middleName | string Отчество владельца карты или доп. имя. Используется для доставки карты. Обязательно, если заполняется cardHolder |
||
delivery | object Обязательный параметр. Информация о доставке |
||
methodId | string Обязательный параметр. Способ доставки |
||
address | object Обязательный параметр. Информация об адресе |
||
postCode | string Обязательный параметр. Почтовый индекс |
||
countryCode | string Обязательный параметр. Код страны в соответствии со стандартом ISO 3166-1 (alpha-2). Строго 2 символа. |
||
regionName | string Регион. Не допускается использование символа # . |
||
cityName | string Обязательный параметр. Город. Не допускается использование символа # . |
||
address | string Обязательный параметр. Адрес получателя. Не допускается использование символа # . |
||
address2 | string Дополнительный адрес получателя или вторая строка адреса. Не допускается использование символа # . Важно! Поле address2 сейчас не передается в службу доставки. Необходимо использовать поле address . |
||
countryPhoneCode | string Телефонный код страны. Может состоять не более чем из 10 цифр. |
+7 , 44 |
|
phone | string Обязательный параметр. Номер телефона получателя. Используется для связи курьера с получателем. |
||
cardPaymentSystem | string Тип платежной системы |
MIR |
Ответ ←
Пример ответа
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"accountId": "Account1",
"orderStatus": "ORDERED",
"cardHolder": {
"embossedName": "IVAN LOMONOSOV",
"firstName": "Иван",
"lastName": "Ломоносов",
"middleName": "Васильевич"
},
"design": {
"code": "D1"
},
"delivery": {
"methodId": "33",
"address": {
"postCode": "117525",
"countryCode": "RU",
"regionName": "Moscow",
"cityName": "Moscow",
"address": "Yuzhnoe Chertanovo",
"address2": "ul.Bolshaya Dvoryanskaya 140A 43",
"countryPhoneCode": "+7",
"phone": "9515485777"
}
},
"cardType": "PHYSICAL",
"cardInsensitiveInfo": {
"cardTokenId": "",
"cardType": "PHYSICAL",
"maskedPan": "",
"expiryDate": "08/2019",
"embossedName": "M.LOMONOSOV",
"status": "IN_PROGRESS_OF_CREATION"
},
"cardPaymentSystem": "MIR"
}
Параметр | Тип | Описание |
---|---|---|
orderId | string | Уникальный идентификатор заказа карты в системе партнера |
productId | string | Идентификатор продукта |
clientId | string | Уникальный идентификатор клиента в системе партнера |
accountId | string | Идентификатор счета |
orderStatus | string | Статус заказа |
cardType | string | Тип карты |
cardHolder | string | Информация о владельце карты |
embossedName | string | Имя владельца карты (отображается на карте) |
firstName | string | Имя владельца карты |
lastName | string | Фамилия владельца карты |
middleName | string | Отчество владельца карты (или доп. имя) |
design | object | Информация о дизайне карты |
code | string | Код дизайна карты |
delivery | object | Информация о доставке |
methodId | string | Способ доставки |
address | object | Информация об адресе доставки |
postCode | string | Почтовый индекс |
countryCode | string | Код страны |
regionName | string | Регион |
cityName | string | Город |
address | string | Адрес получателя |
address2 | string | Дополнительный адрес получателя |
countryPhoneCode | string | Tелефонный код страны |
phone | string | Номер телефона получателя |
cardType | string | Тип карты |
cardPaymentSystem | string | Тип платежной системы |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
[TECHDOCS-73][TECHDOCS-62] add explain link ## Получить информацию о всех заказах клиента на выпуск карты {#getOrders}
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Получение данных карты».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/orders?clientId={clientId}
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/orders?clientId=1 \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJJFJMjlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
clientId | Обязательный параметр URL запроса. Уникальный идентификатор клиента, для которого были выпущены карты, в системе партнера | ^[A-Za-z0-9-]{1,100}$ | Cnt-123-DEF |
Ответ ←
Пример ответа
[
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"orderStatus": "DELIVERED",
"cardType": "VIRTUAL",
"cardInsensitiveInfo": {
"cardTokenId": "100000000001",
"cardType": "VIRTUAL",
"maskedPan": "4153****4697",
"expiryDate": "04/2024",
"status": "ACTIVE"
},
"personPhone": "79515485777",
"accountId": "Account1"
},
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"accountId": "Account1",
"orderStatus": "ORDERED",
"cardHolder": {
"embossedName": "IVAN LOMONOSOV",
"firstName": "Иван",
"lastName": "Ломоносов",
"middleName": "Васильевич"
},
"design": {
"code": "D1"
},
"delivery": {
"methodId": "33",
"address": {
"postCode": "117525",
"countryCode": "RU",
"regionName": "Moscow",
"cityName": "Moscow",
"address": "Yuzhnoe Chertanovo",
"address2": "ul.Bolshaya Dvoryanskaya 140A 43",
"countryPhoneCode": "+7",
"phone": "9515485777"
}
},
"cardType": "PHYSICAL",
"cardInsensitiveInfo": {
"cardTokenId": "",
"cardType": "PHYSICAL",
"maskedPan": "",
"expiryDate": "08/2019",
"embossedName": "M.LOMONOSOV",
"status": "IN_PROGRESS_OF_CREATION"
}
},
"cardPaymentSystem": "MIR"
]
В ответе возвращается массив объектов.
Формат объекта с информацией о заказе виртуальной карты:
| Параметр | Тип | Описание |
|———————|——–|—————————————————————————|
| orderId | string | Уникальный идентификатор заказа карты в системе партнера |
| productId | string | Идентификатор продукта |
»»»> [TECHDOCS-73][TECHDOCS-62] add explain link
| clientId | string | Уникальный идентификатор клиента в системе партнера |
| orderStatus | string | Статус заказа |
| cardType | string | Тип карты |
| cardInsensitiveInfo | Object | Нечувствительные данные карты |
| cardTokenId | string | Уникальный идентификатор (токен) карты |
| maskedPan | string | Маскированный PAN. Пример: 4153****4697
|
| expiryDate | string | Дата окончания действия карты. Пример: 04/2024
|
| status | string | Статус карты. Для виртуальной карты возвращается ACTIVE
. |
| personPhone | string | Телефон пользователя, используется для 3DS-аутентификации |
| accountId | string | Идентификатор счета карты |
| cardPaymentSystem | string | Тип платежной системы|
Формат объекта с информацией о заказе физической карты:
Параметр | Тип | Описание |
---|---|---|
orderId | string | Уникальный идентификатор заказа карты в системе партнера |
productId | string | Идентификатор продукта |
clientId | string | Уникальный идентификатор клиента в системе партнера |
accountId | string | Идентификатор счета |
orderStatus | string | Статус заказа |
cardType | string | Тип карты |
cardHolder | string | Информация о владельце карты |
embossedName | string | Имя владельца карты (отображается на карте) |
firstName | string | Имя владельца карты |
lastName | string | Фамилия владельца карты |
middleName | string | Отчество владельца карты (или доп. имя) |
design | object | Информация о дизайне карты |
code | string | Код дизайна карты |
delivery | object | Информация о доставке |
methodId | string | Способ доставки |
address | object | Информация об адресе доставки |
postCode | string | Почтовый индекс |
countryCode | string | Код страны |
regionName | string | Регион |
cityName | string | Город |
address | string | Адрес получателя |
address2 | string | Дополнительный адрес получателя |
countryPhoneCode | string | Tелефонный код страны |
phone | string | Номер телефона получателя |
cardType | string | Тип карты |
cardPaymentSystem | string | Тип платежной системы |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию о заказе на выпуск карты
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Получение данных карты».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/orders/{orderId}
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/orders/1ab \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjFJMjlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
orderId | Обязательный параметр URL запроса. Уникальный идентификатор заказа карты в системе партнера | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
Ответ ←
Пример ответа для виртуальной карты
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"orderStatus": "DELIVERED",
"cardType": "VIRTUAL",
"cardInsensitiveInfo": {
"cardTokenId": "100000000001",
"cardType": "VIRTUAL",
"maskedPan": "4153****8641",
"expiryDate": "04/2024",
"status": "ACTIVE"
},
"personPhone": "79515485777",
"accountId": "Account1",
"cardPaymentSystem": "MIR"
}
Пример ответа для физической карты
{
"orderId": "1ab",
"productId": "best-partner",
"clientId": "1",
"accountId": "Account1",
"orderStatus": "ORDERED",
"cardHolder": {
"embossedName": "IVAN LOMONOSOV",
"firstName": "Иван",
"lastName": "Ломоносов",
"middleName": "Васильевич"
},
"design": {
"code": "D42"
},
"delivery": {
"methodId": "33",
"address": {
"postCode": "117525",
"countryCode": "RU",
"regionName": "Moscow",
"cityName": "Moscow",
"address": "Yuzhnoe Chertanovo",
"address2": "ul.Bolshaya Dvoryanskaya 140A 43",
"countryPhoneCode": "+7",
"phone": "9515485777"
}
},
"cardType": "PHYSICAL",
"cardInsensitiveInfo": {
"cardTokenId": "",
"cardType": "PHYSICAL",
"maskedPan": "",
"expiryDate": "08/2019",
"embossedName": "IVAN LOMONOSOV",
"status": "IN_PROGRESS_OF_CREATION"
},
"cardPaymentSystem": "MIR"
}
Структура возвращаемого объекта зависит от типа заказанной карты.
Формат объекта с информацией о заказе виртуальной карты:
Параметр | Тип | Описание |
---|---|---|
orderId | string | Уникальный идентификатор заказа карты в системе партнера |
productId | string | Идентификатор продукта |
clientId | string | Уникальный идентификатор клиента в системе партнера |
orderStatus | string | Cтатус заказа |
cardType | string | Тип карты |
cardInsensitiveInfo | Object | Нечувствительные данные карты |
cardTokenId | string | Уникальный идентификатор (токен) карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
status | string | Статус карты. Для виртуальной карты возвращается ACTIVE . |
personPhone | string | Телефон пользователя, используется для 3DS авторизации |
accountId | string | Идентификатор счета карты |
cardPaymentSystem | string | Тип платежной системы |
Формат объекта с информацией о заказе физической карты:
Параметр | Тип | Описание |
---|---|---|
orderId | string | Уникальный идентификатор заказа карты в системе партнера |
productId | string | Идентификатор продукта |
clientId | string | Уникальный идентификатор клиента в системе партнера |
accountId | string | Идентификатор счета |
orderStatus | string | Cтатус заказа |
cardType | string | Тип карты |
cardHolder | string | Информация о владельце карты |
embossedName | string | Имя владельца карты (отображается на карте) |
firstName | string | Имя владельца карты |
lastName | string | Фамилия владельца карты |
middleName | string | Отчество владельца карты (или доп. имя) |
design | object | Информация о дизайне карты |
code | string | Код дизайна карты |
delivery | object | Информация о доставке |
methodId | string | Способ доставки |
address | object | Информация об адресе доставки |
postCode | string | Почтовый индекс |
countryCode | string | Код страны |
regionName | string | Регион |
cityName | string | Город |
address | string | Адрес получателя |
address2 | string | Дополнительный адрес получателя |
countryPhoneCode | string | Tелефонный код страны |
phone | string | Номер телефона получателя |
cardType | string | Тип карты |
cardPaymentSystem | string | Тип платежной системы |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию по всем картам клиента
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/client/{clientId}/cards
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/client/1/cards \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIMjlCRkFFRDM5OE***********************'
Параметр | Описание | 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 |
Ответ ←
Пример ответа
[
{
"cardTokenId": "100000000001",
"cardType": "VIRTUAL",
"maskedPan": "4153****6977",
"expiryDate": "04/2024",
"status": "ACTIVE"
},
{
"cardTokenId": "",
"cardType": "PHYSICAL",
"maskedPan": "",
"expiryDate": "08/2019",
"embossedName": "IVAN LOMONOSOV",
"status": "ACTIVE"
}
]
В ответе возвращается массив объектов со следующей структурой:
Параметр | Тип | Описание |
---|---|---|
cardTokenId | string | Уникальный идентификатор (токен) карты |
cardType | string | Тип карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
embossedName | string | Имя владельца карты (отображается на карте) |
status | string | Статус карты. Для виртуальной карты возвращается ACTIVE . |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию по карте
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100000000001 \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9ujlCRkFFRDM5OE***********************'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
Ответ ←
Пример ответа для виртуальной карты
{
"cardTokenId": "100000000001",
"cardType": "VIRTUAL",
"maskedPan": "4153****8641",
"expiryDate": "04/2024",
"status": "ACTIVE"
}
Параметр | Тип | Описание |
---|---|---|
cardTokenId | string | Уникальный идентификатор (токен) карты |
cardType | string | Тип карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
status | string | Статус карты. Для виртуальной карты возвращается ACTIVE . |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить PAN и CVV карты
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Получение данных карты».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/sensitive?encryptionSpec={encryptionSpec}&publicKey={publicKey}
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100000000001/sensitive?encryptionSpec=RSA_4096_X509&publicKey=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhq7i9suuLXC%2Bww1YKT44NehX1TMcrYkYTSXDkGCV%2BDEKtmU686alatDsCtF0OAeyB9xLsCmAIs8UxEZz0ok5hYCG4%2BiJJ3ateOPPiroMasIcbvxCO%2B7VdWLOs5d2J%2Bhms4h507V0e7xl/iscIHPHQDHCqRNMrJ2ER0L0TOK8WOhRofc6op9ABqySp57GEW6YLm/lqnhSyslejtciFu1qmIC1weo%2BY2UrDofRAIrIxPGeH9wRfNjgp02FnXuhuxupajUKHzZmqqDTFCKlZcpwDKrqIhC4XUjudmy7tuJnAATLgiksd1tTdlZP0sJPhbeHfST8wddqGfyDqmTyaQT8Hqio3zLe63PhFZ8siHyT1AwcvYsCIuFOGuY29Nu3XowKTjnNcTOym4odrot5PRHKOgIVVjV/CDHHsgFlIRxAEaNAjCv7T2c98OgI7ZVHt3mfe8S0iQFRUpesl0bmSM8KKJnfvfVljVnzv8juDVnKNWuAIKpg7%2BNNDAqhuofozeTg/SBpltPAq5lXW52CqWjS7W0kkCq1lDMGzIShOPptnJ9bnhuggWaKb%2B/Mh07cxmZebuwFclWbd%2BjLJMMLDDf0G3tl8pPr33O4Y/YwyJ54YBTjzl%2BB0O4OF1o03T1w%2BaKkvteftArFTLvgKZQo8DO93d6VKhcpMYvRhYuo3nwy0ssCAwEAAQ%3D%3D \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
encryptionSpec | Обязательный параметр URL запроса. Алгоритм шифрования. | RSA_4096_X509 |
|
publicKey | Обязательный параметр URL запроса. RSA X509 public key длиной 4096 бит, закодированный в base64 формате. Достаточно один раз выпустить приватный и публичный ключи и передавать один и тот же публичный ключ в каждом новом запросе. Свой публичный ключ выпускается и передается для каждого отдельного клиента: для мобильного приложения, для web и т.д. | См. пример запроса |
Ответ ←
Пример ответа
{
"encryptedPan": "A5NKL6tKtx+/xjbuQMgHpWhWLqHZjDLO80BsSv5I8apcKKpSr2n8X9X3EiznpPUtM9f1SmcjEMYMqouqQ/i7P1PTw/a+3nAFyQFDGh8B0mqdlwg9K/FiRgqPb31o7CRou5BK36VwToyZ936y1XKjHcD8dHoNYvsKtU2e2HJMfhaZBac6Lr/bkPsXNgOBhboMgsert1Z+3RUuJVIqMn8XwyxiymCnIwmGOXqzjjmVBhGgwqf+rYdVFhCFG8OfdktwxSssKMak7BuFfKjdWJdxeO6svhh/opgJ2ag70T1kEn7ryppjC+/fGYrBzR1g24qU2oJ5Nh2djjRB1W3rYWCzywNFv72yhQOpb5wMNzICg4OXvyJgoBHe1wONmYCgwG9mcn44gnOXIWoeF0uhx4y9qCh28re5J5rmBjEWG37A7eEOZpxQww1j2cH9ZBOLt36+wsUjMoCLzZV0YFi9m8wVMoW54WRM0SCKJ/UsX28uS5A5GXAhGYf/bbq+ysio65FIw7qGL3lmOrZPruUXgS0S6jfO0kla2iqprz5En/FucmeAxHDHi8KRtoos4ZdGDCCFqzCTvpPa/yjg1PrtrO2GEOlH1H6JmI85xUNWdoWQKCJW+ep8OpftVLEt8ozlqx9GREMlxa6+cuWTnYXg0OF4DOAji1FxPhkuJwuak9iRNd4=",
"encryptedCvv": "f5mhzunv8C71s96oAbjpXZwvvPaGkK3hskDogxFbK8gDd2hpgvBTjqPlUgGQqe6EJCWzDAAM3nXrDUfFFA44Vtcg+sGN05yn/nufkDjt0bxryBrFy5Y4pnbLyG0XtQX5YdWtzBaVvH5+rcHTv8EyrBi00Rs8qaIHrCIo1YGr3IWPJ6Mr/PKu1xfpeKtBOuAJEX/nBL94fK8Rx+ZtFZGN7bu22IFdHLQT0D7H8FkGhN9ejTLlb8pFWoos5+Hze3ipp8y1jjgAK5hM6NzWMPYzHBcAJXXd/w8TfT21EHnQDZCPJJ1jEzMLjz53s19lrv5tCXylCEnWaS6KvqJgmTNgZfF1E0Bx2XdlOK3H1GJwumTB7r8kYApamy1sObIBwqvLSKK8SWeUh8Zsg/PiJqkgcd+ixrazTob2wQ7mP+ylwggkc4t5HRoj7owIve8m38WY3uTZjPwSI+1jX+Ju6xukgtiY9VJ9R+5Xr6YxYu+F2MIYOKHGRPb4kHwrT08l/eYRS4mNtCXa+B9ddk3P6JRe6z7geMClmkxPq1rY32b6k0TJP7BIb/+fiFUfWXAbOl9tDTOzkMWYAS/OLnJYit599rLO79FLmxeuJyVyfrIH35mRwTnxr3zGla1UrIK4HDeJgVgcGXg+/iCeO3XCKyyXSBDJRJtuHzLkML7m7pJK7Y4="
}
Параметр | Тип | Описание |
---|---|---|
encryptedPan | string | Шифрованный PAN карты (RSA) |
encryptedCvv | string | Шифрованный CVV-код (RSA) |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Сгенерировать платежный токен карты
Платежный токен используется для безакцептного списания через протокол приема платежей. По умолчанию, создание платежного токена карты недоступно. Для подключения этой функциональности обратитесь к сопровождающему менеджеру.
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/paymenttoken
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100074269512/paymenttoken \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MyIsImRhdGEiOnsibWVyY2hhbnRfaWQiOjIwNDIsImFwaV91c2VyX2lkIjo1NjYwMzk3Miwic2VjcmV0IjoiQjIwODlDNkI5Q0NDNTdCNDQzNGHJK43JFJDK595FJFJMjlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
Ответ ←
Пример ответа
{
"paymentTokenId" : "a2232f25-f224-4087-96d0-be2c6b440b12",
"validTill" : "2026-09-30T00:00:00+03:00"
}
Параметр | Тип | Описание |
---|---|---|
paymentTokenId | string | Уникальный платежный токен |
validTill | URL-закодированная строка ГГГГ-ММ-ДДTЧЧ:ММ:ССZ |
Дата и время окончания действия платежного токена |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить токен формы просмотра реквизитов карты
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Получение данных карты».
Запрос → POST
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/sensitive/form-token
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-cards-lifecycle/v1/products/best-partner/cards/100074269512/sensitive/form-token \
-X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | \^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | \^[A-Za-z0-9-]{1,100}$ | 100000000001 |
Ответ ←
Пример ответа
{
"formToken" : "0b96b8e82f93b00a4010a66e23adb9e1",
"formUrl" : "https://baas.qiwi.com/form/card-sensitive-info"
}
Параметр | Тип | Описание |
---|---|---|
formToken | String | Токен для формы просмотра реквизитов карты. |
formUrl | String | URL формы просмотра реквизитов карты. |
Получить шифрованные данные при токенизации карты в ApplePay
Запрос → POST
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/112345678910/bind-apple-pay \
-X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
-H 'User-Agent-Origin: ios' \
-d '{
"nonce": "9c023092",
"nonceSignature" : "4082f883ae62d0700c283e225ee9d286713ef74456ba1f07376cf17d71bf0be013f926d486619394060ced56030f41f84df916eaab5504e456a8530dc9c821f6ed3e3af62b5d8f3e4a22ca2018670fee4e",
"publicCerts" : ["base64appleCertstring"]
}'
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/bind-apple-pay
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
- User-Agent-Origin: должен содержать
ios
Параметры запроса
productId
— Идентификатор продукта.cardTokenId
— Токен карты клиента.
Поля, получаемые в iOS приложении от Apple Wallet в процессе токенизации:
nonce
— строка hex;nonceSignature
— строка hex;publicCerts
— список строк в формате base64.
См. шаг 4 главы "V. In-App Provisioning Flow" документации "Getting Started with Apple Pay In-App Provisioning".
Ответ
Пример ответа
{
"activationDataBase64" : "base64string",
"encryptedDataBase64" : "base64string",
"ephemeralPublicKeyBase64" : "base64string"
}
Поля ответа соответствуют спецификации Apple (7 шаг главы "V. In-App Provisioning Flow" документации "Getting Started with Apple Pay In-App Provisioning") для дальнейшей передачи в Apple Wallet.
activationDataBase64
— зашифрованное значение OTP в формате base64;encryptedDataBase64
— зашифрованное полезная нагрузка формате base64;ephemeralPublicKeyBase64
— публичная часть эфемерного ключа шифрования в формате base64.
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Установка и изменение PIN-кода
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Установка и изменение PIN-кода».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/pin
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-cards-lifecycle/v1/products/best-partner/cards/100000000001/pin \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF9kFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c' \
-d '{
"encryptedPin" : "hQIMA6gqMockrlJ2ARAAjFevJDZFIeOITUENZtGGimV/aPc/CH5Ezul96rlom0vadqVlhOq09LV4hW8ek3Z9LnRU6xFEAJ6O/NozuMNSIGnTEA4rxsmp6gMTVEeaLeeoX4zqBvKdUwvKN/AgQUysH8pSd2rN63Ou/Fj9CLN3Xeu/PRiYICUflXeKZYbzOKZkY7KIrLVlmx2HypzY/SPQLeLzE9sN1IQz+JhWfre10LLS9GEwgk56dWbHhUws1BO05OS+orRJd3Pcmb+6KLCQO+6sFzGoua2PuZhSu6tgtAhE6nbv0DRG3f4aUKl9t6NUDFfID28mOcTKWFYVwnih5IYRVB7KOK5SOB5TxWTWXR8d3l6RJ476jnIE3e3+iWp25Ki46qt4NYi2NHYIpslHc5kBs2oa4DvE6NG66dL0Vw1hFznX0vH9Bn0O+SCWtsPOqu+0FHLiumPUvpBwgozOVs7IcuI3Q5jfYq6fDxVl2R4Sq22WmvZbcj227WUHxYqp1BT7aIm5mM6VPIFRDV/LarVghYGG8O0gfnuC8Z+V8owkUMZWwK0/uf9wj7I1OYHrpYAVHyOOLXS0kRGsxt5Tz6aXkyMLoaFomHH+ihHsgysYwFFAO5f0HABochP6Mg70EMVxsRs2JuMNMMj5THOPOYPtH4X0fk10YvfgoWwku+AekqV2vLaPN01y/U491+HSPwENiBVPyvTnD+fXsuvZawVwECPLCMuJULjH1Nd0rqdDKxFQvyukubZ4Q4o2fNDOwGQsuJU7BGrN/PyMDx5JWw==",
"publicKeyVersion" : "20200614"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
encryptedPin | string Обязательный параметр. Зашифрованный PIN-код карты ( ^\d{4}|$ ), который задал пользователь. Шифруется ключом при помощи алгоритма OpenPGP |
См. пример запроса | |
publicKeyVersion | string Обязательный параметр. Версия публичного ключа. |
См. пример запроса |
Ответ ←
Пример ответа
HTTP/1.1 204 No Content
При успешном выполнении запроса в ответе ожидается HTTP Status: 204 No Content
.
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить публичный ключ
Публичный ключ необходим для шифрования PIN-кода карты.
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/encryption/publickey
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/encryption/publickey \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF9JMjlCRkFFRDM5OE***********************'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
Ответ ←
Пример ответа
{
"publicKey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBF2l91YBEADY7stigMDgCFaOSEHo4eXbX73wWB3vGhBNC0yGGlrv7ip1IAn+\nGomTBS2aKU1/hzoSyUfHQdgcMzY5VsU6wqeTpYGh1dDluX3+9bG9fn/spYUzChHu\nRz8Jb4QgYwyj4BDX9VNYE92ZKyQ7oYx5cnp9xYxXqTw/rLL7RblTnccB8AyWjfZe\nbqyNbJZsgWPGqNl955XwTz5SXsLpMrzJAbGUslz+tLdRMJhCeGaPsajS5WuWPuxQ\nGUwbzZEkyNKYlHWca6KD2zCEROi0G0sZXSaY8VCgKOVLFUoteUNGIbBKZBCENbcB\n9myI54W9ATUOi23xELsDchGSOWFqqLanRpVa4OIYRHZtIcDYbUoSSoU1ynanZvFP\nF+ycZa2xgwyKpwc5YL1BkxmUl1mn6Wm6fbMWf7PpmOXpFkoFnZu35WkGBtWkuLX2\nd3LtPFtW7MOby7+fgMc2WawVsLpaLXpwstQhurGNTYmsod1wuvhDrmM5oK806VtX\nprTXaklD2A/EOe/ZyUvlTNewOTbBMcuOPO3K5mSIdntLACClpUSFSaUlzHl1b4sc\nJzLh5KshghImfw9tIRDQavPriF5chbp048P7ismd2t24k1ef5ynCq34GWeD1LIEc\n16UzB8YE5UhSaFCNrCg7AvTyp4xtIQqp+pqR0pMdWhHgIDmj31/1T1lMIQARAQAB\n=AVgg\n-----END PGP PUBLIC KEY BLOCK-----\n",
"version": "20200614"
}
Параметр | Тип | Описание |
---|---|---|
publicKey | string | Ключ для шифрования PIN-кода |
version | string | Версия ключа, которую необходимо передавать в параметре publicKeyVersion запроса "Сменить PIN-код" |
Версия ключа будет меняться с определенной периодичностью: например, 1 раз в год. Также версия может измениться в случае экстренной замены ключа по требованию службы безопасности.
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Заблокировать карту
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Блокировка карты».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/blockedstatus
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-cards-lifecycle/v1/products/best-partner/cards/100000000001/blockedstatus \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjojlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c' \
-d '{
"comment" : "Потерял карту",
"blockSource" : "PARTNER_API",
"blockingMode" : "PERMANENT"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
blockSource | string Обязательный параметр. Источник блокировки. Необходимо передавать PARTNER_API . |
PARTNER_API |
|
blockingMode | string Режим блокировки. Значение по умолчанию: PERMANENT . Временная блокировка автоматически сменится на постоянную спустя 90 дней. |
PERMANENT |
|
comment | string Комментарий к блокировке. Например, описание причины блокировки. |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"comment" : "Потерял карту",
"blockSource" : "PARTNER_API",
"blockingMode" : "PERMANENT"
}
Параметр | Тип | Описание |
---|---|---|
comment | string | Комментарий |
blockSource | string | Источник блокировки |
blockingMode | string | Режим блокировки |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить статус блокировки карты
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/blockedstatus
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100000000001/blockedstatus \
-X GET \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjoicmVzdF92MCRkFFRDM5OE***********************'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"comment" : "Потерял карту",
"blockSource" : "PARTNER_API",
"blockingMode" : "PERMANENT"
}
Параметр | Тип | Описание |
---|---|---|
comment | string | Комментарий к блокировке |
blockSource | string | Источник блокировки |
blockingMode | string | Режим блокировки |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Источник блокировки/разблокировки
Код | Описание |
---|---|
PARTNER_API | Партнёр |
QIWI | QIWI |
Режим блокировки
Код | Описание |
---|---|
PERMANENT | Постоянная блокировка. После блокировки в этом режиме карту уже невозможно будет разблокировать обратно. |
TEMPORARY | Временная блокировка |
Разблокировать карту
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Блокировка карты».
Запрос → DELETE
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/blockedstatus?comment={comment}
HEADERS
- Authorization: Bearer SECRET_KEY
- QIWI-Client-Token: CLIENT_TOKEN
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100000000001/blockedstatus?comment=user%20has%20found%20his%20card \
-X DELETE \
-H 'Authorization: Bearer eyJ2ZXJzaW9uIjojlCRkFFRDM5OE***********************' \
-H 'QIWI-Client-Token: fa9c491b7b06c6cf64a0b53fb2b9a91c'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
comment | string Комментарий к разблокировке. Например, описание причины разблокировки. Необязательный параметр. Значение должно быть предварительно закодировано в формате "Percent-Encoding". |
Ответ ←
Пример ответа
HTTP/1.1 204 OK
Тело ответа отсутствует.
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Зарегистрировать неименную пластиковую карту
Позволяет зарегистрировать неименную пластиковую карту в BaaS. Регистрация является обязательным этапом, если на момент выпуска карты её владелец (клиент) не был известен.
Запрос → POST
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/register-physical-card
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/register-physical-card \
-X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
-d '{
"envelopeNumber": "Env-123-DEF-456",
"accountId": "account1"
}'
Параметр | Описание | REGEX | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ |
Prd-123-DEF-456 |
envelopeNumber | string Обязательный параметр. Номер конверта карты |
^[A-Za-z0-9-]{1,100}$ |
Env-123-DEF-456 |
accountId | string Обязательный параметр. Идентификатор счета клиента, созданного с помощью Clients API, в системе партнера. Партнер передает id конкретного счета, к которому привязывается карта |
^[A-Za-z0-9-]{1,100}$ | Acc-123-DEF-456 |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"cardTokenId": "100000000001",
"cardType": "PHYSICAL",
"maskedPan": "4153****6977",
"expiryDate": "04/2024",
"status": "IN_PROGRESS_OF_CREATION",
"accountId": "account1"
}
Параметр | Тип | Описание |
---|---|---|
cardTokenId | string | Уникальный идентификатор (токен) карты |
cardType | string | Тип карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
embossedName | string | Имя владельца карты (отображается на карте) |
status | string | Статус карты |
accountId | string | Идентификатор счета клиента |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Активировать неименную пластиковую карту
Позволяет активировать ранее зарегистрированную неименную пластиковую карту. Актуальную информацию см. в разделе «Руководства по интеграции» → BaaS → «Управление банковской картой» → «Cценарии» → «Активация карты».
Запрос → POST
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/cards/{cardTokenId}/activate-physical-card
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/cards/100000000001/activate-physical-card \
-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 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ |
100000000001 |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"cardTokenId": "100000000001",
"cardType": "PHYSICAL",
"maskedPan": "4153****6977",
"expiryDate": "04/2024",
"status": "ACTIVE",
"accountId": "account1"
}
Параметр | Тип | Описание |
---|---|---|
cardTokenId | string | Уникальный идентификатор (токен) карты |
cardType | string | Тип карты |
maskedPan | string | Маскированный PAN. Пример: 4153****4697 |
expiryDate | string | Дата окончания действия карты. Пример: 04/2024 |
embossedName | string | Имя владельца карты (отображается на карте) |
status | string | Статус карты |
accountId | string | Идентификатор счета клиента |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Правила проведения операций домена CARDS
Механизм управления проведением операций домена CARDS
описан в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS».
Создать правило
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Создание».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rules/{ruleId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rules/ruleid1example \
-X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******' \
-d '{
"ruleEffect": "ALLOW",
"filterMCC": "0742",
"filterMerchantId": "12345678"
}'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
ruleEffect | string Обязательный параметр тела запроса. Эффект срабатывания правила. Возможные значения: ALLOW , DENY |
ALLOW |
|
filterMcc | string Условие правила: фильтр по MCC-коду операции |
7210 |
|
filterMerchantNameMask | string Условие правила: фильтр по названию мерчанта, поддерживает метасимвол % для выражения ноль, один или несколько любых символов. Чтобы задать в фильтре знак % буквально, экранируйте его знаком \ : \% . Знак \ в фильтре экранируйте аналогично: \\ . Т. е. \% и \\ в параметре обозначают знаки % и \ в названии мерчанта, соответственно. Одиночный неэкранированный знак \ приведет к ошибке. |
MegaMarkt% |
|
filterMerchantId | string Условие правила: фильтр по идентификатору мерчанта |
12345678 |
|
filterTerminalId | string Условие правила: фильтр по идентификатору терминала |
123456789000 |
|
filterAcquirerId | string Условие правила: фильтр по идентификатору эквайера |
JP Morgan |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"ruleEffect" : "ALLOW",
"filterMCC": "0742",
"filterMerchantId": "12345678",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
ruleEffect | string | Эффект срабатывания правила. Возможные значения: ALLOW , DENY |
filter*** | string | Условие правила: фильтр, заданный в запросе. *** может принимать любое из следующих значений: Mcc , MerchantNameMask , MerchantId , TerminalId , AcquirerId |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию о правиле
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Получение информации».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rules/{ruleId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rules/ruleid1example \
-X GET \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"ruleEffect" : "ALLOW",
"filterMCC": "0742",
"filterMerchantId": "12345678",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
ruleEffect | string | Эффект срабатывания правила. Возможные значения: ALLOW , DENY |
filter*** | string | Условие правила: фильтр, заданный в запросе. *** может принимать любое из следующих значений: Mcc , MerchantNameMask , MerchantId , TerminalId , AcquirerId |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности. Опциональное поле |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Отключить правило
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Отключение или удаление».
Запрос → POST
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rules/{ruleId}/disable
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rules/ruleid1example/disable \
-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 |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
Ответ ←
Пример ответа
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"ruleEffect" : "ALLOW",
"filterMCC": "0742",
"filterMerchantId": "12345678",
"actualFrom": "2022-04-30T00:00:00+03:00",
"actualTill": "2022-04-30T00:15:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
ruleEffect | string | Эффект срабатывания правила. Возможные значения: ALLOW , DENY |
filter*** | string | Условие правила: фильтр, заданный в запросе. *** может принимать любое из следующих значений: Mcc , MerchantNameMask , MerchantId , TerminalId , AcquirerId |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Создать группу
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Создание».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/groups/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/groups/groupid1example \
-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 |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"groupId" : "groupid1example",
"actualFrom": "2022-04-29T12:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию о группе
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Получение информации».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/groups/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-rules/group/groupid1example \
-X GET \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"groupId" : "groupid1example",
"actualFrom": "2022-04-29T12:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности. Опциональное поле |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Отключить группу
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Отключение или удаление».
Запрос → POST
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/groups/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/groups/groupid1example \
-X POST \
-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 |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00",
"actualTill": "2022-04-30T00:15:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Создать связь правила с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Создание».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rule-group-bindings/rule/{ruleId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rule-group-bindings/rule/ruleid1example/group/groupid1example \
-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 |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию о связи правила с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Получение информации».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rule-group-bindings/rule/{ruleId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rule-group-bindings/rule/ruleid1example/group/groupid1example \
-X GET \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности. Опциональное поле |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Удалить связь правила с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Отключение или удаление».
Запрос → DELETE
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/rule-group-bindings/rule/{ruleId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/rule-group-bindings/rule/ruleid1example/group/groupid1example \
-X DELETE \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF |
ruleId | Обязательный параметр URL запроса. Идентификатор правила | ^[A-Za-z0-9-]{1,100}$ | Abc-123-DEF |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа
HTTP/1.1 202 Accepted
Content-Type: application/json
{
"ruleId" : "ruleid1example",
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00",
"actualTill": "2022-04-30T00:15:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
ruleId | string | Идентификатор правила |
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
actualTill | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Окончание срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Создать связь карты с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Создание».
Запрос → PUT
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/card-group-bindings/card/{cardTokenId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/card-group-bindings/card/100065768512/group/groupid1example \
-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 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа с кодом состояния http 200
{
"cardTokenId" : "100065768512",
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
cardTokenId | string | Идентификатор (токен) карты |
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Получить информацию о связи карты с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Получение информации».
Запрос → GET
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/card-group-bindings/card/{cardTokenId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
Параметры запроса
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/card-group-bindings/card/100065768512/group/groupid1example \
-X GET \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Пример ответа с кодом состояния http 200
{
"cardTokenId" : "100065768512",
"groupId" : "groupid1example",
"actualFrom": "2022-04-30T00:00:00+03:00"
}
Поле | Тип | Описание |
---|---|---|
cardTokenId | string | Идентификатор (токен) карты |
groupId | string | Идентификатор группы |
actualFrom | DateTime в формате ISO 8601 ±hh:mm с московской Time Zone | Начало срока действия сущности |
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Удалить связь карты с группой
Подробности см. в разделе «Руководства по интеграции» → BaaS → «Правила проведения операций домена CARDS» → «Отключение или удаление».
Запрос → DELETE
Пример запроса
curl https://api-test.qiwi.com/partner/openapi-cards-lifecycle/v1/products/best-partner/card-auth-acl/card-group-bindings/card/100065768512/group/groupid1example \
-X DELETE \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer MjMyNDQxMjM6NDUzRmRnZDQ0M*******'
URL /partner/openapi-cards-lifecycle/v1/products/{productId}/card-auth-acl/card-group-bindings/card/{cardTokenId}/group/{groupId}
HEADERS
- Authorization: Bearer SECRET_KEY
- Content-Type: application/json;charset=UTF-8
Параметры запроса
Параметр | Описание | Regex | Пример |
---|---|---|---|
productId | Обязательный параметр URL запроса. Идентификатор продукта | ^[A-Za-z0-9-]{1,100}$ | Prd-123-DEF-456 |
cardTokenId | Обязательный параметр URL запроса. Уникальный идентификатор (токен) карты, который получен в ответе на запрос выпуска карты | ^[A-Za-z0-9-]{1,100}$ | 100000000001 |
groupId | Обязательный параметр URL запроса. Идентификатор группы | ^[A-Za-z0-9-]{1,100}$ | groupid1example |
Ответ ←
Тело ответа отсутствует.
Ответ с ошибкой содержит объект с информацией об ошибке. Подробнее см. раздел Формат ошибок API.
Статусы заказа на выпуск карты
Код | Описание |
---|---|
ORDERED | Заказ на выпуск карты оформлен |
DELIVERED | Карта выпущена (для виртуальных) или доставлена (для физических) |
FAILED | Ошибка, заказ не создан |
Статусы карты
Код | Описание |
---|---|
ACTIVE | Активна |
IN_PROGRESS_OF_CREATION | В процессе создания: актуально для физических карт |
BLOCKED | Заблокирована |
TEMPORARY_BLOCKED | Временно заблокирована |
Типы карт
Код | Описание |
---|---|
VIRTUAL | Виртуальная |
PHYSICAL | Физическая |
Типы платежных систем
Название |
---|
MIR |
VISA |
Формат ошибок API
См. информацию из раздела «Руководства по интеграции» → BaaS → «Тестирование» → «Работа с ошибками».
Справочник кодов ошибок
Код | Описание |
---|---|
order.bad.request.data | Параметры запроса некорректны: относится к заказу на выпуск карты |
order.not.found | Заказ на выпуск карты не найден |
order.already.created.with.different.client.id.or.account.id | Заказ на выпуск карты уже создан или с другим идентификатором клиента или с другим идентификатором счета в банке |
delivery.method.not.found | Метод доставки не найден: актуально для физических карт |
card.not.found | Карта не найдена |
product.not.found | Продукт не найден |
card.type.unsupported | Выполнение этого действия невозможно для указанной карты |
card.blocked | Карта заблокирована |
auth.permission.denied | Ошибка авторизации |
client.not.found | Клиент не найден |
account.not.found | Счет не найден |
card.is.not.active | Карта неактивна |
identification.level.not.enough | Текущий уровень идентификации клиента является недостаточным для совершения этого действия |
ip.address.not.allowed | Запросы с этого IP адреса не разрешены |
client.blocked | Клиент заблокирован |
card.design.code.not.found | Код дизайна карты не найден: актуально для физических карт |
card.pin.incorrect | Некорректный PIN |
pin.decryption.error | Ошибка шифрования PIN |
public.key.invalid | Невалидный публичный ключ |
active.virtual.cards.count.exceeded | Превышено допустимое количество виртуальных карт |
apple.pay.encryption.error | Ошибка шифрования данных для токенизации в Apple Pay: некорректный публичный сертификат |
auth.forbidden | Партнер не имеет права на выполнение операции |
validation.error | Ошибка валидации, проверьте корректность данных в запросе |
card.auth.acl.rule.modification.prohibited | Запрещено изменение правила |
card.auth.acl.rule.not.found | Правило не найдено |
card.auth.acl.rule.disabled | Правило отключено |
card.auth.acl.group.disabled | Группа была отключена |
card.auth.acl.group.not.found | Группа не найдена |
card.auth.acl.rule.group.binding.is.being.deleted | Привязка правила и группы в процессе удаления |
card.auth.acl.rule.group.binding.not.found | Привязка правила и группы не найдена |
card.auth.acl.card.group.binding.not.found | Привязка карты и группы не найдена |
card.auth.acl.wrong.rule.merchant.name.mask | Задано некорректное значение поля filterMerchantNameMask при создании правила |
card.already.registered.with.different.client.id.or.account.id | Карта уже зарегистрирована для другого клиента |
card.can.not.be.registered | Карта не может быть зарегистрирована |
card.already.activated.with.different.phone.number | Карта уже была активирована ранее с указанием другого номера телефона |
card.already.blocked.permanently | Карта уже заблокирована в постоянном режиме; эта ошибка возникает при попытке временной блокировки карты, которая ранее уже была заблокирована навсегда (в постоянном режиме). |
client.token.not.found | Не найден активный токен клиента |
client.token.header.is.missing | Отсутствует заголовок QIWI-Client-Token, обязательный для продуктов с поддержкой клиентских токенов |
client.token.mismatch | Токен, переданный в запросе, не совпадает с выпущенным для клиента токеном |
client.token.not.enabled | Поддержка клиентских токенов отключена для продукта |
client.contact.phone.not.set | Контактный номер клиента не установлен |
Справочник кодов внутренних ошибок
Описание всех перечисленных ошибок одинаковое: "В сервисе cards-lifecycle произошла внутренняя ошибка".
Код |
---|
openapi.cardlifecycle.internal.error |
card.pin.change.internal.error |
pan.is.null |
card.phone.updating.error |
bank.informing.internal.error |
bank.card.info.internal.error |
expiry.date.expected |
card.token.id.expected |
block.info.not.found |
prc.operation.for.test.client.prohibited |
card.offer.not.found |
operation.for.card.not.supported |
pan.length.invalid |
card.status.not.activated |