← 返回
效率工具 Key 中文

Pipe17 Openclaw Skill

Automation skill for Pipe17 Openclaw Skill.
Pipe17 Openclaw Skill的自动化技能。
j-shao1
效率工具 clawhub v0.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 987
下载
💾 19
安装
1
版本
#latest

概述


name: pipe17 description: Pipe17 Unified API for searching and reading orders, shipping requests (shipments), fulfillments, and inventory. homepage: https://apidoc.pipe17.com/#/ metadata: { "openclaw": { "emoji": "🧩", "requires": { "env": ["PIPE17\_API\_KEY"] }, "primaryEnv": "PIPE17\_API\_KEY" } }

pipe17

Use the Pipe17 Unified API to search and read core commerce/operations objects.

This skill focuses on:

  • Search + read Orders
  • Search + read Shipping Requests (a.k.a. Shipments)
  • Search + read Fulfillments
  • Search Inventory by SKU (and optionally location)

Setup

  1. Create / obtain a Pipe17 API key for the target organization/integration.
  2. Export it:
export PIPE17_API_KEY="..."

> Keep the API key secret. Use least-privilege keys whenever possible.

API Basics

Base URL (default):

https://api-v3.pipe17.com/api/v3

All requests should include:

  • X-Pipe17-Key: ${PIPE17_API_KEY}
  • Accept: application/json

Example:

P17_BASE="https://api-v3.pipe17.com/api/v3"

curl "${P17_BASE}/orders" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Search & Filtering

Pipe17 commonly supports server-side filtering via query parameters, often including:

  • filters=... (repeatable)
  • limit=...
  • page=...

A common filter encoding pattern looks like:

filters={type}~{field}~{operator}~{value}

Examples of typical patterns:

  • filters=string~status~equals~readyForFulfillment
  • filters=string~status~equalsAnyOf~new,onHold,readyForFulfillment
  • filters=date~extOrderCreatedAt~isGreaterThanOrEqualTo~2024-12-31T00:00:00.000Z

If your tenant uses a different filter grammar, follow the contract in the API doc.

Orders

Search orders

List orders with optional query parameters.

ParameterTypeDescription
------------------------------
countinteger (int32)Number of results to return
skipinteger (int32)Number of results to skip (for pagination)
extOrderIdarray[string]Filter by external order ID(s)
sincestring (date-time)Filter orders since this UTC ISO timestamp
statusarray[string]Filter by status(es)

Allowed status values: draft, new, onHold, toBeValidated, reviewRequired, readyForFulfillment, sentToFulfillment, partialFulfillment, fulfilled, inTransit, partialReceived, received, canceled, returned, refunded, archived, closed

P17_BASE="https://api-v3.pipe17.com/api/v3"

# Example: most recent orders (paging)
curl "${P17_BASE}/orders?count=25&skip=0" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by status
curl "${P17_BASE}/orders?count=25&status=new&status=onHold&status=readyForFulfillment" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by date
curl "${P17_BASE}/orders?count=25&since=2024-12-31T00:00:00.000Z" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by external order ID
curl "${P17_BASE}/orders?extOrderId=EXT-12345" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Read order by id

The search endpoint returns an orderId for each order. Use it to fetch full order details.

P17_BASE="https://api-v3.pipe17.com/api/v3"
ORDER_ID="{orderId}"

curl "${P17_BASE}/orders/${ORDER_ID}" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Shipping Requests

Search shipping requests

List shipping requests with optional query parameters.

ParameterTypeDescription
------------------------------
countinteger (int32)Number of results to return
skipinteger (int32)Number of results to skip (for pagination)
extOrderIdarray[string]Filter by external order ID(s)
orderIdarray[string]Filter by Pipe17 order ID(s)
locationIdarray[string]Filter by location ID(s)
sincestring (date-time)Filter shipping requests since this UTC ISO timestamp
statusarray[string]Filter by status(es)

Allowed status values: new, pendingInventory, pendingShippingLabel, reviewRequired, readyForFulfillment, sentToFulfillment, fulfilled, partialFulfillment, canceled, canceledRestock, failed, onHold

P17_BASE="https://api-v3.pipe17.com/api/v3"

# Example: list shipping requests
curl "${P17_BASE}/shipping_requests?count=25&skip=0" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by status
curl "${P17_BASE}/shipping_requests?count=25&status=readyForFulfillment" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by order ID
curl "${P17_BASE}/shipping_requests?count=25&orderId=ORD-12345" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by location
curl "${P17_BASE}/shipping_requests?count=25&locationId=LOC-001" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Read shipping request by id

