Dokumentacja komend
Wszystkie komendy Zanfia CLI pogrupowane według zasobów: produkty, oferty, bumpy, kursy, media, społeczności, strony, klienci, zamówienia, statystyki i rabaty.
Wszystkie komendy obsługują --json dla wyjścia czytelnego maszynowo (flagi globalne podaje się przed podkomendą). Kwoty są w jednostkach podrzędnych (minor units) (1999 = 19,99). Każda komenda odpowiada ścieżce Workspace API, więc wszystko, co tu znajdziesz, działa też jako zwykłe zapytanie HTTP.
Uwierzytelnianie
| Komenda | Zastosowanie |
|---|---|
zanfia login | Logowanie przez przeglądarkę; zapisuje token ważny 90 dni |
zanfia logout | Wyczyść zapisane dane logowania |
zanfia register | Utwórz nowe konto twórcy z terminala (kod wysyłany e-mailem) |
zanfia auth status | Pokaż tożsamość, źródło poświadczeń, termin ważności i docelowe środowisko |
zanfia auth set-key <key> | Zapisz klucz API jako poświadczenie |
zanfia auth whoami | Workspace i tożsamość stojące za bieżącym poświadczeniem |
Produkty
| Komenda | Zastosowanie |
|---|---|
products list / products get <id> | Przeglądaj produkty |
products create / products update <id> | Utwórz / edytuj |
products publish <id> / products draft <id> / products archive <id> | Cykl życia |
products prices list <id> / products prices create <id> | Zarządzanie cenami (z synchronizacją bramki płatności po stronie serwera) |
products appointment get|set <id> | Ustawienia rezerwacji |
products after-purchase get|set <id> | Ustawienia po zakupie |
products images set <id> | Zastąp zdjęcia produktu |
Oferty (checkouty) i order bumpy
Oferta to checkout produktu; <cid> pochodzi z offers list.
| Komenda | Zastosowanie |
|---|---|
offers list [--product <pid>] / offers get <cid> | Przeglądaj oferty wraz z cenami i dołączonymi bumpami |
offers create --product <pid> [--free] [--name <n>] | Nowa oferta (oferty darmowe nie mają cen) |
offers update <cid> [--name] [--slug] [--title] [--description] [--success-url] | Edytuj pola wyświetlania |
offers publish <cid> / offers unpublish <cid> | Aktywuj / wstrzymaj (płatne oferty wymagają podłączonej bramki płatności) |
offers duplicate <cid> [--with-prices] / offers set-default <cid> | Skopiuj; ustaw jako domyślny checkout |
offers price add <cid> --type one_time|recurring|installments --amount <minor> --currency pln|usd|eur|gbp [--interval] [--trial-days] [--label] [--hidden] [--sale-ends-at] [--quantity-limit] [--compare-at] … | Dodaj wariant ceny |
offers price update <cid> <priceId> --operation activate|deactivate|hide|unhide|change-amount [--amount] | Zmień cenę |
offers price delete <cid> <priceId> [--remove] | Archiwizuj (domyślnie) lub usuń całkowicie |
offers price reorder <cid> --order id1,id2,… | Kolejność wyświetlania — podaj wszystkie id cen |
bumps list / bumps create --product <pid> --price <priceId> --name <n> | Order bumpy (cena musi należeć do domyślnej oferty produktu) |
bumps update <bumpId> / bumps delete <bumpId> | Edytuj / usuń |
bumps attach <cid> <bumpId> [--prices id,id] / bumps detach <cid> <bumpId> | Pokaż bump w ofercie (bez --prices = wszystkie ceny) |
Kursy
Wszystko adresujesz id produktu (z products list). Statusy: draft, public, hidden, locked; nowe moduły i lekcje zaczynają jako draft. Treść lekcji to Markdown, a aktualizacja zastępuje całe ciało treści — dla dłuższych tekstów używaj --content-file.
| Komenda | Zastosowanie |
|---|---|
courses get <pid> | Pełna struktura modułów/lekcji ze statusami |
courses lesson get <pid> <lid> [--content] | Szczegóły lekcji; --content wypisuje sam Markdown |
courses lesson add <pid> --module <mid> --title <t> [--type article|video|externalVideo|task|quiz] [--video-media <mediaId>] | Nowa lekcja w statusie draft |
courses lesson update <pid> <lid> [--title] [--description] [--status] [--content | --content-file] | Edytuj lekcję |
courses lesson set-video <pid> <lid> --video-media <mediaId> | Podepnij przesłane wideo |
courses lesson delete <pid> <lid> | Trwałe — aby zamiast tego ukryć lekcję, ustaw --status hidden |
courses module add <pid> --name <n> / courses module update <pid> <mid> | Moduły |
courses module delete <pid> <mid> | Trwałe, kaskadowo usuwa wszystkie lekcje modułu |
courses quiz list <pid> <lid> | Pytania i ustawienia lekcji typu quiz |
courses quiz add <pid> <lid> [--type single|multi|truefalse] [--question] [--options] [--correct] [--points] | [--json <file>] | Dodaj pytanie |
courses quiz update <pid> <lid> <qid> … / courses quiz delete <pid> <lid> <qid> | Zastąp / usuń pytanie |
courses quiz reorder <pid> <lid> --order id,id,… | Podaj każde id pytania |
courses quiz settings <pid> <lid> [--passing-score] [--max-attempts] [--time-limit] [--shuffle-questions on|off] [--require-pass on|off] … | Ocenianie, liczba podejść, losowa kolejność, blokady postępu |
courses publish <pid> --lessons id,id [--status public] | Zbiorcza zmiana statusu lekcji |
courses publish <pid> --module <mid> | Opublikuj moduł i wszystkie jego lekcje |
courses reorder modules <pid> --order id1,id2,… | Ścisła permutacja — każde id modułu |
courses reorder lessons <pid> --module <mid> --order id1,id2,… | Ścisła permutacja — każde id lekcji w module |
Biblioteka mediów
| Komenda | Zastosowanie |
|---|---|
media upload --file <path> [--name] [--folder] | Prześlij plik; wypisuje id mediów i publiczny URL |
media upload-video --file <path> [--title] [--wait] | Prześlij wideo do lekcji; transkodowanie rusza po przesłaniu |
media list [--folder <name>] / media get <id> | Przeglądaj; get pokazuje uploadStatus |
media delete <id> [--force] | Usuń (--force, jeśli plik jest jeszcze gdzieś używany) |
media folder list|create|delete <name> | Foldery — usunięcie folderu tylko odpina pliki, nigdy ich nie kasuje |
Wideo wymaga transkodowania
media upload-video bez --wait kończy się, gdy wideo wciąż się przetwarza. Odpytuj
media get <id>, aż uploadStatus będzie mieć wartość ready, a następnie podepnij plik
komendą courses lesson set-video.
Społeczności
Adresujesz id społeczności (z communities list). Działasz we własnym imieniu — dostęp do kanałów i uprawnienia moderacyjne są rozstrzygane per zapytanie. Posty i komentarze żyją w kanałach typu feed; treść to Markdown. Pisanie wymaga profilu członka w społeczności — także dla członków zespołu workspace'u.
| Komenda | Zastosowanie |
|---|---|
communities list | Twoje społeczności (z id powiązanego produktu) |
communities channels <cid> | Kanały, które widzisz, wraz z Twoim poziomem dostępu |
communities posts <cid> <chid> [--limit] [--cursor] | Posty, od najnowszych |
communities post get|create|update|delete … | CRUD postów (--content / --content-file) |
communities post pin|unpin <cid> <postId> | Przypinanie postów |
communities comments <cid> <postId> | Komentarze, od najstarszych; odpowiedzi wskazują rodzica |
communities comment create <cid> <postId> --content <md> [--reply-to <commentId>] | Komentarz lub odpowiedź w wątku |
communities comment update|delete <cid> <commentId> | Edytuj / usuń |
communities chat messages|send|edit|delete … | Kanały czatu i wątki |
communities support queue|mine|show|create|reply|status … | Zgłoszenia do supportu |
communities channel create <cid> --name <n> [--type feed|chat|link] [--group] [--readonly] | Nowy kanał (--readonly = tryb ogłoszeń) |
communities channel update|delete <cid> <chid> | Edytuj / usuń kanał |
communities group create|update|delete <cid> … | Sekcje paska bocznego |
communities move <cid> (--channel <chid> | --group <gid>) (--into-group <gid> | --to-root | --before <id> | --after <id>) | Zmień kolejność / położenie w pasku bocznym |
Strony
Własne hostowane strony HTML, serwowane w domenie Twojego sklepu. Statusy: draft, published.
| Komenda | Zastosowanie |
|---|---|
pages list / pages get <id> | Przeglądaj (szczegóły zawierają ciało HTML) |
pages create --slug <s> --title <t> (--file <path> | --html <h>) [--publish] | Nowa strona, draft, chyba że podasz --publish |
pages update <id> [--slug] [--title] [--file | --html] | Edytuj |
pages publish <id> / pages unpublish <id> | Przełącz opublikowana ↔ draft |
pages delete <id> | Usuń stronę i jej HTML |
pages set-main <id> / pages unset-main | Użyj opublikowanej strony jako strony głównej sklepu / wróć do siatki produktów |
Klienci
| Komenda | Zastosowanie |
|---|---|
clients list / clients get <id> | Przeglądaj klientów |
clients add | Utwórz wyłącznie kontakt — dostęp do produktu nadaje się osobno |
clients update <id> / clients change-email <id> --email <e> | Edytuj |
clients grant <productId> --email <e> [--price <priceId>] [--until <date>] [--welcome-email] | Nadaj dostęp do produktu (darmowy zapis pod istniejącą ceną, opcjonalnie ograniczony w czasie) |
clients revoke <productId> --email <e> | Odbierz dostęp — nigdy nie zwraca pieniędzy i odmawia przy aktywnych płatnych subskrypcjach |
clients change-period <productId> … | Zmień okres dostępu |
Zamówienia, statystyki, rabaty
| Komenda | Zastosowanie |
|---|---|
orders list [--product] [--status] [--from/--to] [--search] [--limit/--cursor] / orders get <id> | Historia zamówień |
stats overview|sales|recurring|mrr-history|funnel|traffic|sessions | Analityka workspace'u — zakres przez --period 7d lub --from/--to, dodatkowo --currency |
stats product <id> | Statystyki produktu |
discounts list|create|update|archive|delete | Zarządzanie rabatami |
Czy ten artykuł był pomocny?

