API dla Quick Order Form
Twórz, aktualizuj, wyświetlaj i usuwaj formularze Quick Order Form, kolekcje Quick Buy oraz tabele wariantów Quick Buy za pomocą publicznego interfejsu API.
Ta strona opisuje publiczny interfejs API dla rodziny funkcji Quick Order Form. Jeden punkt końcowy obsługuje wszystkie trzy powiązane typy rekordów, rozróżniane polem type:
quick_order_page– samodzielna strona Quick Order Form.quick_buy_collection– funkcja Quick Buy na stronach kolekcji i kartach produktów.quick_buy_variant– tabela wariantów (Variant Table) na stronie produktu.
Wszystkie 4 operacje korzystają z tego samego bazowego adresu URL, nagłówków i uwierzytelniania opisanych w Public APIs.
Tworzenie rekordu
Dział zatytułowany „Tworzenie rekordu”Punkt końcowy
Dział zatytułowany „Punkt końcowy”POST https://wholesale.samita.io/api/v1/quick-order-formsNagłówki żądania
Dział zatytułowany „Nagłówki żądania”| Nagłówek | Opis | Wymagane |
|---|---|---|
X-SAMITA-API-KEY |
Klucz API dostępny w aplikacji Wholesale | Tak |
X-SAMITA-SHOP-URL |
Domena sklepu Shopify w formacie xxx.myshopify.com | Tak |
CONTENT-TYPE |
Musi mieć wartość application/json |
Tak |
Ten interfejs API wymaga uprawnienia Create dla klucza API, dla konkretnego type, który tworzysz.
Pola wspólne (wszystkie typy)
Dział zatytułowany „Pola wspólne (wszystkie typy)”| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
title |
string, maks. 255 | Tak | Nazwa rekordu w aplikacji. |
status |
boolean | Tak | Czy rekord jest aktywny. |
type |
string | Tak | quick_order_page, quick_buy_collection lub quick_buy_variant. |
Pozostałe wymagane pola zależą od type:
| Pole | Typ | Uwagi |
|---|---|---|
apply_product |
object (wymagane) | type: products lub collections. |
apply_product.product_ids |
array | Wymagane, gdy type ma wartość products. |
apply_product.collection_ids |
array | Wymagane, gdy type ma wartość collections. |
display_on_page |
string (wymagane) | Uchwyt (handle) strony Shopify, na której wyświetlany jest ten formularz. |
pagination |
object (wymagane) | type: pagination lub load_more_button; per_page: liczba od 1 do 50. |
columns |
object (wymagane) | product_stock: boolean – pokazuje lub ukrywa kolumnę stanu zapasów. |
Przykład:
{ "title": "Wholesale Order Form", "status": true, "type": "quick_order_page", "apply_product": { "type": "collections", "collection_ids": [123456789] }, "display_on_page": "wholesale-order-form", "pagination": { "type": "pagination", "per_page": 20 }, "columns": { "product_stock": true }}| Pole | Typ | Uwagi |
|---|---|---|
apply_product |
object (wymagane) | type: all, products, collections lub product-tags, z odpowiednimi product_ids / collection_ids / product_tags. |
exclude_product |
object (wymagane) | type: none, products lub collections, z odpowiednimi ID. |
apply_customer |
object (wymagane) | type: all, logged, non-logged lub customer-tags, z tags, gdy ma to zastosowanie. |
exclude_customer |
object (wymagane) | type: none lub customer-tags, z tags, gdy ma to zastosowanie. |
display_on_pages |
array (wymagane) | Dowolne z: index, collection, search, another_page. |
columns |
object (wymagane) | Wartości boolean: stock_status, quantity, variant, volume_discount, add_to_cart. |
Przykład:
{ "title": "Quick Buy on Collections", "status": true, "type": "quick_buy_collection", "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [] }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "apply_customer": { "type": "customer-tags", "tags": ["wholesale"] }, "exclude_customer": { "type": "none", "tags": [] }, "display_on_pages": ["collection", "index"], "columns": { "stock_status": true, "quantity": true, "variant": true, "volume_discount": true, "add_to_cart": true }}| Pole | Typ | Uwagi |
|---|---|---|
apply_product |
object (wymagane) | Taka sama struktura jak w quick_buy_collection. |
exclude_product |
object (wymagane) | Taka sama struktura jak w quick_buy_collection. |
apply_customer |
object (wymagane) | Taka sama struktura jak w quick_buy_collection. |
exclude_customer |
object (wymagane) | Taka sama struktura jak w quick_buy_collection. |
template |
string (wymagane) | default lub matrix-column. |
columns |
object (wymagane) | stock: boolean – pokazuje lub ukrywa kolumnę stanu zapasów. |
Przykład:
{ "title": "Variant Table", "status": true, "type": "quick_buy_variant", "apply_product": { "type": "all", "product_ids": [], "product_tags": [], "collection_ids": [] }, "exclude_product": { "type": "none", "product_ids": [], "collection_ids": [] }, "apply_customer": { "type": "logged", "tags": [] }, "exclude_customer": { "type": "none", "tags": [] }, "template": "default", "columns": { "stock": true }}Odpowiedź
Dział zatytułowany „Odpowiedź”200 – Sukces zwraca utworzony rekord. Przykład znajdziesz poniżej w sekcji Pobieranie rekordu.
Aktualizowanie rekordu
Dział zatytułowany „Aktualizowanie rekordu”PUT https://wholesale.samita.io/api/v1/quick-order-forms/{id}Te same nagłówki co przy tworzeniu. Wysyłaj tylko pola, które chcesz zmienić – title, status, configs i product_configs są opcjonalne; nieokreślone pola zachowują dotychczasową wartość. Ten interfejs API wymaga uprawnienia Update.
Pobieranie rekordu
Dział zatytułowany „Pobieranie rekordu”GET https://wholesale.samita.io/api/v1/quick-order-forms/{id}Te same nagłówki co przy tworzeniu, bez treści żądania. Ten interfejs API wymaga uprawnienia View.
Przykład odpowiedzi 200 – Sukces (type: quick_order_page):
{ "id": 1, "title": "Wholesale Order Form", "status": true, "type": "quick_order_page", "apply_product": { "type": "collections", "product_ids": [], "collection_ids": [123456789] }, "display_on_page": "wholesale-order-form", "pagination": { "type": "pagination", "per_page": 20 }, "columns": { "product": true, "product_stock": true, "quantity": true, "action": true }, "created_at": "2026-01-15T10:00:00", "updated_at": "2026-01-15T10:00:00"}Usuwanie rekordu
Dział zatytułowany „Usuwanie rekordu”DELETE https://wholesale.samita.io/api/v1/quick-order-forms/{id}Te same nagłówki co przy tworzeniu. Przekaż parametr ids – listę ID rekordów do usunięcia, rozdzieloną przecinkami (jako parametr ciągu zapytania lub pole treści JSON), np. ids=1,2,3. Ten interfejs API wymaga uprawnienia Delete.
200 – Sukces:
{ "success": true}Odpowiedzi z błędem
Dział zatytułowany „Odpowiedzi z błędem”Wszystkie 4 punkty końcowe mają te same odpowiedzi z błędem co pozostała część publicznego interfejsu API – zobacz Public APIs, aby poznać 401 Unauthorized, 403 Forbidden i 429 Too Many Requests.