Lightspeed Retail (R-Series) MCP by usefulapi

Read Lightspeed R-Series items, stock, sales, customers and POs; create customers and set stock.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
90%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~5,562token 数(工具定义)
~2.9 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.35%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "lightspeed-r-series": {
      "url": "https://lightspeed-r-series.usefulapi.io/mcp"
    }
  }
}

远程端点

https://lightspeed-r-series.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(17)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢get_account

The connected Lightspeed Retail (R-Series) account: id, name, status, employee count/limit, default and purchasing currencies. Good first call. GET /Account/{accountID}.json.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_shops(include_contact, limit, sort, next_url)

List the account's shops (store locations): shopID, name, time zone, archived flag. Use shopID to filter sales, inventory and purchase orders. GET /Account/{accountID}/Shop.json.

输入模式

{
  "type": "object",
  "properties": {
    "include_contact": {
      "description": "Also load each shop's Contact (address, phone).",
      "type": "boolean"
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: shopID.",
      "type": "string",
      "enum": [
        "shopID",
        "-shopID"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_items(description, item_code, system_sku, custom_sku, manufacturer_sku, ...)

Search the product catalog. Each item has itemID, description, SKUs (systemSku, customSku, upc, ean, manufacturerSku), defaultCost, categoryID and its Prices (price levels). Set include_stock to add per-shop quantities (ItemShops; shopID 0 = all shops). Paginate with next_url. GET /Account/{accountID}/Item.json.

输入模式

{
  "type": "object",
  "properties": {
    "description": {
      "description": "Description contains this text (like search).",
      "type": "string",
      "maxLength": 200
    },
    "item_code": {
      "description": "Exact match on itemID, UPC or EAN.",
      "type": "string",
      "pattern": "^\\d+$"
    },
    "system_sku": {
      "description": "Exact Lightspeed system SKU (the barcode on labels).",
      "type": "string",
      "pattern": "^\\d+$"
    },
    "custom_sku": {
      "description": "Exact custom SKU.",
      "type": "string",
      "maxLength": 100
    },
    "manufacturer_sku": {
      "description": "Exact manufacturer SKU.",
      "type": "string",
      "maxLength": 100
    },
    "upc": {
      "description": "Exact UPC.",
      "type": "string",
      "pattern": "^\\d+$"
    },
    "ean": {
      "description": "Exact EAN.",
      "type": "string",
      "pattern": "^\\d+$"
    },
    "category_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only items in this category (categoryID)."
    },
    "vendor_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only items whose default vendor is this vendorID."
    },
    "modified_since": {
      "description": "Only items modified at or after this time (item timeStamp, UTC unless an offset is given).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "min_qoh": {
      "description": "Only items with at least one shop record whose quantity on hand is >= this (loads ItemShops).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "archived": {
      "description": "false (default) = active records only, true = active and archived, only = archived only.",
      "type": "string",
      "enum": [
        "false",
        "true",
        "only"
      ]
    },
    "include_stock": {
      "description": "Include per-shop stock (ItemShops relation).",
      "type": "boolean"
    },
    "include_category": {
      "description": "Include the Category record.",
      "type": "boolean"
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: itemID, timeStamp, description.",
      "type": "string",
      "enum": [
        "itemID",
        "-itemID",
        "timeStamp",
        "-timeStamp",
        "description",
        "-description"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_item(item_id, relations)

One item by itemID with its prices, per-shop stock (ItemShops), category and other related records. GET /Account/{accountID}/Item/{itemID}.json.

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The itemID (from list_items)."
    },
    "relations": {
      "description": "Related records to include (each adds a little to the request's rate-limit cost). Default: ItemShops, Category, Manufacturer, ItemVendorNums, Note. Allowed: Category, TaxClass, ItemAttributes, ItemAttributes.ItemAttributeSet, Manufacturer, Note, Images, ItemShops, ItemVendorNums, ItemComponents, ItemECommerce, TagRelations, TagRelations.Tag, CustomFieldValues, CustomFieldValues.value, ItemPrices.",
      "maxItems": 16,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Category",
          "TaxClass",
          "ItemAttributes",
          "ItemAttributes.ItemAttributeSet",
          "Manufacturer",
          "Note",
          "Images",
          "ItemShops",
          "ItemVendorNums",
          "ItemComponents",
          "ItemECommerce",
          "TagRelations",
          "TagRelations.Tag",
          "CustomFieldValues",
          "CustomFieldValues.value",
          "ItemPrices"
        ]
      }
    }
  },
  "required": [
    "item_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_inventory(shop_id, item_id, min_qoh, max_qoh, modified_since, ...)

Stock levels per item per shop (ItemShop records): qoh (quantity on hand), sellable, backorder, reorderPoint, reorderLevel, costs and values. shopID 0 is the all-shops summary. Paginate with next_url. GET /Account/{accountID}/ItemShop.json.

输入模式

{
  "type": "object",
  "properties": {
    "shop_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only this shop (shopID; 0 = the all-shops summary records)."
    },
    "item_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only this item (itemID)."
    },
    "min_qoh": {
      "description": "Quantity on hand >= this.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "max_qoh": {
      "description": "Quantity on hand <= this (e.g. 0 for out of stock).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "modified_since": {
      "description": "Only records changed at or after this time (timeStamp).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: itemShopID, timeStamp.",
      "type": "string",
      "enum": [
        "itemShopID",
        "-itemShopID",
        "timeStamp",
        "-timeStamp"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_categories(name, parent_id, limit, sort, next_url)

Item categories (hierarchical): categoryID, name, fullPathName, parentID, nodeDepth. GET /Account/{accountID}/Category.json.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Name contains this text.",
      "type": "string",
      "maxLength": 200
    },
    "parent_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only direct children of this categoryID (0 = top level)."
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: categoryID, timeStamp, leftNode, rightNode.",
      "type": "string",
      "enum": [
        "categoryID",
        "-categoryID",
        "timeStamp",
        "-timeStamp",
        "leftNode",
        "-leftNode",
        "rightNode",
        "-rightNode"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_sales(from, to, date_field, shop_id, customer_id, ...)

Sales history: saleID, completed/voided flags, completeTime, totals (calcSubtotal, calcTax1/2, total, balance), customerID, employeeID, shopID, registerID. Filter by a date range on completeTime (default) or timeStamp, shop, customer, employee. Set include_lines for SaleLines (items sold). Paginate with next_url. GET /Account/{accountID}/Sale.json.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start (inclusive), e.g. 2026-10-01 or 2026-10-01T00:00:00-04:00. Times are UTC unless an offset is given.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "to": {
      "description": "End (inclusive), same format.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?(Z|[+-]\\d{2}:?\\d{2})?)?$"
    },
    "date_field": {
      "description": "Which date from/to apply to (default completeTime).",
      "type": "string",
      "enum": [
        "completeTime",
        "timeStamp",
        "createTime"
      ]
    },
    "shop_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only sales in this shop (shopID)."
    },
    "customer_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only sales for this customer (customerID)."
    },
    "employee_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only sales processed by this employee (employeeID)."
    },
    "completed": {
      "description": "true = completed sales only, false = open/unfinished only.",
      "type": "boolean"
    },
    "voided": {
      "description": "true = voided only, false = exclude voided.",
      "type": "boolean"
    },
    "include_lines": {
      "description": "Include the SaleLines relation (line items).",
      "type": "boolean"
    },
    "include_payments": {
      "description": "Include the SalePayments relation.",
      "type": "boolean"
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: saleID, timeStamp, completeTime, updatetime.",
      "type": "string",
      "enum": [
        "saleID",
        "-saleID",
        "timeStamp",
        "-timeStamp",
        "completeTime",
        "-completeTime",
        "updatetime",
        "-updatetime"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_sale(sale_id, relations)

One sale by saleID with its line items (SaleLines with Item), payments (SalePayments with PaymentType) and customer. GET /Account/{accountID}/Sale/{saleID}.json.

输入模式

{
  "type": "object",
  "properties": {
    "sale_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The saleID (from list_sales)."
    },
    "relations": {
      "description": "Related records to include (each adds a little to the request's rate-limit cost). Default: SaleLines, SaleLines.Item, SalePayments, SalePayments.PaymentType, Customer. Allowed: SaleLines, SaleLines.Discount, SaleLines.TaxClass, SaleLines.Note, SaleLines.Item, SaleLines.InventorySales, SaleNotes, SalePayments, SalePayments.PaymentType, SalePayments.CCCharge, SalePayments.SaleAccounts, SalePayments.Signatures, ShipTo, ShipTo.Contact, Customer, Customer.Contact, Discount, TaxCategory, TaxCategory.TaxCategoryClasses, Quote.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "SaleLines",
          "SaleLines.Discount",
          "SaleLines.TaxClass",
          "SaleLines.Note",
          "SaleLines.Item",
          "SaleLines.InventorySales",
          "SaleNotes",
          "SalePayments",
          "SalePayments.PaymentType",
          "SalePayments.CCCharge",
          "SalePayments.SaleAccounts",
          "SalePayments.Signatures",
          "ShipTo",
          "ShipTo.Contact",
          "Customer",
          "Customer.Contact",
          "Discount",
          "TaxCategory",
          "TaxCategory.TaxCategoryClasses",
          "Quote"
        ]
      }
    }
  },
  "required": [
    "sale_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_customers(first_name, last_name, company, email, include_contact, ...)

Search customers by name, company or email: customerID, firstName, lastName, company, customerTypeID, createTime. Email search loads the Contact relation (emails, phones, addresses). Paginate with next_url. GET /Account/{accountID}/Customer.json.

输入模式

{
  "type": "object",
  "properties": {
    "first_name": {
      "description": "First name contains this text.",
      "type": "string",
      "maxLength": 100
    },
    "last_name": {
      "description": "Last name contains this text.",
      "type": "string",
      "maxLength": 100
    },
    "company": {
      "description": "Company contains this text.",
      "type": "string",
      "maxLength": 200
    },
    "email": {
      "description": "Email contains this text (searches Contact.email).",
      "type": "string",
      "maxLength": 254
    },
    "include_contact": {
      "description": "Include the Contact relation (emails, phones, addresses).",
      "type": "boolean"
    },
    "archived": {
      "description": "false (default) = active records only, true = active and archived, only = archived only.",
      "type": "string",
      "enum": [
        "false",
        "true",
        "only"
      ]
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: customerID, timeStamp, firstName, lastName.",
      "type": "string",
      "enum": [
        "customerID",
        "-customerID",
        "timeStamp",
        "-timeStamp",
        "firstName",
        "-firstName",
        "lastName",
        "-lastName"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_customer(customer_id, relations)

One customer by customerID with Contact (emails, phones, addresses), customer type and notes. GET /Account/{accountID}/Customer/{customerID}.json.

输入模式

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The customerID (from list_customers)."
    },
    "relations": {
      "description": "Related records to include (each adds a little to the request's rate-limit cost). Default: Contact, CustomerType, Note. Allowed: Contact, CustomerType, Discount, Note, TaxCategory, CreditAccount, Tags, CustomFieldValues, CustomFieldValues.value.",
      "maxItems": 9,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Contact",
          "CustomerType",
          "Discount",
          "Note",
          "TaxCategory",
          "CreditAccount",
          "Tags",
          "CustomFieldValues",
          "CustomFieldValues.value"
        ]
      }
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_vendors(name, include_contact, archived, limit, sort, ...)

Suppliers: vendorID, name, accountNumber, archived. GET /Account/{accountID}/Vendor.json.

输入模式

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Name contains this text.",
      "type": "string",
      "maxLength": 200
    },
    "include_contact": {
      "description": "Include the Contact relation.",
      "type": "boolean"
    },
    "archived": {
      "description": "false (default) = active records only, true = active and archived, only = archived only.",
      "type": "string",
      "enum": [
        "false",
        "true",
        "only"
      ]
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: vendorID, timeStamp, name.",
      "type": "string",
      "enum": [
        "vendorID",
        "-vendorID",
        "timeStamp",
        "-timeStamp",
        "name",
        "-name"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_purchase_orders(shop_id, vendor_id, complete, include_lines, archived, ...)

Purchase orders to vendors: orderID, vendorID, shopID, orderedDate, arrivalDate, receivedDate, complete, totalQuantity, shipCost. GET /Account/{accountID}/Order.json.

输入模式

{
  "type": "object",
  "properties": {
    "shop_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only orders for this shop (shopID)."
    },
    "vendor_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Only orders to this vendor (vendorID)."
    },
    "complete": {
      "description": "true = completed orders only, false = open orders only.",
      "type": "boolean"
    },
    "include_lines": {
      "description": "Include the OrderLines relation.",
      "type": "boolean"
    },
    "archived": {
      "description": "false (default) = active records only, true = active and archived, only = archived only.",
      "type": "string",
      "enum": [
        "false",
        "true",
        "only"
      ]
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: orderID, timeStamp.",
      "type": "string",
      "enum": [
        "orderID",
        "-orderID",
        "timeStamp",
        "-timeStamp"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_purchase_order(order_id, relations)

One purchase order by orderID with its lines (OrderLines: itemID, quantity, numReceived, price), vendor and shop. GET /Account/{accountID}/Order/{orderID}.json.

输入模式

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The orderID (from list_purchase_orders)."
    },
    "relations": {
      "description": "Related records to include (each adds a little to the request's rate-limit cost). Default: OrderLines, Vendor, Shop, Note. Allowed: OrderLines, Note, Vendor, Shop, CustomFieldValues, CustomFieldValues.value.",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "OrderLines",
          "Note",
          "Vendor",
          "Shop",
          "CustomFieldValues",
          "CustomFieldValues.value"
        ]
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_employees(include_contact, archived, limit, sort, next_url)

Employees: employeeID, firstName, lastName, lockOut, archived, employeeRoleID, limitToShopID. Use employeeID to filter sales. GET /Account/{accountID}/Employee.json.

输入模式

{
  "type": "object",
  "properties": {
    "include_contact": {
      "description": "Include the Contact relation.",
      "type": "boolean"
    },
    "archived": {
      "description": "false (default) = active records only, true = active and archived, only = archived only.",
      "type": "string",
      "enum": [
        "false",
        "true",
        "only"
      ]
    },
    "limit": {
      "description": "Records per page (1-100, default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort": {
      "description": "Sort field; prefix \"-\" for descending. Allowed: employeeID, timeStamp.",
      "type": "string",
      "enum": [
        "employeeID",
        "-employeeID",
        "timeStamp",
        "-timeStamp"
      ]
    },
    "next_url": {
      "description": "To get the next page: the next_url value from a previous call of this same tool, unchanged. Other filters are ignored when it is set.",
      "type": "string",
      "maxLength": 4000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡create_customer(first_name, last_name, company, title, email, ...)

Create a new customer, optionally with a primary email and one phone number (stored in the customer's Contact). Give at least a first name, last name or company. Returns the new customer with its customerID. POST /Account/{accountID}/Customer.json.

输入模式

{
  "type": "object",
  "properties": {
    "first_name": {
      "description": "First name.",
      "type": "string",
      "maxLength": 100
    },
    "last_name": {
      "description": "Last name.",
      "type": "string",
      "maxLength": 100
    },
    "company": {
      "description": "Company name.",
      "type": "string",
      "maxLength": 200
    },
    "title": {
      "description": "Job title.",
      "type": "string",
      "maxLength": 100
    },
    "email": {
      "description": "Primary email address.",
      "type": "string",
      "maxLength": 254,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "description": "Phone number.",
      "type": "string",
      "maxLength": 50
    },
    "phone_type": {
      "description": "Phone type (default Mobile).",
      "type": "string",
      "enum": [
        "Home",
        "Work",
        "Mobile",
        "Pager",
        "Fax"
      ]
    },
    "customer_type_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "customerTypeID to assign."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴update_item(item_id, description, default_cost, custom_sku, manufacturer_sku, ...)

Change fields of an existing item: description, default cost, SKUs, category. Only the fields you pass are changed. Prices and stock are not changed here (use update_stock for quantities). PUT /Account/{accountID}/Item/{itemID}.json.

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The itemID to update."
    },
    "description": {
      "description": "New description (shown on receipts and labels).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "default_cost": {
      "description": "New default (reorder) cost.",
      "type": "number",
      "minimum": 0
    },
    "custom_sku": {
      "description": "New custom SKU.",
      "type": "string",
      "maxLength": 100
    },
    "manufacturer_sku": {
      "description": "New manufacturer SKU.",
      "type": "string",
      "maxLength": 100
    },
    "upc": {
      "description": "New UPC (11-14 digits).",
      "type": "string",
      "pattern": "^\\d{11,14}$"
    },
    "ean": {
      "description": "New EAN (11-14 digits).",
      "type": "string",
      "pattern": "^\\d{11,14}$"
    },
    "category_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "New categoryID (0 = no category)."
    }
  },
  "required": [
    "item_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴update_stock(item_id, shop_id, item_shop_id, qoh)

CHANGES STOCK COUNTS: sets (does not add to) the quantity on hand of one item in one shop to `qoh`, by updating the item's ItemShop record. Use for correcting a few items; for many items use an inventory count in Lightspeed. Identify the shop by shop_id, or by item_shop_id from get_item's ItemShops. Not for shopID 0 (the all-shops summary). PUT /Account/{accountID}/Item/{itemID}.json with ItemShops.

输入模式

{
  "type": "object",
  "properties": {
    "item_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The itemID."
    },
    "shop_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "The shopID whose stock to set (from list_shops)."
    },
    "item_shop_id": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Or the itemShopID of that item/shop record (from get_item ItemShops)."
    },
    "qoh": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000,
      "description": "The new quantity on hand."
    }
  },
  "required": [
    "item_id",
    "qoh"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本17 个工具