Для AI-агентов: markdown этой страницы — /docs/mcp-push.mdиндекс документации — /llms.txt
MCP: push
Обновлено
MCP: push
Это определения инструментов из текущего ToolRegistry, включая полные inputSchema/outputSchema, scope, required_scopes (ALL), risk и версию платформы. Наличие определения не означает, что инструмент уже установлен вашим хостом или разрешён вашим credential. Обновляйте tools/list после изменения бизнеса, readiness и прав. Progressive disclosure через load_domain/describe_tool и существующий meta-dispatch описаны в MCP-руководстве. Scopes и права применяются при вызове; risk не заменяет согласие и отдельные требования денежной операции. JSON ниже — схема, а не успешный результат вызова.
mark_form_submission_handled
Mark ONE submission as dealt with, by its own seq_num (the id you pass to get/mark, returned by pull_form_submissions — not the form's number or the public code). This is what the owner's operators see: the card in their Telegram topic turns from 🔵 to 🟢 and records that YOUR integration did it, by name. Answers outcome: handled — you marked it; already_handled — somebody (an operator, or an earlier call of yours) had already dealt with it and nothing changed; not_found — no such submission in this account. 🔴 Report already_handled as somebody else's work, never as yours. Safe to retry: a repeat call changes nothing.
{
"description": "Mark ONE submission as dealt with, by its own `seq_num` (the id you pass to get/mark, returned by `pull_form_submissions` — not the form's number or the public code). This is what the owner's operators see: the card in their Telegram topic turns from 🔵 to 🟢 and records that YOUR integration did it, by name. Answers `outcome`: `handled` — you marked it; `already_handled` — somebody (an operator, or an earlier call of yours) had already dealt with it and nothing changed; `not_found` — no such submission in this account. 🔴 Report `already_handled` as somebody else's work, never as yours. Safe to retry: a repeat call changes nothing.",
"domain": "push",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "mark_form_submission_handled",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"push:form_submissions"
],
"risk": "write",
"scope": "push:form_submissions",
"title": "Mark Form Submission Handled"
}send_notification
Enqueue a push notification (text + optional buttons + media) to a user.
{
"description": "Enqueue a push notification (text + optional buttons + media) to a user.",
"domain": "push",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"buttons": {
"description": "Value for buttons.",
"items": {
"description": "Value for buttons item.",
"items": {
"description": "Value for buttons item item.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for buttons item item option.",
"properties": {
"text": {
"description": "Value for text.",
"maxLength": 30,
"type": "string"
},
"type": {
"const": "url",
"description": "Value for type.",
"type": "string"
},
"url": {
"description": "Value for url.",
"format": "uri",
"type": "string"
}
},
"required": [
"text",
"type",
"url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for buttons item item option.",
"properties": {
"callback_data": {
"description": "Value for callback data.",
"maxLength": 64,
"type": "string"
},
"text": {
"description": "Value for text.",
"maxLength": 30,
"type": "string"
},
"type": {
"const": "callback",
"description": "Value for type.",
"type": "string"
}
},
"required": [
"text",
"type",
"callback_data"
],
"type": "object"
}
]
},
"maxItems": 3,
"type": "array"
},
"maxItems": 3,
"type": "array"
},
"idempotency_key": {
"description": "Value for idempotency key.",
"maxLength": 255,
"type": "string"
},
"media": {
"additionalProperties": false,
"description": "Value for media.",
"properties": {
"caption": {
"description": "Value for caption.",
"maxLength": 1024,
"type": "string"
},
"type": {
"description": "Value for type.",
"enum": [
"photo",
"document",
"video"
],
"type": "string"
},
"url": {
"description": "Value for url.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"parse_mode": {
"anyOf": [
{
"description": "Value for parse mode option.",
"enum": [
"HTML",
"Markdown"
],
"type": "string"
},
{
"description": "Value for parse mode option.",
"type": "null"
}
],
"description": "Value for parse mode."
},
"text": {
"description": "Value for text.",
"maxLength": 4096,
"type": "string"
},
"user_seq_id": {
"description": "Value for user seq id.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
}
},
"required": [
"user_seq_id",
"text"
],
"type": "object"
},
"name": "send_notification",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"push"
],
"risk": "write",
"scope": "push",
"title": "Send Notification"
}submit_form_submission
Submit answers to one of this business's forms by form_seq_num. The caller tenant is always taken from the API key; do not provide a client id. The form's declared submission schema is enforced before the lead is stored. Returns the new submission own seq_num and its separate public submission_code. This call creates a new submission every time and is not idempotent.
{
"description": "Submit answers to one of this business's forms by `form_seq_num`. The caller tenant is always taken from the API key; do not provide a client id. The form's declared submission schema is enforced before the lead is stored. Returns the new submission own `seq_num` and its separate public `submission_code`. This call creates a new submission every time and is not idempotent.",
"domain": "push",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"form_seq_num": {
"description": "Value for form seq num.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
},
"payload": {
"description": "Value for payload."
}
},
"required": [
"form_seq_num",
"payload"
],
"type": "object"
},
"name": "submit_form_submission",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"push:form_submissions"
],
"risk": "write",
"scope": "push:form_submissions",
"title": "Submit Form Submission"
}