Deweloperzy

Asystenci AI (MCP)

Połącz Claude, ChatGPT lub Cursor ze swoim kontem NinjaBuy i pytaj zwykłymi słowami: gdzie jest zamówienie, co jest na twojej półce, czy oferta jest warta sprzedaży — i wystaw ją w sklepie.
Na tej stronie
  1. 1Połącz
  2. 2Logowanie i dostęp
  3. 3Nic tutaj nie wydaje pieniędzy
  4. 4Narzędzia
  5. 5O co pytać

Połącz

Jeden adres serwera dla każdego asystenta. Logujesz się kontem NinjaBuy; nie ma klucza do wklejania.

https://www.ninjabuy.com/mcp

Claude

  1. Otwórz Settings › Connectors i wybierz Add custom connector.
  2. Wklej adres powyżej i dodaj go.
  3. Zaloguj się numerem telefonu NinjaBuy, potem wybierz Allow access.

ChatGPT

  1. Włącz tryb dewelopera w ustawieniach, potem dodaj custom MCP server.
  2. Wklej adres powyżej i wybierz OAuth jako metodę logowania.
  3. Zaloguj się numerem telefonu NinjaBuy, potem wybierz Allow access.

Cursor

Dodaj serwer w Cursor Settings › MCP lub w ~/.cursor/mcp.json. Za pierwszym razem Cursor otworzy logowanie do NinjaBuy w przeglądarce.

~/.cursor/mcp.json
{
  "mcpServers": {
    "ninjabuy": {
      "url": "https://www.ninjabuy.com/mcp"
    }
  }
}

Claude Code i inni asystenci wiersza poleceń

Terminal
claude mcp add --transport http ninjabuy https://www.ninjabuy.com/mcp

Nazwy menu zmieniają się wraz z aktualizacjami asystentów; szukaj „custom connector” lub „custom MCP server”.

Logowanie i dostęp

Asystent loguje się przez OAuth 2.1: rejestruje się, przekierowuje cię na ninjabuy.com, a ty zatwierdzasz go na naszym ekranie, który podaje nazwę aplikacji i adres, na który cię odeśle. Zezwalaj tylko aplikacji, o której połączenie właśnie prosiłeś. Każdą aplikację zatwierdzasz raz.

  • Działa jako twoje konto: narzędzia nie przyjmują ID konta i widzą tylko twoje zamówienia, półkę i produkty.
  • Dostęp trwa godzinę i odnawia się przez siedem dni; potem asystent poprosi o ponowne zalogowanie.
  • Aby rozłączyć, usuń konektor w swoim asystencie.
  • Narzędzia odczytujące marketplace (product, analyze_product, import_product, push_to_shopify) dzielą okno API 30 na minutę: Limity zapytań.

Nic tutaj nie wydaje pieniędzy

Żadne narzędzie nie płaci, nie zleca wysyłki ani nie wydaje salda. Gdy coś wymaga zapłaty, odpowiedź wskazuje stronę, na której to zrobisz: kasę z koszyka, wysyłkę ze strony magazynu. push_to_shopify wystawia produkt jako szkic, więc nic nie wchodzi do sprzedaży, dopóki go nie opublikujesz.

Narzędzia

Każda odpowiedź zawiera requestId (podaj go, gdy do nas piszesz) oraz warnings — rzeczy warte uwagi, które nie zatrzymały wywołania. Długa odpowiedź jest ucinana na około 6000 tokenach z truncated: true; listy przyjmują wtedy mniejszy limit.

NarzędzieCo robi
list_ordersPokaż moje zamówienia NinjaBuy
orderJedno zamówienie NinjaBuy
warehouseMój magazyn NinjaBuy
productOdczytaj warianty produktu
add_to_cartDodaj do mojego koszyka NinjaBuy
search_productsSzukaj produktów
analyze_productAnaliza produktu
import_productImport produktu
push_to_shopifyWyślij do Shopify
list_synced_productsPokaż moje synchronizowane produkty
set_sync_ruleUstaw regułę synchronizacji

list_orderstylko odczyt

Zamówienia konta, od najnowszych: status, status płatności, co jeszcze jest do zapłaty, produkty i strona każdego zamówienia. Podążaj za cursor, dopóki has_more ma wartość true.

