Успешный ответ API на передачу цифровых ключей не равен завершённой выдаче товара. В документации Яндекс Маркета прямо разделены приём запроса deliverDigitalGoods и переход заказа в DELIVERED после доставки письма покупателю. Справка проверена 18 октября 2026 года; это практический разбор действующего метода, а не анонс новой функции.

Проверьте, подходит ли процесс вашему заказу

Метод предназначен для оплаченных цифровых DBS-заказов и пока недоступен продавцам Market Yandex Go. Передать ключи нужно в течение 30 минут после перехода заказа в PROCESSING. После запроса Маркет отправляет покупателю письмо с содержимым и инструкцией по активации.

Не применяйте этот маршрут автоматически ко всем товарам с электронным результатом. Сначала определите способ выдачи из данных заказа. В каталоге могут одновременно находиться разные типы цифровых товаров; одинаковое слово «игра» в названии не делает их операции взаимозаменяемыми.

Соберите один согласованный пакет ключей

Все ключи одного заказа передаются одним запросом. Для каждого уникального идентификатора товара в items нужен отдельный элемент, а относящиеся к нему ключи помещают в codes. Поле id берут из позиции заказа. Инструкция по активации передаётся в slip, срок активации — в activate_till.

Редакционная рекомендация: сначала закрепите ключи за заказом во внутреннем учёте, затем сформируйте пакет. Для двух разных позиций нельзя использовать один набор только потому, что их названия похожи. Проверяющий должен видеть соответствие «позиция — количество — выделенные ключи», а не лишь общий размер файла.

Тесты интеграции проводите на согласованном тестовом процессе, не отправляя реальные оплаченные коды случайному заказу. Отдельно проверьте, что копирование инструкции от предыдущего товара не перенесло чужой регион активации или чужую версию продукта.

Не закрывайте задачу по HTTP-ответу

Документация предупреждает, что статус меняется не сразу. Для финального подтверждения нужно получить DELIVERED — через уведомление или проверку заказа. Внутренняя запись «запрос принят» поэтому должна отличаться от записи «выдача завершена».

При задержке не выделяйте новый набор ключей только из-за отсутствия мгновенного финального статуса. Сначала восстановите результат предыдущей попытки. Сохраняйте идентификатор операции и связь с выделенным набором; сами действующие коды не стоит помещать в общедоступные журналы. Восстановление работы приёмника разобрано в инструкции об API-уведомлениях Маркета.

Что передать поддержке при расхождении

Подготовьте номер заказа, время перехода в обработку, время отправки запроса, его технический результат и последний полученный статус. Это позволяет обсуждать конкретный незавершённый этап. Ответ «у нас всё отправлено» без разделения этапов не объясняет, получил ли покупатель товар.

В рабочем отчёте оставляйте такие операции в отдельной очереди до подтверждения результата. Успех сетевого обмена, резервирование цифрового запаса и фактическая выдача — три разных события, которые должны сохраняться раздельно.