P17_BASE="https://api-v3.pipe17.com/api/v3"
SHIPPING_REQUEST_ID="{shippingRequestId}"

curl "${P17_BASE}/shipping_requests/${SHIPPING_REQUEST_ID}" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Fulfillments

Fulfillments represent completed shipment execution with tracking and shipped line items. They are typically treated as immutable once created.

Search fulfillments

List fulfillments with optional query parameters.

ParameterTypeDescription
------------------------------
countinteger (int32)Number of results to return
skipinteger (int32)Number of results to skip (for pagination)
extOrderIdarray[string]Filter by external order ID(s)
orderIdarray[string]Filter by Pipe17 order ID(s)
shipmentIdarray[string]Filter by shipment ID(s)
locationIdarray[string]Filter by location ID(s)
sincestring (date-time)Filter fulfillments since this UTC ISO timestamp
P17_BASE="https://api-v3.pipe17.com/api/v3"

# Example: list fulfillments
curl "${P17_BASE}/fulfillments?count=25&skip=0" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by order ID
curl "${P17_BASE}/fulfillments?count=25&orderId=ORD-12345" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by shipment ID
curl "${P17_BASE}/fulfillments?count=25&shipmentId=SHIP-001" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: filter by date
curl "${P17_BASE}/fulfillments?count=25&since=2024-12-31T00:00:00.000Z" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Read fulfillment by id

P17_BASE="https://api-v3.pipe17.com/api/v3"
FULFILLMENT_ID="{fulfillmentId}"

curl "${P17_BASE}/fulfillments/${FULFILLMENT_ID}" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Inventory

Inventory is stored per SKU (and often per location) and may include multiple quantity types (e.g., onHand, available, committed, etc.).

Search inventory

List inventory with optional query parameters.

ParameterTypeDescription
------------------------------
countinteger (int32)Number of results to return
skipinteger (int32)Number of results to skip (for pagination)
skuarray[string]Filter by SKU(s). Mutually exclusive with sku_gt/sku_lt
locationIdarray[string]Filter by location ID(s)
sincestring (date-time)Filter inventory created after this UTC ISO timestamp
availableintegerFilter where available equals this value. Mutually exclusive with available_gt/available_lt
available_gtintegerFilter where available is greater than this value
available_ltintegerFilter where available is less than this value
onHandintegerFilter where onHand equals this value. Mutually exclusive with onHand_gt/onHand_lt
onHand_gtintegerFilter where onHand is greater than this value
onHand_ltintegerFilter where onHand is less than this value
totalsbooleanReturn inventory totals across all locations (not allowed with ledger flag)
ledgerbooleanReturn inventory ledger information (not allowed with totals flag)

> Default behavior: Always send totals=true unless the user specifically requests ledger detail. totals and ledger are mutually exclusive.

P17_BASE="https://api-v3.pipe17.com/api/v3"

# Example: list inventory by SKU (always use totals=true by default)
curl "${P17_BASE}/inventory?count=100&sku=MY-SKU-001&totals=true" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: SKU + location
curl "${P17_BASE}/inventory?count=100&sku=MY-SKU-001&locationId=LOC-001&totals=true" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: find items with zero available
curl "${P17_BASE}/inventory?count=100&available=0&totals=true" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: find items with available > 10
curl "${P17_BASE}/inventory?count=100&available_gt=10&totals=true" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

# Example: get ledger detail (only when specifically requested)
curl "${P17_BASE}/inventory?count=100&sku=MY-SKU-001&ledger=true" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Read inventory record by inventoryId

P17_BASE="https://api-v3.pipe17.com/api/v3"
INVENTORY_ID="{inventoryId}"

curl "${P17_BASE}/inventory/${INVENTORY_ID}" \
  -H "X-Pipe17-Key: ${PIPE17_API_KEY}" \
  -H "Accept: application/json"

Notes

  • Prefer list/search endpoints with pagination (count, skip) for support workflows.
  • Favor narrow filters (status/date/sku) to avoid pulling large result sets.
  • If you hit rate limits, implement backoff and retry according to response headers.

References

版本历史

共 1 个版本

  • v0.1.0 当前
    2026-03-29 03:24 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

productivity

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 437 📥 147,172
productivity

Obsidian

steipete
操作 Obsidian 仓库(纯 Markdown 笔记)并通过 obsidian-cli 自动化。
★ 429 📥 103,688
productivity

Weather

steipete
获取当前天气和预报(无需API密钥)
★ 444 📥 226,104