Plugin API — зрозуміліші та безпечніші дані про помилки завдань

Невдалі завдання тепер повертають конкретний код помилки, перекладене повідомлення та посилання на відповідну сторінку документації — і в ендпоінті завдання, і у вебхуку.

Коли завдання зазнає невдачі, Plugin API тепер повідомляє про причину у формі, на яку можна спертися. GET /jobs/{id} і вихідний вебхук повертають той самий об'єкт помилки, і обидва покращено однаково.

Що змінилося

  • code тепер відповідає причині. Відхилений промпт повертає content_policy_violation, відсутній вихідний файл — source_asset_unavailable, ліміт на боці постачальника — rate_limit_exceeded. Кожне з цих значень уже було в опублікованому наборі кодів, тож наявна обробка продовжує працювати.
  • Помилки, що виникли під час виконання завдання, додатково несуть category — клас збою, з якого походить код.
  • message_i18n завжди доступний англійською та польською, а doc_url завжди веде на сторінку документації для цього коду.
  • retryable тепер відображає, чи буде повторено завдання, тож значення false означає, що повторне надсилання того самого запиту не допоможе.

Що перевірити у своїй інтеграції

message_i18n.en раніше повторював необроблене повідомлення від нашого постачальника зображень. Тепер він містить наше власне формулювання, написане для читання людиною. Якщо ви зберігали цей текст, звіряли або розбирали його, перейдіть на code — це задокументоване й стабільне поле для розгалуження логіки. Необроблені повідомлення постачальників більше не залишають наші системи.

Збої, записані до цієї зміни, не мають category і надалі повертають generation_failed.

Повний перелік кодів і таблиця відповідності категорій кодам — у документації помилок Plugin API.