Разработчикам Кабинет

Методы API ботов

Выберите метод, чтобы увидеть запрос, ответ и параметры.

Базовый адрес: https://15reg.ru/bot<REG15_BOT_TOKEN>/METHOD. Ответы содержат ok, result либо error_code, description, parameters. URL с токеном никогда не записывайте в журнал.

getMeПроверить токен и получить профиль бота

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/getMe', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "id": 50,
    "is_bot": true,
    "first_name": "Пример",
    "username": "example_bot",
    "can_join_groups": false,
    "can_read_all_group_messages": false,
    "supports_inline_queries": false
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Запрос только читает данные.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
getUpdatesПолучить и подтвердить события через long polling

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/getUpdates', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "offset": 1,
  "limit": 100,
  "timeout": 30,
  "allowed_updates": [
    "message",
    "callback_query"
  ]
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": [
    {
      "update_id": 1,
      "message": {
        "message_id": 1,
        "date": 1794484800,
        "from": {
          "id": 100002,
          "is_bot": false,
          "first_name": "Ӕхсар",
          "username": "example_user"
        },
        "chat": {
          "id": 100,
          "type": "private"
        },
        "text": "/start"
      }
    }
  ]
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Подтверждайте события только после обработки. При таймауте повторяйте запрос с прежним offset.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "timeout": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 45
    },
    "allowed_updates": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "message",
          "callback_query"
        ]
      }
    }
  },
  "required": [
    "offset",
    "limit",
    "timeout"
  ],
  "additionalProperties": false
}
setWebhookПереключить доставку на HTTPS webhook

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/setWebhook', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "url": "https://example.org/webhook",
  "secret_token": "EXAMPLE_WEBHOOK_SECRET_NOT_REAL"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri"
    },
    "secret_token": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,256}$"
    },
    "allowed_updates": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "message",
          "callback_query"
        ]
      }
    },
    "drop_pending_updates": {
      "type": "boolean",
      "const": false
    },
    "max_connections": {
      "type": "number",
      "const": 1
    }
  },
  "required": [
    "url",
    "secret_token"
  ],
  "additionalProperties": false
}
getWebhookInfoПоказать фактическое состояние webhook

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/getWebhookInfo', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "url": "",
    "has_custom_certificate": false,
    "pending_update_count": 0,
    "allowed_updates": [
      "message",
      "callback_query"
    ]
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Запрос только читает данные.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
deleteWebhookВернуться к polling с сохранением очереди

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/deleteWebhook', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "drop_pending_updates": {
      "type": "boolean",
      "const": false
    }
  },
  "additionalProperties": false
}
sendMessageОтправить сообщение в запущенный диалог с ботом

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/sendMessage', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "text": "Хӕрзбон, Ӕхсар!"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1794484800,
    "from": {
      "id": 100001,
      "is_bot": true,
      "first_name": "Пример",
      "username": "example_bot"
    },
    "chat": {
      "id": 100,
      "type": "private"
    },
    "text": "Хӕрзбон, Ӕхсар!"
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "entities": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "bold",
              "italic",
              "underline",
              "strikethrough",
              "code",
              "pre",
              "text_link"
            ]
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "length": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "type",
          "offset",
          "length"
        ],
        "additionalProperties": false
      }
    },
    "parse_mode": {
      "type": "string",
      "maxLength": 20
    },
    "reply_parameters": {
      "type": "object",
      "properties": {
        "message_id": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "message_id"
      ],
      "additionalProperties": false
    },
    "reply_markup": {
      "type": "object",
      "properties": {
        "inline_keyboard": {
          "default": [],
          "maxItems": 10,
          "type": "array",
          "items": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "callback_data": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "text"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "required": [
        "inline_keyboard"
      ],
      "additionalProperties": false
    },
    "disable_notification": {
      "type": "boolean",
      "const": false
    }
  },
  "required": [
    "chat_id",
    "text"
  ],
  "additionalProperties": false
}
editMessageTextИзменить текст собственного сообщения

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/editMessageText', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "message_id": 1,
  "text": "Хӕрзбон, Ӕхсар!"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1794484800,
    "from": {
      "id": 100001,
      "is_bot": true,
      "first_name": "Пример",
      "username": "example_bot"
    },
    "chat": {
      "id": 100,
      "type": "private"
    },
    "text": "Хӕрзбон, Ӕхсар!"
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096
    },
    "entities": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "bold",
              "italic",
              "underline",
              "strikethrough",
              "code",
              "pre",
              "text_link"
            ]
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "length": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "type",
          "offset",
          "length"
        ],
        "additionalProperties": false
      }
    },
    "parse_mode": {
      "type": "string",
      "maxLength": 20
    },
    "reply_markup": {
      "type": "object",
      "properties": {
        "inline_keyboard": {
          "default": [],
          "maxItems": 10,
          "type": "array",
          "items": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "callback_data": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "text"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "required": [
        "inline_keyboard"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "chat_id",
    "message_id",
    "text"
  ],
  "additionalProperties": false
}
editMessageReplyMarkupОбновить кнопки собственного сообщения

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/editMessageReplyMarkup', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "message_id": 1
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1794484800,
    "from": {
      "id": 100001,
      "is_bot": true,
      "first_name": "Пример",
      "username": "example_bot"
    },
    "chat": {
      "id": 100,
      "type": "private"
    },
    "text": "Хӕрзбон, Ӕхсар!"
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "reply_markup": {
      "type": "object",
      "properties": {
        "inline_keyboard": {
          "default": [],
          "maxItems": 10,
          "type": "array",
          "items": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "callback_data": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "text"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "required": [
        "inline_keyboard"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "chat_id",
    "message_id"
  ],
  "additionalProperties": false
}
deleteMessageУдалить собственное сообщение в доступном диалоге

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/deleteMessage', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "message_id": 1
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "message_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "chat_id",
    "message_id"
  ],
  "additionalProperties": false
}
sendPhotoОтправить фотографию после проверки файла

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/sendPhoto', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "photo": "APP_ID.MEDIA_ID"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1794484800,
    "from": {
      "id": 100001,
      "is_bot": true,
      "first_name": "Пример",
      "username": "example_bot"
    },
    "chat": {
      "id": 100,
      "type": "private"
    },
    "photo": [
      {
        "file_id": "APP_ID.MEDIA_ID",
        "file_unique_id": "MEDIA_ID",
        "width": 640,
        "height": 480
      }
    ]
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "photo": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "caption_entities": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "bold",
              "italic",
              "underline",
              "strikethrough",
              "code",
              "pre",
              "text_link"
            ]
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "length": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "type",
          "offset",
          "length"
        ],
        "additionalProperties": false
      }
    },
    "parse_mode": {
      "type": "string",
      "maxLength": 20
    },
    "reply_markup": {
      "type": "object",
      "properties": {
        "inline_keyboard": {
          "default": [],
          "maxItems": 10,
          "type": "array",
          "items": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "callback_data": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "text"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "required": [
        "inline_keyboard"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "chat_id",
    "photo"
  ],
  "additionalProperties": false
}
sendDocumentОтправить документ после проверки файла

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/sendDocument', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "document": "APP_ID.MEDIA_ID"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "message_id": 1,
    "date": 1794484800,
    "from": {
      "id": 100001,
      "is_bot": true,
      "first_name": "Пример",
      "username": "example_bot"
    },
    "chat": {
      "id": 100,
      "type": "private"
    },
    "document": {
      "file_id": "APP_ID.MEDIA_ID",
      "file_unique_id": "MEDIA_ID",
      "file_name": "document.pdf",
      "mime_type": "application/pdf"
    }
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "document": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "caption": {
      "type": "string",
      "maxLength": 1024
    },
    "caption_entities": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "bold",
              "italic",
              "underline",
              "strikethrough",
              "code",
              "pre",
              "text_link"
            ]
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "length": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "type",
          "offset",
          "length"
        ],
        "additionalProperties": false
      }
    },
    "parse_mode": {
      "type": "string",
      "maxLength": 20
    },
    "reply_markup": {
      "type": "object",
      "properties": {
        "inline_keyboard": {
          "default": [],
          "maxItems": 10,
          "type": "array",
          "items": {
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                },
                "callback_data": {
                  "type": "string",
                  "minLength": 1
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "text"
              ],
              "additionalProperties": false
            }
          }
        }
      },
      "required": [
        "inline_keyboard"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "chat_id",
    "document"
  ],
  "additionalProperties": false
}
getFileПолучить доступный данному боту файл

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/getFile', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "file_id": "APP_ID.MEDIA_ID"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": {
    "file_id": "APP_ID.MEDIA_ID",
    "file_unique_id": "MEDIA_ID",
    "file_size": 1234,
    "file_path": "MEDIA_ID"
  }
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Запрос только читает данные.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "file_id"
  ],
  "additionalProperties": false
}
sendChatActionПоказать состояние набора текста

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/sendChatAction', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "chat_id": 100,
  "action": "typing"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chat_id": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "string",
          "pattern": "^\\d{1,16}$"
        }
      ]
    },
    "action": {
      "type": "string",
      "const": "typing"
    }
  },
  "required": [
    "chat_id",
    "action"
  ],
  "additionalProperties": false
}
setMyCommandsЗадать меню команд

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/setMyCommands', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "commands": [
    {
      "command": "start",
      "description": "Начать"
    }
  ]
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "commands": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "pattern": "^[a-z0-9_]{1,32}$"
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "required": [
          "command",
          "description"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "commands"
  ],
  "additionalProperties": false
}
getMyCommandsПолучить меню команд

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/getMyCommands', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": [
    {
      "command": "start",
      "description": "Начать"
    }
  ]
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Запрос только читает данные.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
deleteMyCommandsОчистить меню команд

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/deleteMyCommands', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
answerCallbackQueryПодтвердить получение нажатия кнопки

