AgendaPro MCP by usefulapi
Read AgendaPro bookings, slots, clients, services and sales; create, update and cancel bookings.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWagendapro_list_service_categories에서
- LOWagendapro_list_client_custom_attributes에서
- LOWagendapro_list_custom_attributes에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agendapro": {
"url": "https://agendapro.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://agendapro.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (24)
🟢agendapro_list_locations(active, page, per_page)
List the business's locations (sucursales / locales): id, name, address, phone, email, timezone, opening hours and country. Location ids are needed for bookings, slots and sales filters. GET /v3/locations.
입력 스키마
{
"type": "object",
"properties": {
"active": {
"description": "Only active (true) or inactive (false) locations.",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_location(location_id)
One location by id, with address, coordinates, timezone and weekly opening hours. GET /v3/locations/{id}.
입력 스키마
{
"type": "object",
"properties": {
"location_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro location id."
}
},
"required": [
"location_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_services(provider_id, page, per_page)
List the services (treatments, classes, sessions) the business offers: id, name, price, duration, type, category, whether online booking/payment is on, and the location. Service ids are needed to book. GET /v3/services.
입력 스키마
{
"type": "object",
"properties": {
"provider_id": {
"description": "Only services this provider performs.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_service(service_id)
One service by id, including its category, images and the providers who perform it. GET /v3/services/{id}.
입력 스키마
{
"type": "object",
"properties": {
"service_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro service id."
}
},
"required": [
"service_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_service_categories(page, per_page)
List service categories, ordered as the business arranges them. GET /v3/categories.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_providers(location_ids, service_ids, public_name, active, sort_by, ...)
List service providers (the staff who take bookings): id, public name, location, active flag, online-booking flag and working hours. Provider ids are needed to book. GET /v3/providers.
입력 스키마
{
"type": "object",
"properties": {
"location_ids": {
"description": "Only providers at these locations.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"service_ids": {
"description": "Only providers who perform these services.",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"public_name": {
"description": "Partial match on the provider's public name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"active": {
"description": "Only active (true) or inactive (false) providers.",
"type": "boolean"
},
"sort_by": {
"description": "Field to sort by, e.g. public_name.",
"type": "string",
"pattern": "^[a-z_]{1,40}$"
},
"order_by": {
"description": "Sort direction.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_provider(provider_id)
One service provider by id, with biography, images and working hours including breaks. GET /v3/providers/{id}.
입력 스키마
{
"type": "object",
"properties": {
"provider_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro provider id."
}
},
"required": [
"provider_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_bookings(client_id, location_id, service_id, service_provider_id, scheduled, ...)
List bookings (reservas / appointments) with time, status, service, provider, client id, location, price and the linked sale. AgendaPro requires at least ONE of client_id, location_id, service_id or service_provider_id; dates only narrow the result. A sale may be a membership covering several bookings, so do not total amounts by sale id. GET /v3/bookings.
입력 스키마
{
"type": "object",
"properties": {
"client_id": {
"description": "Bookings of this client.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"location_id": {
"description": "Bookings at this location.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"service_id": {
"description": "Bookings of this service.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"service_provider_id": {
"description": "Bookings of this provider.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"scheduled": {
"description": "Filter by the scheduled flag.",
"type": "boolean"
},
"status_id": {
"description": "Filter by booking status id (see the status object on a booking).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"start_date": {
"description": "Bookings from this date, yyyy-mm-dd.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"end_date": {
"description": "Bookings until this date, yyyy-mm-dd.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_booking(booking_id)
One booking by id with status, service, provider, client id, location, prices, notes and the linked sale. GET /v3/bookings/{id}.
입력 스키마
{
"type": "object",
"properties": {
"booking_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro booking id."
}
},
"required": [
"booking_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_available_slots(location_id, start_date, service_id, provider_id)
Free booking time windows at a location on one date (optionally for one service and/or provider): start/end time, provider, plus a metadata summary (service duration, slot count). Use before creating a booking. GET /v3/available_slots.
입력 스키마
{
"type": "object",
"properties": {
"location_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Location to check."
},
"start_date": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "The date to check, yyyy-mm-dd."
},
"service_id": {
"description": "Only slots for this service.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"provider_id": {
"description": "Only slots of this provider.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"location_id",
"start_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴agendapro_create_booking(start_time, end_time, service_id, provider_id, client_id, ...)
WRITE: create a booking for an existing client, service, provider and location. Check agendapro_list_available_slots first. status_id must be a non-cancelled status: copy the status.id of an existing booking (agendapro_list_bookings). AgendaPro does NOT send email/SMS/WhatsApp notifications for bookings created through the API. Not idempotent: calling twice books twice. POST /v3/bookings.
입력 스키마
{
"type": "object",
"properties": {
"start_time": {
"type": "string",
"description": "Start, ISO 8601 with a timezone offset, e.g. 2026-03-10T10:00:00-03:00 (use the location's timezone)."
},
"end_time": {
"description": "End; defaults to start + the service duration.",
"type": "string"
},
"service_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Service id."
},
"provider_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Service provider id."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Client id (agendapro_search_clients / agendapro_create_client)."
},
"location_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Location id."
},
"status_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "A non-cancelled booking status id."
},
"price": {
"description": "Price as a decimal string; defaults to the service price.",
"type": "string",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$"
},
"notes": {
"description": "Booking notes.",
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
]
},
"time_resource_id": {
"description": "Time resource id; required when the service needs one.",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"start_time",
"service_id",
"provider_id",
"client_id",
"location_id",
"status_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴agendapro_update_booking(booking_id, start_time, end_time, service_id, provider_id, ...)
WRITE: change an existing booking (partial update: only the fields you pass change): move it, switch service/provider/location, change status, price or notes. The merchant's customer policy applies: a change too close to the start time, or past the maximum number of changes, is refused with HTTP 422 and must not be retried. PATCH /v3/bookings/{id}.
입력 스키마
{
"type": "object",
"properties": {
"booking_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro booking id."
},
"start_time": {
"description": "New start, ISO 8601 with a timezone offset.",
"type": "string"
},
"end_time": {
"description": "New end, ISO 8601 with a timezone offset.",
"type": "string"
},
"service_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"provider_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"location_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status_id": {
"description": "New booking status id (copy from another booking's status.id).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"price": {
"type": "string",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$"
},
"notes": {
"description": "New notes; null clears them.",
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
]
},
"time_resource_id": {
"description": "New time resource id; null removes the assigned resource.",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"booking_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴agendapro_cancel_booking(booking_id)
WRITE: cancel a booking. This cannot be undone through the API. The merchant's customer policy applies: a cancellation that is disabled, too close to the start time or past the maximum number of changes is refused with HTTP 422 (tell the user the merchant does not allow it; do not retry). Confirm with the user before calling. PATCH /v3/bookings/{id}/cancel.
입력 스키마
{
"type": "object",
"properties": {
"booking_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro booking id to cancel."
}
},
"required": [
"booking_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_clients(page, per_page)
List the business's clients (customers) page by page: name, email, phone, identification number, address, birth date, record number, active flag. Personal data: only use it for the task at hand. To find one person use agendapro_search_clients. GET /v3/clients.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_search_clients(q, limit)
Find clients by free text (name, email, phone, identification number or record number): a short ranked list with id, full name, email, phone. The fastest way to get a client_id. GET /v3/clients/quick-search.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "Search text, max 50 characters."
},
"limit": {
"description": "Max results, 1-25 (default 10).",
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"q"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_client(client_id)
One client by id with contact details, address, birth date, record number and active flag. GET /v3/clients/{id}.
입력 스키마
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro client id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_client_custom_attributes(client_id)
The custom attribute values stored for one client (id, name, datatype, value). GET /v3/clients/{id}/custom_attributes.
입력 스키마
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro client id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_custom_attributes
The custom client fields the business defined (id, name, datatype, mandatory, group, choices). Use the template ids when setting custom_attributes on a client. GET /v3/custom_attributes.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴agendapro_create_client(first_name, last_name, email, phone, identification_number, ...)
WRITE: create a new client. first_name is required and at least one of last_name, email or phone must also be given (AgendaPro's rule). Search first (agendapro_search_clients) to avoid duplicates; not idempotent. No message is sent to the client. POST /v3/clients.
입력 스키마
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "First name."
},
"last_name": {
"description": "Last name. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"email": {
"description": "Email (stored lowercase).",
"type": "string",
"maxLength": 255,
"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 in E.164 format, e.g. +56912345678.",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"identification_number": {
"description": "National identification number (RUT, DNI, CURP...). On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"address": {
"description": "Street address. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"district": {
"description": "District or neighborhood. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"city": {
"description": "City. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"region": {
"description": "Region or state. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"age": {
"description": "Age in years.",
"type": "integer",
"minimum": 1,
"maximum": 130
},
"gender": {
"description": "0 = other, 1 = female, 2 = male.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"birth_day": {
"description": "Day of birth, 1-31.",
"type": "integer",
"minimum": 1,
"maximum": 31
},
"birth_month": {
"description": "Month of birth, 1-12.",
"type": "integer",
"minimum": 1,
"maximum": 12
},
"birth_year": {
"description": "Year of birth.",
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"custom_attributes": {
"description": "Custom attribute values to set.",
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Custom attribute template id (agendapro_list_custom_attributes)."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"required": [
"id",
"value"
]
}
}
},
"required": [
"first_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴agendapro_update_client(client_id, first_name, last_name, email, phone, ...)
WRITE: change an existing client (partial update: only the fields you pass change; it overwrites the stored value). PATCH /v3/clients/{id}.
입력 스키마
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro client id."
},
"first_name": {
"description": "First name.",
"type": "string",
"minLength": 1,
"maxLength": 255
},
"last_name": {
"description": "Last name. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"email": {
"description": "Email (stored lowercase).",
"type": "string",
"maxLength": 255,
"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 in E.164 format, e.g. +56912345678.",
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
"identification_number": {
"description": "National identification number (RUT, DNI, CURP...). On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"address": {
"description": "Street address. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"district": {
"description": "District or neighborhood. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"city": {
"description": "City. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"region": {
"description": "Region or state. On update, an empty string clears the stored value.",
"type": "string",
"maxLength": 255
},
"age": {
"description": "Age in years.",
"type": "integer",
"minimum": 1,
"maximum": 130
},
"gender": {
"description": "0 = other, 1 = female, 2 = male.",
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
},
"birth_day": {
"description": "Day of birth, 1-31.",
"type": "integer",
"minimum": 1,
"maximum": 31
},
"birth_month": {
"description": "Month of birth, 1-12.",
"type": "integer",
"minimum": 1,
"maximum": 12
},
"birth_year": {
"description": "Year of birth.",
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"custom_attributes": {
"description": "Custom attribute values to set.",
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Custom attribute template id (agendapro_list_custom_attributes)."
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"required": [
"id",
"value"
]
}
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_sales(paid_at_start, paid_at_end, location_id, client_id, page, ...)
List sales (ventas): status (partially_paid, paid, canceled, refunded), paid and pending amounts, paid-at time, location, client id and the payment transactions. Filter by paid date range, location or client. GET /v3/sales.
입력 스키마
{
"type": "object",
"properties": {
"paid_at_start": {
"description": "Sales paid from this date (inclusive), yyyy-mm-dd.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"paid_at_end": {
"description": "Sales paid until this date (inclusive), yyyy-mm-dd.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"location_id": {
"description": "Sales at this location.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Sales to this client.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_sale(sale_id)
One sale by id with amounts, status, location and its payment transactions (amount, paid-at, payment method). GET /v3/sales/{id}.
입력 스키마
{
"type": "object",
"properties": {
"sale_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro sale id."
}
},
"required": [
"sale_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_list_products(active, search, product_category_id, product_brand_id, product_display_id, ...)
List retail products in the catalog: name, SKU, price, active flag, category, brand and display. GET /v3/products.
입력 스키마
{
"type": "object",
"properties": {
"active": {
"description": "Only active (true) or inactive (false) products.",
"type": "boolean"
},
"search": {
"description": "Free text over product name and SKU.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"product_category_id": {
"description": "Category id, or 'none' for products without a category.",
"type": "string",
"pattern": "^(\\d{1,18}|none)$"
},
"product_brand_id": {
"description": "Brand id, or 'none'.",
"type": "string",
"pattern": "^(\\d{1,18}|none)$"
},
"product_display_id": {
"description": "Display id, or 'none'.",
"type": "string",
"pattern": "^(\\d{1,18}|none)$"
},
"page": {
"description": "Page number, from 1 (default 1). Pass pagination.next_page from the previous reply.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"per_page": {
"description": "Results per page, 1-100 (default 30).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢agendapro_get_product(product_id)
One catalog product by id with description, SKU, price, category, brand and display. GET /v3/products/{id}.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "AgendaPro product id."
}
},
"required": [
"product_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거