Temu¶
Temu to najmłodsza integracja w panelu — API jest podpięte, autoryzacja działa stabilnie. Specyfika Temu: długi przedoferta moderation + nieoczywista wymagana kategoryzacja.
Status delivery¶
🟠 Częściowe — auth (90-dniowe tokeny), wystawianie payload zgodne z V2 API, ale payload partial (niektóre nieobligatoryjne atrybuty nie są jeszcze podpięte; szczegóły w bugfix mode).
| Funkcja | Status |
|---|---|
| OAuth (auth code + refresh, V2) | ✅ |
| Pobieranie ofert | ✅ |
| Wystawianie pojedyncze | ✅ (basic payload) |
| Wystawianie rodzin (list_variant_products) | ✅ |
(cennik1 + cennik2) × współczynnik |
✅ flow serwerowy (TASK-290) |
| Auto-retry | ⚪ |
Setup — podłączenie konta Temu¶
Po stronie Temu wymagane uprawnienia
Konto sprzedawcy Temu musi być z poziomu „Buy with Prime" lub „Cross-border seller". Standardowe konto kupującego nie wystarczy. Założenie konta sprzedawcy Temu jest po stronie właściciela.
- Marketplace → Konfiguracja → Temu → Dodaj konto.
- Wpisz Etykietę + Region (Temu rozróżnia regiony EU / US / GLOBAL).
- Kliknij Autoryzuj w Temu — przekierowanie do Temu Open Platform OAuth.
- Zaloguj się kontem sprzedawcy Temu.
- Zatwierdź uprawnienia (
product.write,product.read,order.read). - Temu zwróci
code+app_secret. Panel zapisze parę access/refresh-token (TTL 90 dni).
Mapowanie kategorii — Temu specifics¶
Temu ma bardzo głębokie drzewo kategorii i uznaje za błąd próbę wystawienia w „kategorii ogólnej". W Konfiguracja → Temu → Mapowanie kategorii używasz match_category.ts — flow który podpowiada kandydatów Temu dla danej rodziny na podstawie nazwy + atrybutów BL. Wybierasz najbardziej szczegółową kategorię.
Wystawianie¶
Pojedynczy produkt¶
- Marketplace → Oferty → Temu, wybierz konto i rodzinę.
- Kliknij Wystaw.
- Panel:
- dolicza cenę przez
(cennik1 + cennik2) × współczynnik, - buduje atrybuty z mapowania kategorii,
- wysyła
POST /goods/publishprzezpublish.ts, - po sukcesie zapisuje
remote_product_id= Temu goods ID. - Oferta wchodzi w moderację Temu (
under_review) — od kilku godzin do kilku dni.
Rodzina (warianty)¶
Temu wspiera SKU-level variants — używamy list_variant_products.flow/:
- Tworzymy produkt-parent z atrybutami rodziny.
- Każdy SKU dodawany jako variant z
size_spec/color_spec. - Wystawienie jako jedna oferta wielowariantowa.
Cenniki¶
| Reguła | Status |
|---|---|
cennik1 × współczynnik |
✅ |
(cennik1 + cennik2) × współczynnik |
✅ (TASK-290) |
Stany ofert¶
| Status (panel) | Co znaczy w Temu |
|---|---|
pending |
Wysłano payload, czekamy |
listed |
Temu zaakceptowało, oferta live |
failed |
Walidacja odrzuciła |
pending (długo) |
Moderacja Temu (under_review) — patrz Edge cases |
Synchronizacja periodyczna¶
| Zadanie | Częstotliwość |
|---|---|
| Refresh tokenu OAuth | co 12 godzin |
Skan zbliżających się expiry tokenów (scan_expiry) |
codziennie |
Snapshot ofert (pull_offers) |
uruchamiane z UI + cron |
Dlaczego Temu ma scan_expiry?
Temu refresh-token ma TTL 90 dni — to długo, ale po 90 dniach bez użycia konto traci autoryzację. Skaner sprawdza, czy token nie zbliża się do końca i alarmuje na panel.aiofactory.pl/marketplace/history.
Edge cases / known gotchas¶
Moderacja Temu jest długa i nieoczywista
Pierwsza oferta nowego sprzedawcy potrafi być w moderacji 3–5 dni. Przyczyny odrzuceń często enigmatyczne („not compliant with platform rules"). Najczęstsze realne powody:
- cena „za niska" względem typowej ceny rynkowej kategorii (Temu chroni się przed dumpingiem),
- zdjęcia z tłem innym niż białe / studio,
- kategoria zbyt ogólna (Temu chce hyper-specyficznej).
Payload wciąż partial
Niektóre nieobligatoryjne atrybuty (material_composition, care_instructions, „certyfikaty" per kategoria) nie są jeszcze automatycznie wstrzykiwane. Oferta przechodzi walidację minimalną, ale dla części kategorii bez tych atrybutów Temu nie zaczyna „realnej" promocji oferty. Plan uzupełnienia w bug-fix mode.
Temu V1 → V2 migration
Cała integracja jest na Temu Open Platform V2. Stara V1 jest deprecated i nie próbujemy do niej wracać. Jeśli widzisz w starej dokumentacji odwołania do /goods/list (V1), ignoruj.
Auth signing — HMAC SHA256
Temu wymaga podpisywania każdego żądania HMAC SHA256 z app_secret. Panel robi to automatycznie. Jeśli widzisz signature_invalid w logach — najpewniej app_secret w Konfiguracji konta jest błędny lub wygasł.
Troubleshooting¶
| Objaw | Co zrobić |
|---|---|
401 Unauthorized |
Reauthorize konto. Token Temu jest 90-dniowy, ale ginie jeśli właściciel zmieni credentials w Temu Merchant. |
signature_invalid |
app_secret zły. Wpisz poprawny w Konfiguracji konta. |
Oferta pending >5 dni |
Moderacja Temu. Otwórz ticket w Temu Merchant Support. |
category_too_general |
Wybierz głębszą kategorię w mapowaniu (match_category zaproponuje opcje). |
price_below_threshold |
Cena poniżej minimum kategorii. Zwiększ współczynnik lub wybierz inną kategorię. |
Dane techniczne (appendix dla developera)¶
- Tabela stanu:
marketplace_listings.remote_product_id= Temu goods ID. - Główne skrypty:
windmill/f/marketplace/temu/publish.ts,match_category.ts,update_offer.ts,delete_offer.ts. - Schedulery:
refresh_token.schedule.yaml(12 h),scan_expiry.schedule.yaml(codziennie).