SendTextStatus#
Бета-версия
Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно. В будущем за функционал может взиматься дополнительная плата.
Подключение к функционалу можно запросить через техподдержку Green API
Метод предназначен для отправки текстового статуса. Статус будет добавлен в очередь на отправку. Статус на отправку хранится 24 часа в очереди и будет отправлен сразу же после авторизации телефона. Скорость отправки статусов из очереди регулирует параметр Интервал отправки сообщений.
Важно
Чтобы получатель увидел статусы отправителя, обе стороны должны сохранить номера собеседников в список контактов
Список контактов подтягивается методом GetContacts по значению поля
contactName
. Чтобы получить актуальный список контактов, требуется переименовать контакт и заново авторизоваться, пересканировав QR код.Статусы отправляются только первым 1024 контактам из метода GetContacts с корректным полем
contactName
.
Запрос#
Для отправки текстового статуса требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/sendTextStatus/{{apiTokenInstance}}
Для получения параметров запроса apiUrl
, idInstance
и apiTokenInstance
обратитесь к разделу Перед началом работы.
Параметры запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
message | string | Да | Текст сообщения. Поддерживаются символы emoji 😃. Требуется использовать кодировку UTF-8 без BOM |
backgroundColor | string | Нет | Цвет фона сообщения. Значение по умолчанию: #FFFFFF . Пример сайта для получения значения цвета фона. Важно! Цвет фона необходимо поменять на любой, кроме белого. Текст статуса публикуется белыми символами. |
font | string | Нет | Шрифт сообщения. Принимает значения: |
SERIF - Так будет выглядеть ваш текст | |||
SANS_SERIF - Так будет выглядеть ваш текст | |||
NORICAN_REGULAR - Here is how your text will look | |||
BRYNDAN_WRITE - Так будет выглядеть ваш текст | |||
OSWALD_HEAVY - Так будет выглядеть ваш текст | |||
participants | array<string> | Нет | Массив строк с идентификаторами контактов, которым будет доступен статус. Если значение поля пустое,"participants": [] , статус будет доступен всем контактам |
Максимальная длина текстового сообщения, поля
message
, составляет 500 символовВ случаe добавления несуществующих номеров в поле
participants
статус не будет отправлен на эти номера
Пример тела запроса#
Отправка текстового статуса:
{
"message": "I use Green-API to send this Status!",
"backgroundColor": "#228B22", // (#FFFFFF) фон белого цвета использовать не рекомендуется
"font": "SERIF",
"participants": ["70000001234@c.us", "440000001234@c.us"] // статус будет доступен только указанным контактам
}
Ответ#
Поля ответа#
Поле | Тип | Описание |
---|---|---|
idMessage | string | Идентификатор отправленного сообщения |
Пример тела ответа#
{
"idMessage": "3EB0C767D097B7C7C030"
}
Ошибки SendTextStatus#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки.
Код HTTP | Идентификатор ошибки | Описание |
---|---|---|
403 | Forbidden | Доступ к функционалу бета-версии методов статусов отсутствует. Подключение к функционалу можно запросить через техподдержку Green API |
Примеры кода#
import requests
import json
url = "{{apiUrl}}/waInstance{{idInstance}}/sendTextStatus/{{apiTokenInstance}}"
payload = json.dumps({
"message": "I use Green-API to send this Status!",
"backgroundColor": "#228B22",
"font": "SERIF",
"participants": [
"70000001234@c.us",
"440000001234@c.us"
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
<?php
//The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
$url = '{{apiUrl}}/waInstance{{idInstance}}/sendTextStatus/{{apiTokenInstance}}';
//chatId is the number to send the message to (@c.us for private chats, @g.us for group chats)
$data = array(
"message": "I use Green-API to send this Status!",
"backgroundColor": "#228B22",
"font": "SERIF",
"participants": ["70000001234@c.us", "440000001234@c.us"]
);
$options = array(
'http' => array(
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;
?>
curl --location '{{apiUrl}}/waInstance{{idInstance}}/sendTextStatus/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"message": "I use Green-API to send this Status!",
"backgroundColor": "#228B22",
"font": "SERIF",
"participants": ["70000001234@c.us", "440000001234@c.us"]
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/sendTextStatus/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\r\n\t \"message\": \"I use Green-API to send this Status!\",\r\n\t \"backgroundColor\": \"#228B22\",\r\n\t \"font\": \"SERIF\",\r\n\t \"participants\": [\"70000001234@c.us\", \"440000001234@c.us\"]\r\n}";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/sendTextStatus/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\r\n\t \"message\": \"I use Green-API to send this Status!\",\r\n\t \"backgroundColor\": \"#228B22\",\r\n\t \"font\": \"SERIF\",\r\n\t \"participants\": [\"70000001234@c.us\", \"440000001234@c.us\"]\r\n}")
.asString();
System.out.println(response);