cursorstring?
Z poprzedniej odpowiedzi; pomiń dla pierwszej strony.
limitnumber?
Od 1 do 25. Domyślnie 25.
Odpowiada list_orders
{
  "orders": [
    {
      "id": "j57a9x2b",
      "number": 1012,
      "kind": "procurement",
      "total": "¥57.00",
      "orderStatus": { "status": "ordered" },
      "paymentStatus": { "status": "paid" },
      "amountDue": null,
      "itemCount": 1,
      "items": [
        {
          "id": "P1012-1",
          "title": "Heavyweight washed hoodie",
          "quantity": 1,
          "options": ["Black", "M"],
          "status": "ordered"
        }
      ],
      "url": "https://www.ninjabuy.com/me/orders/j57a9x2b"
    }
  ],
  "cursor": "eyJvIjoyNX0",
  "has_more": true,
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

ordertylko odczyt

Jedno zamówienie po id: jego pozycje i ceny, status każdego produktu i ile dotarło oraz przesyłka z numerem śledzenia. order ma wartość null dla id, które nie należy do tego konta.

idstringwymagane
ID z list_orders.
Odpowiada order
{
  "order": {
    "id": "j57c4k1m",
    "number": 1019,
    "kind": "shipout",
    "orderStatus": { "status": "ready" },
    "paymentStatus": { "status": "paid" },
    "shipment": {
      "state": "shipped",
      "destinationCountry": "US",
      "weightGrams": 176,
      "trackingNumbers": ["YT2630812345678"],
      "shippedAt": 1793685600000
    },
    "url": "https://www.ninjabuy.com/me/orders/j57c4k1m"
  },
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

warehousetylko odczyt

Wszystko, co dotarło do naszego magazynu: zdjęcia, ile dotarło, ile można wysłać lub jest w przesyłce, waga, deklarowana wartość, czy jest opłacone i kiedy kończy się darmowe przechowywanie.

Brak danych wejściowych.

Odpowiada warehouse
{
  "items": [
    {
      "id": "P1012-1",
      "order": 1012,
      "title": "Heavyweight washed hoodie",
      "photos": [
        {
          "type": "image",
          "url": "https://media.ninjabuy.com/qc/P1012-1/1.webp"
        }
      ],
      "received": 1,
      "availableToShip": 1,
      "inShipment": 0,
      "unitWeightGrams": 176,
      "declaredUnitValue": "¥38.00",
      "paid": true,
      "freeStorageUntil": "2026-12-02T03:20:11.000Z"
    }
  ],
  "warehouseUrl": "https://www.ninjabuy.com/me/warehouse",
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

producttylko odczyt

Odczytuje ofertę z dowolnego linku do produktu (Taobao, Tmall, Weidian, 1688, link lub krótki link innego agenta zakupowego albo strona produktu NinjaBuy): tytuł, zdjęcia, sprzedawcę i każdy wariant z jego skuId, etykietą, ceną w CN¥ i stanem.

linkstringwymagane
Link do produktu, do 2048 znaków.
Odpowiada product
{
  "product": {
    "handle": "weidian-7750970856",
    "title": "重磅水洗连帽卫衣",
    "seller": "Ruoyi Studio",
    "variants": [
      {
        "skuId": "5187209554",
        "label": "Black / M",
        "priceMinor": 3800,
        "price": "¥38.00",
        "inStock": true
      },
      {
        "skuId": "5187209555",
        "label": "Black / L",
        "priceMinor": 3800,
        "price": "¥38.00",
        "inStock": false
      }
    ],
    "url": "https://www.ninjabuy.com/products/weidian-7750970856"
  },
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

add_to_cartzapis

Wkłada warianty jednej oferty do koszyka, żeby kupić je z wyprzedzeniem i trzymać na półce. Nic nie jest kupowane: odpowiedzią jest strona koszyka, gdzie finalizujesz zakup.

handlestringwymagane
Z product.
lines{ skuId, quantity }[]wymagane
Od 1 do 100 pozycji; ilość od 1 do 9999. Wariant, który już jest w koszyku, zostaje do niego dodany.
Odpowiada add_to_cart
{
  "added": 1,
  "cartUrl": "https://www.ninjabuy.com/cart",
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

search_productstylko odczyt

Wyszukiwanie po słowach kluczowych na Taobao lub 1688, to samo co na ninjabuy.com. Wklejony link zwraca ten produkt.

querystringwymagane
Od 2 do 120 znaków lub link.
providerstring?
taobao lub 1688. Domyślnie taobao.
pagenumber?
Od 0 do 20.
Odpowiada search_products
{
  "kind": "products",
  "products": [
    {
      "handle": "taobao-781204556120",
      "title": "Heavyweight cotton hoodie, washed",
      "price": { "amount": "45.00", "currency": "CNY" },
      "marketplace": "taobao",
      "url": "https://www.ninjabuy.com/products/taobao-781204556120"
    }
  ],
  "page": 0,
  "totalCount": 1840,
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

analyze_producttylko odczyt

Ile kosztuje jedna sprzedaż każdego wariantu z dostawą pod drzwi kupującego i cena, która zachowuje twoją marżę na twoim marketplace’ie. Nic nie jest zapisywane. Te same liczby co w analizie importu.

linkstringwymagane
Link do produktu.
weight_gnumberwymagane
Waga jednej sztuki z opakowaniem, w gramach.
ship_tostring?
Dwuliterowy kod kraju. Domyślnie US.
lanestring?
saver lub fast.
marketplacestring?
ebay, shopify, amazon lub tiktok.
margin_percentnumber?
Marża do wyceny. Domyślnie 30.
Odpowiada analyze_product
{
  "title": "重磅水洗连帽卫衣",
  "shipTo": "US",
  "marketplace": "ebay",
  "brandHint": null,
  "variants": [
    {
      "sku": "5187209554",
      "label": "Black / M",
      "inStock": true,
      "procurement": "57.00",
      "parcel": "134.52",
      "landedUsd": "27.71",
      "suggestedPrice": "49.99",
      "marginPercent": "30.16"
    }
  ],
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

import_productzapis

Importuje ofertę z analizą, jak w Imports API. Za darmo. Zwraca import do wysłania lub ponownej wyceny.

linkstringwymagane
Link do produktu lub arkusz znalezisk.
weight_gnumberwymagane
Waga jednej sztuki z opakowaniem, w gramach.
ship_tostring?
Dwuliterowy kod kraju. Domyślnie US.
lanestring?
saver lub fast.
marketplacestring?
ebay, shopify, amazon lub tiktok.
margin_percentnumber?
Marża do wyceny. Domyślnie 30.
Odpowiada import_product
{
  "import": {
    "id": "imp_2c9d",
    "status": "ready",
    "title": "重磅水洗连帽卫衣",
    "variants": 6,
    "inStock": 5
  },
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

push_to_shopifyzapis

Zapisuje import jako produkt i wystawia go w sklepie Shopify jako szkic, ze stanem w lokalizacji Fulfilled by NinjaBuy. Ponowne wysłanie go aktualizuje. Te same zasady co Wyślij do Shopify.

import_idstringwymagane
Z import_product.
variants{ sku, price }[]?
Które zachować i po jakiej cenie w US$. Jeśli pominięte — dostępne po sugerowanej cenie.
titlestring?
Twój tytuł.
shopstring?
Wymagane, gdy połączonych jest kilka sklepów.
Odpowiada push_to_shopify
{
  "product": "prd_8f2k",
  "shopify": {
    "status": "draft",
    "variants": 5,
    "adminUrl": "https://admin.shopify.com/store/acme-goods/products/8812042"
  },
  "skipped": [{ "sku": "5187209555", "reason": "sold_out" }],
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

list_synced_productstylko odczyt

Twoje produkty z ostatnim sprawdzeniem, zmianami kosztu i stanem, żebyś widział, co się zmieniło.

statusstring?
active lub paused.
changed_sincestring?
Data: tylko produkty, których koszt lub stan zmienił się od tego czasu.
cursorstring?
Z poprzedniej odpowiedzi; pomiń dla pierwszej strony.
limitnumber?
Od 1 do 25. Domyślnie 25.
Odpowiada list_synced_products
{
  "products": [
    {
      "id": "prd_1x0a",
      "title": "Canvas Tote",
      "status": "active",
      "lastCheckedAt": "2026-11-04T02:10:00Z",
      "costChange": {
        "from": "¥42.00",
        "to": "¥48.00",
        "action": "repriced",
        "price": { "from": "$18.99", "to": "$20.99" }
      }
    }
  ],
  "cursor": null,
  "has_more": false,
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

set_sync_rulezapis

Co zrobić, gdy sprzedawca podnosi cenę: przeliczyć cenę, by zachować marżę, wstrzymać albo tylko cię poinformować. Dla każdego produktu lub jednego. Te same pola co w Regułach synchronizacji.

applies_tostringwymagane
all lub ID produktu.
on_cost_increasestringwymagane
reprice, pause lub notify.
keep_margin_percentnumber?
Przy reprice.
max_increase_percentnumber?
Przy reprice: powyżej — wstrzymaj.
Odpowiada set_sync_rule
{
  "rule": {
    "id": "rule_default",
    "appliesTo": "all",
    "onCostIncrease": {
      "action": "reprice",
      "keepMarginPercent": 40,
      "maxIncreasePercent": 15
    }
  },
  "requestId": "5f7c2a1e-3b8d-4c61-9a0f-2e4d6b8c1a37",
  "warnings": []
}

O co pytać

Które z moich zamówień wciąż czekają na sprzedawcę?

list_orders

Dwa: #1012 (bluza washed, kupiona 1 listopada) i #1015 (dwie płócienne torby). Oba są opłacone i zamówione u sprzedawcy; żadne nie dotarło jeszcze do magazynu.

Czy warto sprzedawać tę bluzę na eBay? weidian.com/item.html?itemID=7750970856, ok. 180 g z opakowaniem.

analyze_product

Jedna sprzedaż do USA kosztuje 191,52 CNY z dostawą, ok. $27.71. Przy $49.99 eBay zatrzymuje ok. $7.20, a tobie zostaje $15.08, czyli 30% marży. Black / L jest wyprzedany. Brak słów z nazwami marek w tytule.

Dobra. Wystaw Black / M w moim Shopify za $49.99, tytuł „Heavyweight Washed Hoodie”.

import_productpush_to_shopify

Gotowe: to szkic na acme-goods.myshopify.com z 1 wariantem, ze stanem w Fulfilled by NinjaBuy. Sprawdź zdjęcia, potem opublikuj go w Shopify.

Trzymaj marżę 40% na wszystkim, ale nigdy nie podnoś ceny o więcej niż 15% naraz.

set_sync_rule

Ustawione dla wszystkich produktów. Wzrost powyżej 15% zamiast tego wstrzymuje produkt, a ja zobaczę to w list_synced_products.