Пример запроса

const response = await fetch(REG15_API_ROOT + '/bot' + process.env.REG15_BOT_TOKEN + '/answerCallbackQuery', {
  method: 'POST', headers: {'Content-Type':'application/json'},
  body: JSON.stringify({
  "callback_query_id": "92e2f450-a206-40b3-8ef8-898d6fdb28a0"
})
});
const result = await response.json();
if (!result.ok) throw new Error(result.description);
// Use result.result; do not log the request URL or token.

Ответ

{
  "ok": true,
  "result": true
}
Параметры, ограничения и ошибки

Действующий токен этого приложения; для диалогов — запущенная связь, членство и отсутствие блокировки. Чужие личные переписки недоступны.

400: неверные/неподдерживаемые параметры; 401: токен отозван; 403/404: объект недоступен; 409: конфликт; 429: квота, соблюдайте retry_after; 503: временная ошибка, результат операции может быть неоднозначным.

Если ответ потерян, операция могла выполниться. Проверьте результат перед повтором.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "callback_query_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "text": {
      "type": "string",
      "maxLength": 200
    },
    "show_alert": {
      "type": "boolean",
      "const": false
    },
    "cache_time": {
      "type": "number",
      "const": 0
    }
  },
  "required": [
    "callback_query_id"
  ],
  "additionalProperties": false
}