Перейти к содержанию

EditMessage#

Test Postman

Метод предназначен для редактирования текстового сообщения.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

Для редактирования сообщения требуется выполнить запрос по адресу:

POST
{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
idMessage string Да ID оригинального сообщения
message string Да Текст сообщения. Новый текст (до 4069 символов)

Ограничения

При редактировании сообщения мессенджер Telegram накладывает следующие ограничения:

  1. Редактируются только исходящие текстовые сообщения.
  2. Срок редактирования обычно ограничен 48 часами после отправки.
  3. При редактировании у получателя не срабатывает новое уведомление.

Пример тела запроса#

Редактирование сообщения в личном чате:

{
    "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();