SkuVault MCP by usefulapi
MCP server for SkuVault — products, inventory, sales, purchase orders and stock adjustments.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWskuvault_get_inventory_by_location에서
- LOWskuvault_get_available_quantities에서
- LOWskuvault_get_warehouse_quantities에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"skuvault": {
"url": "https://skuvault.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://skuvault.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (22)
🟢skuvault_list_warehouses(page)
List the regular warehouses (Id and Code). The numeric Id is what the stock tools and skuvault_list_transactions need. SkuVault throttles this call to 1 per minute. POST /inventory/getWarehouses.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_locations(skip, limit)
List the locations in enabled warehouses with warehouse, location code, parent location/container and total quantity. Heavy throttling (5/min). POST /inventory/getLocations.
입력 스키마
{
"type": "object",
"properties": {
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_products(skus, codes, modified_after, modified_before, page, ...)
List products (not kits) with description, cost, prices, brand, supplier, classification, reorder point and quantities (on hand, available, pending, picked, incoming...). Filter by SKU or code, or by modification time. Alternate SKUs come back as separate rows (IsAlternateSKU) unless you filter. Heavy throttling (5/min). POST /products/getProducts.
입력 스키마
{
"type": "object",
"properties": {
"skus": {
"description": "Only these SKUs.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"codes": {
"description": "Only these product codes.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"modified_after": {
"description": "Only products modified at or after this time.",
"type": "string"
},
"modified_before": {
"description": "Only products modified before this time.",
"type": "string"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_get_product(sku, code)
One product (not a kit) by SKU or by code: details plus all quantities (on hand, available, pending, picked, incoming, in stock). Give exactly one of sku or code. Light throttling (20/min). POST /products/getProduct.
입력 스키마
{
"type": "object",
"properties": {
"sku": {
"description": "Product SKU.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"code": {
"description": "Product code.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_kits(skus, modified_after, modified_before, include_available_quantity, include_cost, ...)
List kits with their component lines, optional available quantity and cost. Needs a modified-time window (defaults to all time). The page size is not documented: keep following `next` until a page comes back empty. Heavy throttling (5/min). POST /products/getKits.
입력 스키마
{
"type": "object",
"properties": {
"skus": {
"description": "Only these kit SKUs.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"modified_after": {
"description": "Only kits modified at or after this time (default: all time).",
"type": "string"
},
"modified_before": {
"description": "Only kits modified before this time (default: now).",
"type": "string"
},
"include_available_quantity": {
"description": "Also compute the available quantity of each kit (default false: it is 0).",
"type": "boolean"
},
"include_cost": {
"description": "Also return the kit cost (default false).",
"type": "boolean"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_brands(page, skip, limit)
List the brands created in SkuVault (Name, IsEnabled), 1,000 per page. Heavy throttling (5/min). POST /products/getBrands.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_suppliers(page, skip, limit)
List the suppliers in the account (Name, IsEnabled), 10,000 per page. Heavy throttling (5/min). POST /products/getSuppliers.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_classifications(page, skip, limit)
List product classifications and their named attributes, 1,000 per page. Heavy throttling (5/min). POST /products/getClassifications.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_get_inventory_by_location(skus, codes, page, page_size, skip, ...)
Where each product is stored: per SKU (or code) the locations with warehouse code, quantity and whether the location is a reserve location. Filter by SKUs or by codes (not both). Heavy throttling (5/min). POST /inventory/getInventoryByLocation.
입력 스키마
{
"type": "object",
"properties": {
"skus": {
"description": "Only these SKUs.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"codes": {
"description": "Only these product codes (the reply is then keyed by code).",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_get_available_quantities(modified_after, modified_before, expand_alternate_skus, page, page_size, ...)
Sellable (available) quantity per SKU across all warehouses, with last-modified time. Use modified_after to see only what changed. Heavy throttling (5/min). POST /inventory/getAvailableQuantities.
입력 스키마
{
"type": "object",
"properties": {
"modified_after": {
"description": "Only quantities modified at or after this time.",
"type": "string"
},
"modified_before": {
"description": "Only quantities modified before this time.",
"type": "string"
},
"expand_alternate_skus": {
"description": "List alternate SKUs inside their primary row instead of as separate rows.",
"type": "boolean"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-5000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 5000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_get_item_quantities(codes, modified_after, modified_before, page, page_size, ...)
Product quantities per SKU: total on hand, available, held, pending and picked. Filter by product codes or modification time. Heavy throttling (5/min). POST /inventory/getItemQuantities.
입력 스키마
{
"type": "object",
"properties": {
"codes": {
"description": "Only these product codes.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"modified_after": {
"description": "Only inventory modified at or after this time.",
"type": "string"
},
"modified_before": {
"description": "Only inventory modified before this time.",
"type": "string"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_get_warehouse_quantities(warehouse_id, modified_after, modified_before, page, page_size, ...)
SKUs and quantities held in one warehouse. Get the warehouse id from skuvault_list_warehouses. Heavy throttling (5/min). POST /inventory/getWarehouseItemQuantities.
입력 스키마
{
"type": "object",
"properties": {
"warehouse_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SkuVault warehouse id (an integer; see skuvault_list_warehouses)."
},
"modified_after": {
"description": "Only quantities modified at or after this time.",
"type": "string"
},
"modified_before": {
"description": "Only quantities modified before this time.",
"type": "string"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"warehouse_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_transactions(from, to, user_email, warehouse_id, type, ...)
Inventory transaction history (adds, removes, picks, creates) with user, SKU, quantity before/after, location, reason, note and the sale it belongs to. The date range may span at most 7 days. Filter by user email, warehouse id, type, reasons or sale id. Heavy throttling (5/min). POST /inventory/getTransactions.
입력 스키마
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start of the range."
},
"to": {
"description": "End of the range (default now). At most 7 days after `from`.",
"type": "string"
},
"user_email": {
"description": "Only this user's transactions (case-sensitive email).",
"type": "string",
"minLength": 3,
"maxLength": 254
},
"warehouse_id": {
"description": "Only this warehouse (the Id from skuvault_list_warehouses).",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"type": {
"description": "Transaction type (default All).",
"type": "string",
"enum": [
"All",
"Add",
"Remove",
"Pick",
"Create"
]
},
"reasons": {
"description": "Only these transaction reasons.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"exclude_reasons": {
"description": "Leave out these transaction reasons.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"sale_id": {
"description": "Only transactions against this sale id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"from"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_sales(status, order_ids, skip, limit)
List sales (orders) that are ReadyToShip (default) or Pending, or look up specific sales by order id (then status is ignored): items, kits, shipping and contact info, totals. Not paged by the vendor. Heavy throttling (5/min). POST /sales/getSales.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"description": "Sale status (default ReadyToShip).",
"type": "string",
"enum": [
"ReadyToShip",
"Pending"
]
},
"order_ids": {
"description": "Specific order ids; overrides status.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_sales_by_date(from, to, date_field, page, page_size, ...)
Sales within a date range, by sale date or by last-modified date: items, kits, fulfillment/processed quantities, shipping, contact info and totals. The date range may span at most 7 days. The most common way to pull orders. Heavy throttling (5/min). POST /sales/getSalesByDate.
입력 스키마
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start of the interval (inclusive)."
},
"to": {
"type": "string",
"description": "End of the interval (inclusive); at most 7 days after `from`."
},
"date_field": {
"description": "Filter on the sale date (Sale) or on the last-modified date (Modified).",
"type": "string",
"enum": [
"Sale",
"Modified"
]
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"from",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_sold_items(from, to, include_transfer_sales, break_down_kits, page, ...)
Items sold in a date range: date, SKU, quantity and total price per line, optionally breaking kits into components and including transfer sales. The date range may span at most 14 days. Heavy throttling (5/min). POST /sales/getSoldItems.
입력 스키마
{
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Start date/time (UTC)."
},
"to": {
"type": "string",
"description": "End date/time (UTC); at most 14 days after `from`."
},
"include_transfer_sales": {
"description": "Include transfer sales (SkuVault default true).",
"type": "boolean"
},
"break_down_kits": {
"description": "Show kit components instead of the kit (SkuVault default true).",
"type": "boolean"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"from",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_purchase_orders(status, po_numbers, modified_after, modified_before, include_products, ...)
List purchase orders with supplier, dates, status, payment status, costs and line items (SKU, quantity, received quantity). By default completed POs are left out: set status Completed to see them. Specific PO numbers override the date and status filters. 10,000 per page. Heavy throttling (5/min). POST /purchaseorders/getPOs.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"description": "PO status (default: everything except Completed).",
"type": "string",
"enum": [
"NoneReceived",
"PartiallyReceived",
"Completed",
"Cancelled"
]
},
"po_numbers": {
"description": "Only these PO numbers; ignores dates and status.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"modified_after": {
"description": "Only POs modified at or after this time.",
"type": "string"
},
"modified_before": {
"description": "Only POs modified before this time.",
"type": "string"
},
"include_products": {
"description": "Also return incoming product details in a separate array.",
"type": "boolean"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_po_receives(warehouse_codes, po_numbers, received_after, received_before, page, ...)
Purchase-order receiving history: what was received (SKU, quantity, location, user, dates) followed by quantity corrections. Filter by warehouse codes, PO numbers or received time. Heavy throttling (5/min). POST /purchaseorders/getReceivesHistory.
입력 스키마
{
"type": "object",
"properties": {
"warehouse_codes": {
"description": "Only receives into these warehouse codes.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"po_numbers": {
"description": "Only receives for these PO numbers.",
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"received_after": {
"description": "Only receives after this time.",
"type": "string"
},
"received_before": {
"description": "Only receives before this time.",
"type": "string"
},
"page": {
"description": "Vendor page number, starting at 0 (default 0). Pass `next.page` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Vendor page size, 1000-10000 (default 1000).",
"type": "integer",
"minimum": 1000,
"maximum": 10000
},
"skip": {
"description": "Items to skip inside the vendor page (default 0). Pass `next.skip` from the previous reply.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"limit": {
"description": "How many items to return from the vendor page, 1-500 (default 50). SkuVault pages hold 1,000-10,000 rows, so a window is shown.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢skuvault_list_integrations
List the enabled sales-channel accounts (Amazon, ChannelAdvisor, Shopify...): Id, LongId, Name and Type. Severe throttling (1/min). POST /integration/getIntegrations.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡skuvault_add_stock(sku, code, warehouse_id, location_code, quantity, ...)
WRITE: add quantity of a product to a warehouse location (a transaction in SkuVault's history; every call adds again, so do not retry blindly). The transaction reason must already exist in SkuVault. Serialized or lotted products need serial numbers / a scanned lot code. Moderate throttling (10/min). POST /inventory/addItem.
입력 스키마
{
"type": "object",
"properties": {
"sku": {
"description": "Product SKU (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"code": {
"description": "Product code (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"warehouse_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SkuVault warehouse id (an integer; see skuvault_list_warehouses)."
},
"location_code": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Location the quantity is added to."
},
"quantity": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "Quantity to add (a positive whole number)."
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Transaction reason; must already exist in SkuVault."
},
"note": {
"description": "Transaction note.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"lot_code": {
"description": "Lot number (ScannedCode); required when adding to a lotted product.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"serial_numbers": {
"description": "Serial numbers, as many as the quantity; only for serialized products.",
"minItems": 1,
"maxItems": 10000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
},
"required": [
"warehouse_id",
"location_code",
"quantity",
"reason"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴skuvault_remove_stock(sku, code, warehouse_id, location_code, quantity, ...)
WRITE: remove quantity of a product from a warehouse location (a transaction in SkuVault's history; every call removes again, so do not retry blindly). The transaction reason must already exist in SkuVault. Serialized products need serial numbers. Moderate throttling (10/min). POST /inventory/removeItem.
입력 스키마
{
"type": "object",
"properties": {
"sku": {
"description": "Product SKU (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"code": {
"description": "Product code (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"warehouse_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SkuVault warehouse id (an integer; see skuvault_list_warehouses)."
},
"location_code": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Location the quantity is removed from."
},
"quantity": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "Quantity to remove (a positive whole number)."
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Transaction reason; must already exist in SkuVault."
},
"serial_numbers": {
"description": "Serial numbers, as many as the quantity; only for serialized products.",
"minItems": 1,
"maxItems": 10000,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
}
},
"required": [
"warehouse_id",
"location_code",
"quantity",
"reason"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴skuvault_set_stock_quantity(sku, code, warehouse_id, location_code, quantity)
WRITE: set the exact quantity of a product at one warehouse location, overwriting what is there (running it again with the same values changes nothing more). Use skuvault_get_inventory_by_location first to see the current quantity. Moderate throttling (10/min). POST /inventory/setItemQuantity.
입력 스키마
{
"type": "object",
"properties": {
"sku": {
"description": "Product SKU (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"code": {
"description": "Product code (give sku or code).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"warehouse_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SkuVault warehouse id (an integer; see skuvault_list_warehouses)."
},
"location_code": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Location whose quantity is set."
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000,
"description": "The new quantity at that location (0 or more)."
}
},
"required": [
"warehouse_id",
"location_code",
"quantity"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거