Plugin API — czytelniejsze i bezpieczniejsze informacje o błędach zadań

Nieudane zadania zwracają teraz konkretny kod błędu, przetłumaczony komunikat i odnośnik do właściwej strony dokumentacji — zarówno w endpoincie zadania, jak i w webhooku.

Gdy zadanie się nie powiedzie, Plugin API informuje teraz o przyczynie w formie, na której można oprzeć działanie. GET /jobs/{id} oraz wychodzący webhook zwracają ten sam obiekt błędu i oba zostały ulepszone tak samo.

Co się zmieniło

  • code jest teraz dopasowany do przyczyny. Odrzucony prompt zwraca content_policy_violation, brakujący plik źródłowy — source_asset_unavailable, limit po stronie dostawcy — rate_limit_exceeded. Każda z tych wartości była już wcześniej w opublikowanym zbiorze kodów, więc dotychczasowa obsługa działa dalej.
  • Błędy powstałe w trakcie wykonywania zadania niosą dodatkowo category — klasę awarii, z której wyprowadzany jest kod.
  • message_i18n jest zawsze dostępny po angielsku i po polsku, a doc_url zawsze prowadzi do strony dokumentacji opisującej dany kod.
  • retryable odzwierciedla teraz to, czy ponowione zostanie zadanie, więc wartość false oznacza, że ponowne wysłanie tego samego żądania nic nie da.

Co sprawdzić w swojej integracji

message_i18n.en powtarzał wcześniej surowy komunikat zwrócony przez naszego dostawcę obrazów. Teraz zawiera nasze własne sformułowanie, napisane do czytania przez człowieka. Jeśli zapisywałeś ten tekst, dopasowywałeś go lub parsowałeś, przejdź na code — to udokumentowane i stabilne pole do rozgałęziania logiki. Surowe komunikaty dostawców nie opuszczają już naszych systemów.

Awarie zapisane przed tą zmianą nie mają category i nadal zwracają generation_failed.

Pełna lista kodów oraz tabela pokazująca, która kategoria daje który kod, znajduje się w dokumentacji błędów Plugin API.