Skip to content

Метод checkCertificate ​

Описание ​

Метод предназначен для получения информации о сертификате. Можно проверить правильность ввода кода и пина, срок действия сертификата, доступный номинал сертификата. После проверки параметров сертификата можно вызывать метод redeemCertificate.

Параметры запроса (data) ​

ПараметрТипОписание
codestringОбязательное. Код сертификата.
pinstringСекретный пин-код сертификата

Параметры ответа (data) ​

ПараметрТипОписание
order_idintegerИдентификатор заказа
product_idintegerИдентификатор продукта
faceintegerДоступный номинал сертификата. Номинал не изменяется в течение жизни сертификата.
balanceintegerДоступный баланс сертификата. Баланс уменьшается после выполнения частичного или полного погашения. В отдельных случаях баланс сертификата может быть меньше номинала изначально. При отображении в интерфейсе необходимо показывать баланс сертификата вместо номинала серфтикиата.
allow_partial_redeembooleanВозможность выполнения частиного погашения
available_number_of_usesintКоличество оставшихся частичных погашений. Значение может быть 0, в таком случае количество погашений не ограничено.
number_of_usesintКоличество использованных частичных погашений
expire_datestringДата и время окончания срока действия сертификата
redeemedbooleanБыл ли сертификат уже погашен
expiredbooleanИстёк ли срок действия сертификата
pin_is_correctbooleanПравильно ли был введён пин-код сертификата
product_titlestringНазвание продукта

Пример ​

bash
# Получаем значение для подстановки SIG
# SECRET в данном случае - это хранящийся у клиента ключ для подписи запросов к API
$ echo -n 'checkCertificate{"code":"00342-999-999-999","pin":"9999"}SECRET' | sha256sum - | awk '{print $1}'

# Используем известный клиенту ID и сгенерированный SIG для выполнения запроса
$ curl 'https://ssl-api.giftery.ru/?cmd=checkCertificate&id=ID&in=json&out=json&data=%7B%22code%22%3A%2200342-999-999-999%22%2C%22pin%22%3A%229999%22%7D&sig=SIG'

Результат успешного запроса ​

JSON
{
    "status": "ok",
    "data": {
        "order_id": 9999999,
        "product_id": 9999,
        "face": 10000,
        "balance": 9000,
        "allow_partial_redeem": true,
        "available_number_of_uses": 10,
        "number_of_uses": 0,
        "expire_date": "2021-02-05 15:21:20",
        "redeemed": false,
        "expired": false,
        "pin_is_correct": true,
        "product_title": "Giftery Card"
    }
}

Результат в случае ошибки ​

JSON
{
    "status": "error",
    "error": {
        "code": 1402,
        "text": "Сертификат не найден"
    }
}
Код ошибкиОписание
1402Не удалось найти сертификат по предоставленному коду. Нужно проверить правильность передачи кода. Проверка пин-кода происходит только если сертификат был найден.
1403Сертификат был заблокирован. Причину блокировки можно уточнить и персонального менеджера.