Skip to content

Метод getCertificate ​

Внимание: Метод устарел и недоступен конечным пользователям через B2B API. Не используйте его в новых интеграциях.

Описание ​

Возвращает PDF-файл с подарочным сертификатом по идентификатору заявки (queue_id). Сертификат возвращается в виде base64-строки. В случае, если makeOrder был выполнен в тестовом режиме (testmode=1), данный метод вернёт демо-сертификат Giftery при обращении по queue_id.

Выпуск и активация сертификата в среднем занимает менее 5-х секунд, однако иногда бывают задержки до нескольких часов (как правило связано с тех.проблемами на стороне отдельных поставщиков), поэтому запрос getCertificate следует повторять (только getCertificate, makeOrder повторять не следует) с паузой 5, 10, 30, 60, 600, 1800, 3600 сек., пока не будет получен успешный статус. Пока сертификат не готов будет возвращаться статус: "1203: Сертификат не готов".

При попытке получения сертификата по заказу в статусе delayed (см. описание status в ответе на getStatus) возвращается ошибка 1208 (Заказ обрабатывается, ожидается поступление кодов). Подобные заказы обрабатываются с задержкой в несколько часов, в отдельных случаях до нескольких дней.

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

ПараметрОписание
queue_idИдентификатор заявки. Целое, больше нуля число. Возвращается методом makeOrder.

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

ПараметрОписание
certificateСодержимое PDF-файла с сертификатом в виде base64-строки. Для сохранения в виде файла строку необходимо декодировать в двоичный формат.

Пример ​

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

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

Результат

json
{
 "status":"ok",
 "data": {
   "certificate":"JVBERi0xLjQKMSAwIG9iago...CjU3MTQzCiUlRU9GCg=="
 }
}

Распространённые ошибки ​

Код ошибкиОписание
1209Заказ ещё находится в очереди на обработку. Если запрос getCertificate был выполнен сразу после makeOrder, в таком случае мы не успели начать обрабатывать заказ и требуется повторить запрос через минуту. Если данный статус держится несколько минут и более, значит мы получили большое количество заказов за небольшой интервал времени. Требуется подождать и повторить запрос.
1202Заказ не оплачен. После начала обработки заказа данный статус может быть получен в течение одной-двух секунд. При получении данного статуса требуется повторить запрос через небольшой интервал времени.
1203Сертификат не готов. После оплаты заказа данный статус может быть получен в течение одной-двух секунд. При получении данного статуса требуется повторить запрос через небольшой интервал времени. В отдельных случаях может быть зажердка вплоть до нескольких часов, в основном она связана с ошибками на стороне поставщиков кодов. Если спустя два-три часа данный статус продолжает оставаться, можно обратиться за информацией по адресу dev@giftery.ru.
1208Данный статус показывает, что заказ был принят и ему был присвоен статус отложенного заказа. См. описание отложенных заказов.
1205При обработке заказа возникла ошибка. Требуется обратиться за информацией по адресу dev@giftery.ru.