Przymiarki
POST /v1/tryons (token klientki):
{ "external_product_id": "SKU-123", "priority": "browse" }Odpowiedź przychodzi od razu: 202 ze stanem queued. Wynik przyjdzie zdarzeniem albo przez GET /v1/tryons/{id}.
Priorytety
Dział zatytułowany „Priorytety”priority |
Kiedy | Uwagi |
|---|---|---|
live |
W trakcie transmisji | Najszybsza kolejka |
browse |
Przeglądanie sklepu | Domyślny |
preview |
Zapowiedź live’a, przygotowanie z wyprzedzeniem | Wymaga zgody previews. Funkcja w przygotowaniu |
status |
Znaczenie |
|---|---|
queued, processing |
W toku |
succeeded |
Gotowe, result_url wskazuje obraz (link ważny 10 minut) |
failed |
Nieudana, przyczyna w error_code |
refused |
Model odmówił (np. przez filtr treści) |
Pamięć wyników
Dział zatytułowany „Pamięć wyników”Ta sama klientka, to samo zdjęcie i ten sam produkt dają ten sam wynik bez ponownego generowania. Odpowiedź ma wtedy od razu 200 ze stanem succeeded i nie liczy się do limitu.
Oznaczenie AI
Dział zatytułowany „Oznaczenie AI”Każdy wynik ma wpisane oznaczenie, że to obraz wygenerowany przez AI. Pokazuj je klientce przy obrazie (widżet i SDK robią to same).
Zapis i udostępnianie
Dział zatytułowany „Zapis i udostępnianie”GET /v1/tryons/{id}/share-image (token klientki) zwraca wynik gotowy do zapisania w telefonie albo wysłania dalej:
- JPEG z małym znaczkiem „Obraz AI · nazwa butiku” w lewym dolnym rogu (bez butiku: „Obraz AI”). Znaczek zostaje, nawet gdy komunikator usunie metadane;
- oznaczenie AI w metadanych XMP (IPTC
DigitalSourceType:compositeWithTrainedAlgorithmicMedia); - nagłówek
Content-Dispositionz nazwą pliku, np.przymiarka-sukienka-maxi.jpg.
Przymiarka bez wyniku daje 409 not_ready, cudza 404. Widżet i SDK mają przyciski Zapisz i Udostępnij gotowe, więc ten adres przyda się tylko we własnym interfejsie. „Usuń moje dane” kasuje także te kopie.
Historia
Dział zatytułowany „Historia”GET /v1/tryons zwraca przymiarki klientki od najnowszych, z produktem (nazwa i miniatura) oraz oceną. Filtry: product (external_id) i status. Stronicowanie: limit (domyślnie 24, najwyżej 50) i before (created_at ostatniej pozycji).
POST /v1/tryons/{id}/feedback z {"rating": "up"} albo {"rating": "down", "reasons": ["length"]}. Odpowiedź: 204 bez treści. Ocenić można tylko przymiarkę w stanie succeeded, inaczej 409 tryon_not_ready. Kolejna ocena zastępuje poprzednią.
Powody: length (długość), color (kolor), body_changed (zmieniona sylwetka), not_me (to nie ja), other. Oceny widać w panelu w sekcji Jakość przymiarek, a Twój serwer dostaje webhook tryon.rated.