MarketTime MCP by usefulapi
MCP server for MarketTime — wholesale orders, customers, catalog and shipment tracking.
사용해야 할까요
품질 및 안전성
발견 사항 (6)
- LOWmarkettime_get_order_changes_history에서
- LOWmarkettime_list_order_shipments에서
- LOWmarkettime_list_customer_contacts에서
- LOWmarkettime_list_customer_ship_to_locations에서
- LOWmarkettime_list_commission_order_payments에서
- LOWmarkettime_create_order_shipment에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"markettime": {
"url": "https://markettime.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://markettime.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (18)
🟢markettime_list_manufacturers(active, sort, sort_direction, offset, page_size)
List the manufacturers (brands) connected to this account: id, name, email, city, category, connection date. Sort fields: name (default), manufacturerID, connectionDate, dateAdded, dateModified, city. GET /manufacturers.
입력 스키마
{
"type": "object",
"properties": {
"active": {
"description": "true = only active manufacturers, false = only inactive.",
"type": "boolean"
},
"sort": {
"description": "Sort field, e.g. name, connectionDate, dateModified.",
"type": "string",
"pattern": "^[A-Za-z]{1,40}$"
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_get_manufacturer(manufacturer_id)
One manufacturer's details by its id (like M123). GET /manufacturers/{id}.
입력 스키마
{
"type": "object",
"properties": {
"manufacturer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
}
},
"required": [
"manufacturer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_orders(status, rep_group_status, po_number, customer_name, manufacturer_id, ...)
Search wholesale orders (for the newest first use sort_field orderDate with sort_direction desc). Convenience filters: status (the manufacturer's order status, e.g. NEW, SENT, SHIPPED), rep_group_status (Rep Group accounts only), po_number, customer_name (contains), manufacturer_id, customer_id, ordered_from/ordered_to (order date), modified_since. Order lines are left out unless include_details is true (they make replies large; use markettime_list_order_details for the lines of one order). Card tokens are never returned. POST /orders/get.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"description": "manufacturerOrderStatus equals this value.",
"type": "string",
"maxLength": 60
},
"rep_group_status": {
"description": "repGroupOrderStatus equals this value (Rep Group accounts).",
"type": "string",
"maxLength": 60
},
"po_number": {
"description": "Purchase order number equals this value.",
"type": "string",
"maxLength": 100
},
"customer_name": {
"description": "Customer (retailer) name contains this text.",
"type": "string",
"maxLength": 100
},
"manufacturer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"customer_id": {
"description": "Customer (retailer) id, like B123.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$"
},
"ordered_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"ordered_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"modified_since": {
"description": "Only orders changed on or after this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"filters": {
"description": "Extra filters, all combined with AND. Use field names from the record shape of this tool's replies.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Field name on the record, e.g. orderDate, name, dateModified."
},
"operator": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"lt",
"gte",
"lte",
"starts_with",
"ends_with",
"contains"
],
"description": "Comparison; starts_with, ends_with and contains work on text fields only."
},
"value": {
"type": "string",
"maxLength": 200,
"description": "The value to compare with (dates as yyyy-mm-dd)."
}
},
"required": [
"field",
"operator",
"value"
]
}
},
"include_details": {
"description": "Include the order lines (default false).",
"type": "boolean"
},
"sort_field": {
"description": "Sort field, e.g. orderDate, dateModified, orderTotal, poNumber.",
"type": "string",
"pattern": "^[A-Za-z0-9]{1,40}$"
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_order_details(order_id, ordered_from, ordered_to, rep_group_status, manufacturer_status, ...)
List order lines (item, quantity, unit price) across orders or for one order (order_id). Filters: order dates, statuses, manufacturer, PO number, unit price range. GET /orders/orderdetails.
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"description": "Only the lines of this order (the order's recordID).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"ordered_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"ordered_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"rep_group_status": {
"type": "string",
"maxLength": 60
},
"manufacturer_status": {
"type": "string",
"maxLength": 60
},
"manufacturer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"po_number": {
"type": "string",
"maxLength": 100
},
"min_unit_price": {
"type": "number",
"minimum": 0
},
"max_unit_price": {
"type": "number",
"minimum": 0
},
"sort_field": {
"type": "string",
"enum": [
"orderID",
"itemNumber",
"quantity",
"unitPrice",
"PONumber"
]
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_get_order_changes_history(order_id, offset, page_size)
The audit trail of one order: who changed what and when (Rep Group accounts). POST /orders/{orderId}/orderChangesHistory/get (a read-only search).
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The order's recordID."
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_order_shipments(order_id)
Shipment and tracking records of one order (tracking number, link, carrier, ship date, invoice). GET /orders/{orderId}/trackingdetails/get.
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The order's recordID."
}
},
"required": [
"order_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_customers(name, state, status, modified_since, rep_group_id, ...)
List customers (retailers/buyers) with name, email, address, status (ACTIVE, INACTIVE, LEAD), customer number and salesperson. Filters: name (contains), state, status, modified_since. The customers' own API keys are never returned. POST /customers/get.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Customer name contains this text.",
"type": "string",
"maxLength": 100
},
"state": {
"description": "State equals this value.",
"type": "string",
"maxLength": 40
},
"status": {
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE",
"LEAD"
]
},
"modified_since": {
"description": "Only customers changed on or after this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"rep_group_id": {
"description": "Manufacturer accounts only: limit to this Rep Group's customers.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$"
},
"filters": {
"description": "Extra filters, all combined with AND. Use field names from the record shape of this tool's replies.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Field name on the record, e.g. orderDate, name, dateModified."
},
"operator": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"lt",
"gte",
"lte",
"starts_with",
"ends_with",
"contains"
],
"description": "Comparison; starts_with, ends_with and contains work on text fields only."
},
"value": {
"type": "string",
"maxLength": 200,
"description": "The value to compare with (dates as yyyy-mm-dd)."
}
},
"required": [
"field",
"operator",
"value"
]
}
},
"sort_field": {
"description": "customerNumber: Rep Group accounts only; accountNumber and shipToAccountNumber: Manufacturer accounts only.",
"type": "string",
"enum": [
"name",
"state",
"zip",
"active",
"status",
"dateAdded",
"dateModified",
"salespersonID",
"externalID",
"customerNumber",
"accountNumber",
"shipToAccountNumber"
]
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_get_customer(customer_id, rep_group_id)
One customer's full record by id (like B123): addresses, contacts, ship-to locations, terms, pricing method. Their API key is never returned. GET /customers/{id}.
입력 스키마
{
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"rep_group_id": {
"description": "Manufacturer accounts only: the Rep Group the customer belongs to.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$"
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_customer_contacts(customer_id, offset, page_size)
The contact people of one customer (name, email, phone, title). GET /customers/{id}/contacts.
입력 스키마
{
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_customer_ship_to_locations(customer_id, offset, page_size)
The ship-to locations of one customer (name, address, account number). GET /customers/{id}/shiptolocations.
입력 스키마
{
"type": "object",
"properties": {
"customer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_items(name, item_number, manufacturer_id, modified_since, filters, ...)
Search the product catalog: item number, name, prices, case quantity, stock, UPC, categories, images. Filters: name (contains), item_number, manufacturer_id, modified_since. POST /items/get.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Item name contains this text.",
"type": "string",
"maxLength": 100
},
"item_number": {
"description": "Item number equals this value.",
"type": "string",
"maxLength": 100
},
"manufacturer_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The MarketTime id."
},
"modified_since": {
"description": "Only items changed on or after this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"filters": {
"description": "Extra filters, all combined with AND. Use field names from the record shape of this tool's replies.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Field name on the record, e.g. orderDate, name, dateModified."
},
"operator": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"lt",
"gte",
"lte",
"starts_with",
"ends_with",
"contains"
],
"description": "Comparison; starts_with, ends_with and contains work on text fields only."
},
"value": {
"type": "string",
"maxLength": 200,
"description": "The value to compare with (dates as yyyy-mm-dd)."
}
},
"required": [
"field",
"operator",
"value"
]
}
},
"sort_field": {
"type": "string",
"enum": [
"dateAdded",
"dateModified",
"itemLine",
"recordID",
"itemNumber",
"manufacturerID",
"name",
"externalID"
]
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_get_item(item_id)
One catalog item by its numeric record id (the recordID/itemID in item lists). GET /items/{itemID}.
입력 스키마
{
"type": "object",
"properties": {
"item_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"item_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_item_inventory(sort, sort_direction, offset, page_size)
Stock levels per item: quantity available, quantity on the water, next available date, availability flag. Sort fields: itemNumber, nextAvailableDate, qtyAvailable, isAvailable. GET /items/inventory.
입력 스키마
{
"type": "object",
"properties": {
"sort": {
"type": "string",
"enum": [
"itemNumber",
"nextAvailableDate",
"qtyAvailable",
"isAvailable"
]
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_item_pricing(offset, page_size)
Pricing detail per item (unit price, retail price, price codes, discounts). GET /items/pricing.
입력 스키마
{
"type": "object",
"properties": {
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_salespersons(name, sort_field, sort_direction, offset, page_size)
List the Rep Group's salespeople (name, abbreviation, status, ids). Rep Group accounts only. POST /salespersons/get.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"description": "Name contains this text.",
"type": "string",
"maxLength": 100
},
"sort_field": {
"type": "string",
"enum": [
"dateAdded",
"dateModified",
"name",
"status",
"abbreviation",
"active",
"recordID",
"externalID"
]
},
"sort_direction": {
"description": "Sort direction (MarketTime's default is descending).",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"offset": {
"description": "Start index (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢markettime_list_commission_order_payments(order_id, modified_since, filters, page, page_size)
Order payment and commission records (what was paid on which order, commission percent), Rep Group accounts only. Filters: order_id, modified_since, or custom filters (allowed fields: orderID, checkLogID, invoiceNumber, type, commissionPayDate, salespersonPaidID, dateAdded, dateModified). Card tokens and card data are never returned. Paged by page number. POST /commissions/orderpayments/get.
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"description": "Only payments of this order (field orderID).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"modified_since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"filters": {
"description": "Extra filters, all combined with AND. Use field names from the record shape of this tool's replies.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Field name on the record, e.g. orderDate, name, dateModified."
},
"operator": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"lt",
"gte",
"lte",
"starts_with",
"ends_with",
"contains"
],
"description": "Comparison; starts_with, ends_with and contains work on text fields only."
},
"value": {
"type": "string",
"maxLength": 200,
"description": "The value to compare with (dates as yyyy-mm-dd)."
}
},
"required": [
"field",
"operator",
"value"
]
}
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Rows per page, 1-250 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 250
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴markettime_create_order_shipment(order_id, tracking_number, tracking_link, shipping_method, ship_date, ...)
WRITE: add a shipment with tracking to an order (manufacturer accounts only). This creates a new shipment record each time it is called (it is not idempotent) and MarketTime may notify the customer of the tracking details; calling it twice makes a duplicate. Check markettime_list_order_shipments first. POST /orders/{orderId}/trackingdetails.
입력 스키마
{
"type": "object",
"properties": {
"order_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The order's recordID."
},
"tracking_number": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"tracking_link": {
"type": "string",
"maxLength": 500,
"format": "uri",
"description": "The carrier's tracking URL (https)."
},
"shipping_method": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Carrier / shipping method, e.g. UPS Ground."
},
"ship_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, yyyy-mm-dd."
},
"invoice_number": {
"type": "string",
"maxLength": 50
},
"invoice_amount": {
"type": "number",
"minimum": 0
},
"notes": {
"type": "string",
"maxLength": 250
}
},
"required": [
"order_id",
"tracking_number",
"tracking_link",
"shipping_method"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴markettime_create_customer(name, email, phone, address1, address2, ...)
WRITE: create a new customer (retailer) account record. It is not idempotent: calling it twice may create two customers, so search with markettime_list_customers by name first. Does not send an invitation by itself. POST /customers.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"email": {
"type": "string",
"maxLength": 80,
"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": {
"type": "string",
"minLength": 3,
"maxLength": 12,
"description": "Phone number, at most 12 characters (MarketTime limit)."
},
"address1": {
"type": "string",
"maxLength": 100
},
"address2": {
"type": "string",
"maxLength": 50
},
"city": {
"type": "string",
"maxLength": 50
},
"state": {
"type": "string",
"maxLength": 50
},
"zip": {
"type": "string",
"maxLength": 20
},
"country": {
"description": "Country code, at most 4 characters (e.g. US).",
"type": "string",
"maxLength": 4
},
"website": {
"type": "string",
"maxLength": 150
},
"status": {
"description": "Customer status (default chosen by MarketTime).",
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE",
"LEAD"
]
},
"notes": {
"type": "string",
"maxLength": 5000
},
"external_id": {
"description": "Your own id for this customer, to link external systems.",
"type": "string",
"maxLength": 50
}
},
"required": [
"name",
"email",
"phone"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거