EditMessage#
Метод предназначен для редактирования текстового сообщения в личном или групповом чате.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для редактирования сообщения требуется выполнить запрос по адресу:
POST
{{apiUrl}}/v3/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата |
idMessage | string | Да | ID редактируемого оригинального сообщения |
message | string | Да | Текст сообщения. Максимальная длина текстового сообщения составляет 4000 символов. Поддерживаются символы emoji 😃. Требуется использовать кодировку UTF-8 без BOM |
Примечание
При редактировании сообщения мессенджер MAX накладывает следующие ограничения:
- С помощью API возможно редактировать только исходящие сообщения.
- Редактирование сообщения возможно в течение 15 минут после его отправки.
- При изменении сообщений новое уведомление участникам чата не отправляется.
- Редактируется только текстовые сообщения.
- С помощью API возможно редактировать сообщения только по
idMessageоригинального сообщения.
Пример тела запроса#
Редактирование сообщения в личном чате:
{
"chatId": "10000000",
"message": "Я использую GREEN-API для отправки этого сообщения!",
"idMessage": "1763115112345"
}
Редактирование сообщения в групповом чате:
{
"chatId": "-10000000000000",
"message": "Я использую GREEN-API для отправки этого сообщения!",
"idMessage": "1763115112345"
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
idMessage | string | Идентификатор отредактированного сообщения |
Пример тела ответа#
{
"idMessage": "1763115112345"
}
Ошибки EditMessage#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 400 | Bad Request Validation failed | Ошибка валидации |
| 400 | Validation failed. Details: 'message' length must be less than or equal to 4000 characters long | Текст сообщения должен быть меньше или равен 4000 символам |
| 500 | request entity too large | Превышение допустимой длины json (>100кб) |
Примеры кода#
import requests
url = "{{apiUrl}}/v3/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 '/v3/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}}/v3/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}}/v3/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}")
.body("{\r\n\t\"chatId\": \"10000000\",\r\n\t\"message\": \"Я использую GREEN-API для отправки этого сообщения!\",\r\n \"idMessage\": \"1763115112345\"\r\n}")
.asString();