Clovieod deleguj AI

Integracje

Shopify — katalog produktów

Jak podpiąć sklep Shopify do Clovie: aplikacja prywatna, token, webhooki produktowe.

Po podłączeniu katalogu asystent zna Twoje produkty, ceny i dostępność — poleca je w rozmowie jako karty z przyciskiem kupna i mówi wprost, gdy czegoś nie ma na stanie.

Shopify nie ma wtyczki do pobrania. Sync zdarzeniowy działa przez natywne webhooki Shopify, które Clovie rejestruje samo przy łączeniu sklepu; widget czatu wkleja się jako snippet w szablonie. Publiczna aplikacja w Shopify App Store (OAuth + App Embed) to osobna, późniejsza faza.

Konfiguracja w adminie Shopify (custom app)

  1. Settings → Apps and sales channels → Develop apps (przy pierwszym razie: Allow custom app development).
  2. Create an app (np. „Clovie") → Configure Admin API scopes → zaznacz read_products i read_orders → Save.
  3. Install app → skopiuj Admin API access token (shpat_…, pokazywany raz).
  4. Z zakładki API credentials skopiuj też API secret key — Clovie weryfikuje nim podpisy HMAC webhooków.

Konfiguracja w panelu Clovie

  1. Konfigurator asystenta → krok Integracje → karta Sklep internetowy → platforma Shopify.
  2. Wpisz URL sklepu (https://twoj-sklep.myshopify.com), Admin API access token i API secret key.
  3. Testuj połączeniePołącz sklep. Clovie:
    • uruchamia pierwszy pełny sync katalogu (GraphQL Admin API),
    • rejestruje webhooki products/update, products/delete, orders/create na https://clovie.pl/api/webhooks/catalog/shopify/[orgId] (id subskrypcji trzymane w konfiguracji — odłączenie sklepu je wyrejestrowuje).

Widget czatu na sklepie

Online Store → Themes → Edit codetheme.liquid → przed </body> wklej snippet embed z kroku Publikacja (klucz pk_live_…); dodaj domenę sklepu do dozwolonych originów.

Ograniczenia v1

  • Zmiany samych stanów magazynowych (inventory_levels) nie niosą id produktu w payloadzie — pokrywa je sprzedaż (orders/create) i cykliczny fallback-sync (6 h).
  • Custom app jest per sklep — każdy asystent/sklep wymaga własnej appki i tokenów.

Typowe błędy

Objaw Rozwiązanie
401/403 przy teście Sprawdź token shpat_… i scope read_products; token działa tylko po Install app
„Nie udało się zarejestrować webhooków" Sprawdź scope read_orders; katalog i tak działa (fallback-sync), połącz ponownie po poprawce
Webhook 403 w logach API secret key w panelu ≠ secret appki — wklej ponownie z API credentials
Brak widgetu na sklepie Snippet nie wklejony w theme.liquid albo domena poza dozwolonymi originami