Channable MCP by usefulapi

Read marketplace orders and returns; send shipment, cancellation and stock updates.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
96%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~5,259토큰 (도구 정의)
~2.8 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.11%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "channable": {
      "url": "https://channable.usefulapi.io/mcp"
    }
  }
}

원격 엔드포인트

https://channable.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (13)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢channable_list_orders(project_id, status, search, errors, start_date, ...)

List the marketplace orders of a project, newest first. Filters combine with AND; dates are read as UTC. Paged: pass next_offset as offset (total is the size of the page, not of all orders). Reply: orders, error_count (orders with an error), count, next_offset. GET /v2/companies/{company}/projects/{project}/orders.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Only orders in one of these statuses: shipped, not_shipped, waiting, cancelled, processing, pending_shipment, pending_cancellation, cancellation_request, awaiting_confirmation, partial, manual.",
      "minItems": 1,
      "maxItems": 11,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "shipped",
          "not_shipped",
          "waiting",
          "cancelled",
          "processing",
          "pending_shipment",
          "pending_cancellation",
          "cancellation_request",
          "awaiting_confirmation",
          "partial",
          "manual"
        ]
      }
    },
    "search": {
      "description": "Free-text search (order ids, names, products).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "errors": {
      "description": "true = only orders with an error.",
      "type": "boolean"
    },
    "start_date": {
      "description": "Orders created on or after this date (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Orders created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Orders modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Orders modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_start": {
      "description": "Orders retrieved from the marketplace on or after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_end": {
      "description": "Orders retrieved from the marketplace on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_order(order_id, project_id)

One order with its customer, addresses, items, status, fulfillments and event log. order_id is the Channable order id (the id field from channable_list_orders). GET /v2/companies/{company}/projects/{project}/orders/{order_id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_ship_order(order_id, project_id, transporter, tracking_code, return_transporter, ...)

Set an order to shipped, with tracking data. Give transporter as a Channable transporter code (channable_list_transporters lists them) and tracking_code. Pass order_item_ids to ship only some items (the order then becomes partial; repeat with the other items later); omit it to ship the whole order. Spartoo and Veepee do not support partial shipments. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/shipment. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "transporter": {
      "description": "Channable transporter code, e.g. POSTNL, DHL, DPD.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "tracking_code": {
      "description": "Track and trace code of the parcel.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "return_transporter": {
      "description": "Transporter code for the return label, if the marketplace asks for it.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "return_tracking_code": {
      "description": "Track and trace code of the return label.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "delivery_bill_id": {
      "description": "Delivery bill id, if the marketplace asks for it.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "order_item_ids": {
      "description": "Only these order items are shipped (partial shipment). Omit to ship all.",
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "description": "Channable order item id."
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_cancel_order(order_id, project_id, order_item_ids)

Seller-side cancellation: set an order to cancelled. Pass order_item_ids to cancel only some items (the order then becomes partial); omit it to cancel the whole order. Amazon, Cdiscount and Spartoo do not support partial cancellations. A buyer-side cancellation must be confirmed in the marketplace seller account instead. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/cancel. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_item_ids": {
      "description": "Only these order items are cancelled (partial cancellation). Omit to cancel all.",
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991,
        "description": "Channable order item id."
      }
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_mark_order_manual(order_id, project_id)

Tell Channable that you handle this order yourself: Channable takes no further action on it (no status updates to the marketplace). POST /v1/companies/{company}/projects/{project}/orders/{order_id}/manual. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_create_return(order_id, project_id, products)

Manually create a return on the marketplace for products of an order. Only Fruugo, Otto, Veepee and Zalando support this. products lists the product ids (the item id of the order), the quantity and optionally accepted or rejected. POST /v1/companies/{company}/projects/{project}/orders/{order_id}/return. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable order id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "products": {
      "minItems": 1,
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Product id as in the order item."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000,
            "description": "Quantity to return."
          },
          "status": {
            "description": "accepted or rejected (omit for the marketplace default).",
            "type": "string",
            "enum": [
              "accepted",
              "rejected"
            ]
          }
        },
        "required": [
          "id",
          "quantity"
        ]
      },
      "description": "The products to return."
    }
  },
  "required": [
    "order_id",
    "products"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_returns(project_id, search, errors, start_date, end_date, ...)

List the returns of a project, newest first. Dates are read as UTC. Paged: pass next_offset as offset. Reply: returns, error_count, count, next_offset. GET /v1/companies/{company}/projects/{project}/returns.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Free-text search.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "errors": {
      "description": "true = only returns with an error.",
      "type": "boolean"
    },
    "start_date": {
      "description": "Returns created on or after this date (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Returns created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Returns modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Returns modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_start": {
      "description": "Returns retrieved on or after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "retrieved_at_end": {
      "description": "Returns retrieved on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_return(return_id, project_id)

One return with its item, reason, customer, status and log. return_id is the id field from channable_list_returns. GET /v1/companies/{company}/projects/{project}/returns/{return_id}.

입력 스키마

{
  "type": "object",
  "properties": {
    "return_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable return id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "return_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_update_return_status(return_id, project_id, status)

Set the status of a return: accepted, rejected, repaired, keeps, exchanged, cancelled. Depending on the status the customer does or does not get their money back (accepted and cancelled differ from rejected). POST /v1/companies/{company}/projects/{project}/returns/{return_id}/status. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "return_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Channable return id."
    },
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "type": "string",
      "enum": [
        "accepted",
        "rejected",
        "repaired",
        "keeps",
        "exchanged",
        "cancelled"
      ],
      "description": "The new return status."
    }
  },
  "required": [
    "return_id",
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_stock_updates(project_id, search, start_date, end_date, last_modified_after, ...)

List the offers (product stock updates) that were posted to a project, newest first: id, stock, price, title, GTIN. Paged: pass next_offset as offset. Reply: offers, count, next_offset. GET /v1/companies/{company}/projects/{project}/offers.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "search": {
      "description": "Free-text search (offer id, title, GTIN).",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "start_date": {
      "description": "Offers created on or after this date (UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Offers created on or before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_after": {
      "description": "Offers modified after this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "last_modified_before": {
      "description": "Offers modified before this date.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "limit": {
      "description": "Results per page, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many results (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴channable_update_stock(project_id, updates)

Set the stock of up to 50 offers. Each item is the offer id as the marketplaces know it, plus the WHOLE new stock value (not a delta). Channable passes the new stock to every marketplace of the project, which changes what customers can buy. POST /v1/companies/{company}/projects/{project}/stock_updates. Channable passes this change on to the marketplace. It cannot be undone through this API and the call is never retried; if it times out, check the order in Channable before trying again.

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "updates": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Offer id (the id of the product in your feed / on the marketplace)."
          },
          "stock": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000000,
            "description": "The whole new stock value, not a delta."
          },
          "gtin": {
            "description": "GTIN, shown in Channable only.",
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          }
        },
        "required": [
          "id",
          "stock"
        ]
      },
      "description": "1-50 stock updates."
    }
  },
  "required": [
    "updates"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_get_order_statistics(project_id, order_config_id, start_date, end_date)

Order statistics of a project for a time frame: orders, ordered products, marketplace commission, shipping costs, revenue and daily revenue, per order connection and in total. Pass order_config_id (the order_config_id field of an order) for one order connection only. GET /v1/companies/{company}/projects/{project}/statistics/orders[/{order_config_id}].

입력 스키마

{
  "type": "object",
  "properties": {
    "project_id": {
      "description": "Channable project id (Project settings). Default: the project chosen at login.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_config_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Only this order connection (the order_config_id of an order)."
    },
    "start_date": {
      "description": "First day (yyyy-mm-dd or ISO 8601, UTC).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    },
    "end_date": {
      "description": "Last day.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,6})?)?(Z|[+-]\\d{2}:\\d{2})?)?$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢channable_list_transporters(transporter_code, channel)

Channable transporter codes for shipping updates. With no argument: all codes and labels (transporter_code is what channable_ship_order expects). With transporter_code: the marketplace-specific carriers behind that code. With channel (a marketplace such as bol, amazon, ebay): the carriers that marketplace supports. Give at most one of the two. GET /v1/transporters/all | /transporter/{code} | /channel/{channel}.

입력 스키마

{
  "type": "object",
  "properties": {
    "transporter_code": {
      "description": "A Channable transporter code, e.g. DHL.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "channel": {
      "description": "A marketplace name, lowercase, e.g. bol, amazon, ebay, otto.",
      "type": "string",
      "pattern": "^[a-z0-9_]{2,60}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 13개