Endpointy
Każda trasa w API integracji wtyczek v1 — kształt request, kształt response, scope.
Kanonicznym kontraktem jest YAML OpenAPI 3.1. Ta strona podsumowuje każdą trasę w pigułce; zajrzyj do specyfikacji po pełne schematy, przykłady i odpowiedzi błędów.
Tożsamość
GET /me
Zwraca instalację wywołującego, konto sprzedawcy, efektywne scope, limit zapytań i aktualną listę subprocesorów.
Scope: dowolny ważny klucz.
Zadania
POST /jobs
Prześlij pojedyncze zadanie generowania. Body zgodne z SubmitJobRequest w specyfikacji OpenAPI.
Scope: plugin.jobs:create. Idempotencja: obsługiwana.
POST /jobs/batch
Prześlij do 50 zadań w jednym wywołaniu (konfigurowalne przez PLUGIN_API_BATCH_LIMIT); per-itemowe wyniki w odpowiedzi.
Scope: plugin.jobs:create. Idempotencja: nie obsługiwana w v1; wysyłaj pojedynczo przez POST /jobs z własnym Idempotency-Key, jeśli potrzebujesz replay-safe ponowień.
GET /jobs
Lista zadań w zasięgu wywołującej instalacji. Query: status, created_after, created_before, limit (max 100), cursor.
Scope: plugin.jobs:read.
GET /jobs/{id}
Pobierz jedno zadanie. Outputy zawierają presigned URLs ważne 7 dni; użyj POST /jobs/{id}/refresh-url, by wystawić świeże.
Scope: plugin.jobs:read.
POST /jobs/{id}/refresh-url
Wybij świeży presigned URL dla wcześniej ukończonego outputu. Użyj, gdy istniejący URL wygasł.
Scope: plugin.jobs:read. Zwraca 409 job_not_completed, jeśli zadanie wciąż pending.
DELETE /jobs/{id}
Anuluj oczekujące zadanie i zwróć rezerwację kredytową. Zwraca 409 job_not_cancelable, gdy zadanie osiągnęło completed/failed.
Scope: plugin.jobs:cancel.
Assety
POST /assets/upload
Wybij presigned upload URL dla asset źródłowego (surowe zdjęcie produktu do przetworzenia). Wyślij bajty bezpośrednio na zwrócony URL przez PUT.
Scope: plugin.assets:upload.
Presety
GET /presets
Lista presetów widocznych dla sprzedawcy — zarówno zapisane account-scoped, jak i Qamera-curated.
Scope: plugin.jobs:read (lista presetów jedzie na scope read-jobs; w v1 nie ma dedykowanego scope dla presetów).
Lifecycle instalacji
POST /installations/{id}/rotate-hmac
Obróć sekret HMAC webhook. Poprzedni sekret pozostaje ważny przez 48h, by deliveries in flight nie failowały. Response zawiera nowy sekret raz.
Scope: plugin.installations.manage.
Webhooki
POST /webhooks/{delivery_id}/replay
Ponownie zakolejkuj delivery webhook dla zadania. Użyj, gdy Twój endpoint był down podczas oryginalnego okna ponowień.
Scope: plugin.webhooks:manage. Delivery musi należeć do wywołującej instalacji.