# Lingye Open API ## API Docs - Authentication [Login](https://apitext.en.gdlykj.com/483658414e0.md): Login with account name, MD5 signature, and timestamp. The signature is md5("lykj" + name + key + timestamp). - Authentication [Validate token](https://apitext.en.gdlykj.com/483658415e0.md): Validate whether the token is still valid. - Organizations [List organizations](https://apitext.en.gdlykj.com/483658416e0.md): - Organizations [Create organization](https://apitext.en.gdlykj.com/483658417e0.md): - Organizations [Update organization](https://apitext.en.gdlykj.com/483658418e0.md): Update an existing organization, including name, customer service phone, machine type, and related settings. Requires token and organization-management permission. - Organizations [Delete organization](https://apitext.en.gdlykj.com/483658419e0.md): - Organizations [List personnel](https://apitext.en.gdlykj.com/483658420e0.md): - Organizations [Create personnel](https://apitext.en.gdlykj.com/483658421e0.md): - Organizations [Update personnel](https://apitext.en.gdlykj.com/483658422e0.md): - Organizations [Delete personnel](https://apitext.en.gdlykj.com/483658423e0.md): - Organizations [List back-office users](https://apitext.en.gdlykj.com/483658424e0.md): Query back-office users within the authorized organization chain. The result can be used to select users for work order receive[].id. - Product Catalog [List product categories](https://apitext.en.gdlykj.com/483658425e0.md): Return all active categories under the current root organization. pic is the full URL formed by the OSS domain plus the relative path. - Product Catalog [List products](https://apitext.en.gdlykj.com/483658426e0.md): - Product Catalog [Create, update, or delete product category](https://apitext.en.gdlykj.com/483658427e0.md): One endpoint handles category creation, update, and deletion. Use cid and status to select the operation. If picture is omitted when creating, /system/logo.png is used by default. - Product Catalog [Create, update, or delete product](https://apitext.en.gdlykj.com/483658428e0.md): One endpoint handles product creation, update, and deletion. Use pid and status to select the operation. If picture is omitted, the category image is inherited; if still empty, /system/logo.png is used for new products. - Product Catalog [Delete product](https://apitext.en.gdlykj.com/483658429e0.md): Logically delete a product by setting product.status=-1. Deletion is rejected if the product is still bound to a machine slot. - Machines and Slots [List machines](https://apitext.en.gdlykj.com/483658430e0.md): - Machines and Slots [Query slot inventory](https://apitext.en.gdlykj.com/483658431e0.md): Query authorized slots, bound products, and stock. When isShowNull=false, slots without bound products are not returned. - Machines and Slots [Replenish or edit slot product](https://apitext.en.gdlykj.com/483658432e0.md): Replenish or edit slot product information. stock is the target stock after replenishment, not an increment. The endpoint writes road_history, may trigger slot webhooks, and notifies the device to refresh products. - Machines and Slots [Replenish or edit slot product (same as openapi_saveRoad)](https://apitext.en.gdlykj.com/483658433e0.md): Alias of openapi_saveRoad with the same implementation, parameters, and behavior. - Machines and Slots [Query locker cell information](https://apitext.en.gdlykj.com/483658434e0.md): Query cell information under an authorized locker cabinet. Supports filters by cell type, work order number, lathe/CNC, machine, product, occupant, and cell status. - Machines and Slots [Save or update existing locker cell information](https://apitext.en.gdlykj.com/483658435e0.md): Save business information for one existing cell under an authorized machine. This endpoint only updates existing cells; it does not create, delete, or reorder cells. - Machines and Slots [Open locker cell remotely](https://apitext.en.gdlykj.com/483658436e0.md): Send an asynchronous open-cell command by machine code and cell code. If callback_url is provided, Android posts the final result directly to the customer URL. Do not send conflicting values in query and body. - Machines and Slots [Trigger one-time RFID inventory](https://apitext.en.gdlykj.com/483658437e0.md): Send a one-time RFID inventory command by machine code. The request must include antennas, which are global antenna numbers configured and enabled in the PC-side RFID settings. Android posts the read result directly to callback_url. - Machines and Slots [Update machine basic information](https://apitext.en.gdlykj.com/483658438e0.md): Update basic machine fields such as machine name and remark. This endpoint does not change slot or cell structure. - Machines and Slots [Query locker cell records](https://apitext.en.gdlykj.com/483658439e0.md): - Machines and Slots [Query inventory change records](https://apitext.en.gdlykj.com/483658440e0.md): Paged or conditional query of slot inventory history (road_history), used for reconciliation or compensating for missed webhook pushes. - Orders [List orders](https://apitext.en.gdlykj.com/483658441e0.md): Query order details within the authorized scope. Optional filters include date range, work order number, lathe/CNC, machine, product, personnel, and order status. - Orders [List borrow orders](https://apitext.en.gdlykj.com/483658442e0.md): Query borrow/return orders within the authorized scope. Optional filters include date range, status, work order number, lathe/CNC, machine, product, personnel, and cell. - Work Orders [Create or update material requisition work order](https://apitext.en.gdlykj.com/483658443e0.md): Create or update material requisition work orders (order_receive), used by devices for work-order-based tool or material picking. - Events and Webhooks [Customer endpoint: pickup work order query](https://apitext.en.gdlykj.com/483658444e0.md): Documentation-only item for a customer-side endpoint. Android directly calls the customer URL to query pickup work orders. - Events and Webhooks [Customer endpoint: borrow/return work order query](https://apitext.en.gdlykj.com/483658445e0.md): Documentation-only item for a customer-side endpoint. Android directly calls the customer URL to query borrow/return work orders. - Events and Webhooks [Webhook: slot inventory change notification](https://apitext.en.gdlykj.com/483658446e0.md): Documentation-only item. Lingye sends this form-encoded POST payload to the customer URL when slot inventory changes. - Events and Webhooks [Webhook: order status notification](https://apitext.en.gdlykj.com/483658447e0.md): Documentation-only item. Lingye sends this form-encoded POST payload to the customer URL when order detail status changes. - Events and Webhooks [Webhook: borrow order status notification](https://apitext.en.gdlykj.com/483658448e0.md): Documentation-only item. Lingye sends this form-encoded POST payload to the customer URL when borrow order status changes. - Not Public [MES integration reference (not public)](https://apitext.en.gdlykj.com/483658449e0.md): Reference-only MES integration payload. This is not imported as a public customer API. - Reports [Vending machine operating report](https://apitext.en.gdlykj.com/483658450e0.md): - Reports [Inventory change statistics](https://apitext.en.gdlykj.com/483658451e0.md): - Reports [Inventory change statistics (lite)](https://apitext.en.gdlykj.com/483658452e0.md): Similar to openapi_grantMacStatementsIndex, but without opening and closing stock. It only counts expected output and replenishment in the time range. - Lathes > CNC [List lathes / CNC](https://apitext.en.gdlykj.com/483658453e0.md): Query lathes/CNC under the organization visible to the token. - Lathes > CNC [Update lathe / CNC](https://apitext.en.gdlykj.com/483658454e0.md): Create, update, or delete lathe/CNC records and optional material warning configuration. ## Schemas - [OperationSuccess](https://apitext.en.gdlykj.com/292061697d0.md):