Перейти к содержанию

Идемпотентное создание заданий ​

Предотвращайте двойную печать при повторе запросов после превышения времени ожидания или сетевого сбоя.

Зачем печати идемпотентность ​

Время ожидания может истечь после того, как CloudPrint принял запрос, но до того, как ваша серверная часть получила ответ. Создание нового задания в этот момент способно напечатать документ дважды.

Как построить ключ ​

Используйте стабильный ключ бизнес-операции, например shipment-18451-label-v1. Он должен быть не длиннее 128 символов и оставаться одинаковым при повторе запроса с теми же данными. Намеренная повторная печать считается новой операцией и получает новый ключ.

Правила повторного использования ​

Для одного аккаунта одинаковые ключ и данные возвращают исходный результат. Тот же ключ с другими данными приводит к 409 Conflict. Сохраняйте ключ до первого запроса.

Восстановление после неопределённости ​

После сетевого сбоя повторите тот же запрос с тем же ключом. Получив print_job_id, сохраните его и проверяйте статус вместо создания нового задания.

Связанная документация ​

Руководства по интеграции CloudPrint, подключению локального агента и надёжной работе печати.