EditMessage#
Метод предназначен для редактирования текстового сообщения.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для редактирования сообщения требуется выполнить запрос по адресу:
POST
{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата |
idMessage | string | Да | ID оригинального сообщения |
message | string | Да | Текст сообщения. Новый текст (до 4069 символов) |
Ограничения
При редактировании сообщения мессенджер Telegram накладывает следующие ограничения:
- Редактируются только исходящие текстовые сообщения.
- Срок редактирования обычно ограничен 48 часами после отправки.
- При редактировании у получателя не срабатывает новое уведомление.
Пример тела запроса#
Редактирование сообщения в личном чате:
{
"chatId": "10000000",
"idMessage": "1763115112345",
"message": "Я использую GREEN-API для отправки этого сообщения!"
}
Редактирование сообщения в групповом чате:
{
"chatId": "-10000000000000",
"idMessage": "1763115112345",
"message": "Я использую GREEN-API для отправки этого сообщения!"
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
idMessage | string | Идентификатор отредактированного сообщения |
Пример тела ответа#
{
"idMessage": "1763115112345"
}
Ошибки#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 400 | Bad Request Validation failed | Ошибка валидации |
| 400 | Message editing time expired | Истекло время, доступное для редактирования |
| 500 | This message type cannot be edited | Попытка редактирования входящего или нетекстового сообщения |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}"
payload = {
"chatId": "10000000",
"message": "Я использую GREEN-API для отправки этого сообщения!",
"idMessage": "1763115112345"
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location -g --request POST '/v4/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "10000000",
"message": "Я использую GREEN-API для отправки этого сообщения!",
"idMessage": "1763115112345"
}'
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}"
method := "POST"
payload := strings.NewReader(`{`+"
"+`
"chatId": "10000000",`+"
"+`
"message": "Я использую GREEN-API для отправки этого сообщения!",`+"
"+`
"idMessage": "1763115112345"`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}")
.body("{\r\n\t\"chatId\": \"10000000\",\r\n\t\"message\": \"Я использую GREEN-API для отправки этого сообщения!\",\r\n \"idMessage\": \"1763115112345\"\r\n}")
.asString();