EditMessage#
Бета-версия
Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.
Метод предназначен для редактирования текстового сообщения в личном или групповом чате.
Запрос#
Для редактирования сообщения требуется выполнить запрос по адресу:
POST
{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
chatId | string | Да | Идентификатор чата |
idMessage | string | Да | ID редактируемого оригинального сообщения |
message | string | Да | Текст сообщения. Поддерживаются символы emoji 😃. Требуется использовать кодировку UTF-8 без BOM |
Максимальная длина текстового сообщения составляет 20000 символов
Пример тела запроса#
Редактирование сообщения в личном чате:
{
"chatId": "11001234567@c.us",
"idMessage": "BAE5367237E13A87",
"message": "I use Green-API to send this message to you!"
}
Редактирование сообщения в групповом чате:
{
"chatId": "120363043968066561@g.us",
"idMessage": "BAE5367237E13A87",
"message": "I use Green-API to send this message to you!"
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
idMessage | string | Идентификатор отредактированного сообщения |
Пример тела ответа#
{
"idMessage": "3EB0C767D097B7C7C030"
}
Ошибки EditMessage#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Код HTTP | Идентификатор ошибки | Описание |
---|---|---|
400 | Bad Request Validation failed | Ошибка валидации |
400 | Validation failed. Details: 'message' length must be less than or equal to 20000 characters long | Текст сообщения должен быть меньше или равен 20000 символам |
500 | request entity too large | Превышение допустимой длины json (>100кб) |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}"
payload = {
"chatId": "79123456789@c.us",
"idMessage": "BAE5367237E13A87",
"message": "I use Green-API to send this message to you!"
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '/waInstance%7B%7BidInstance%7D%7D/editMessage/%7B%7BapiTokenInstance%7D%7D',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"chatId": "79123456789@c.us",
"idMessage": "BAE5367237E13A87",
"message": "I use Green-API to send this message to you!"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
curl --location -g --request POST '/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "79123456789@c.us",
"idMessage": "BAE5367237E13A87",
"message": "I use Green-API to send this message to you!"
}'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("/waInstance{{idInstance}}/editMessage/{{apiTokenInstance}}")
.header("Content-Type", "application/json")
.body("{\r\n \"chatId\": \"79123456789@c.us\",\r\n \"idMessage\": \"BAE5367237E13A87\",\r\n \"message\": \"I use Green-API to send this message to you!\"\r\n}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "/waInstance%7B%7BidInstance%7D%7D/editMessage/%7B%7BapiTokenInstance%7D%7D"
method := "POST"
payload := strings.NewReader(`{`+"
"+`
"chatId": "79123456789@c.us",`+"
"+`
"idMessage": "BAE5367237E13A87",`+"
"+`
"message": "I use Green-API to send this message to you!"`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}