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

EditMessage#

Бета-версия

Функциональность находится в стадии бета-тестирования. Функции могут быть изменены, а также могут работать нестабильно.

Postman Apidog

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

Запрос#

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

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))
}