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

EditMessage#

Test Postman Apidog

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

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

Запрос#

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

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

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

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
idMessage string Да ID редактируемого оригинального сообщения
message string Да Текст сообщения. Максимальная длина текстового сообщения составляет 4000 символов. Поддерживаются символы emoji 😃. Требуется использовать кодировку UTF-8 без BOM

Примечание

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

  1. С помощью API возможно редактировать только исходящие сообщения.
  2. Редактирование сообщения возможно в течение 15 минут после его отправки.
  3. При изменении сообщений новое уведомление участникам чата не отправляется.
  4. Редактируется только текстовые сообщения.
  5. С помощью 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();