Метод 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-строки. Для сохранения в виде файла строку необходимо декодировать в двоичный формат. |
Пример
# Получаем значение для подстановки 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'Результат
{
"status":"ok",
"data": {
"certificate":"JVBERi0xLjQKMSAwIG9iago...CjU3MTQzCiUlRU9GCg=="
}
}Распространённые ошибки
| Код ошибки | Описание |
|---|---|
| 1209 | Заказ ещё находится в очереди на обработку. Если запрос getCertificate был выполнен сразу после makeOrder, в таком случае мы не успели начать обрабатывать заказ и требуется повторить запрос через минуту. Если данный статус держится несколько минут и более, значит мы получили большое количество заказов за небольшой интервал времени. Требуется подождать и повторить запрос. |
| 1202 | Заказ не оплачен. После начала обработки заказа данный статус может быть получен в течение одной-двух секунд. При получении данного статуса требуется повторить запрос через небольшой интервал времени. |
| 1203 | Сертификат не готов. После оплаты заказа данный статус может быть получен в течение одной-двух секунд. При получении данного статуса требуется повторить запрос через небольшой интервал времени. В отдельных случаях может быть зажердка вплоть до нескольких часов, в основном она связана с ошибками на стороне поставщиков кодов. Если спустя два-три часа данный статус продолжает оставаться, можно обратиться за информацией по адресу dev@giftery.ru. |
| 1208 | Данный статус показывает, что заказ был принят и ему был присвоен статус отложенного заказа. См. описание отложенных заказов. |
| 1205 | При обработке заказа возникла ошибка. Требуется обратиться за информацией по адресу dev@giftery.ru. |