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

SendTextStatus#

Test Postman

Бета-версия

Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно. В будущем за функционал может взиматься дополнительная плата.
Подключение к функционалу можно запросить через техподдержку Green API

Метод предназначен для отправки текстового статуса. Статус будет добавлен в очередь на отправку. Статус на отправку хранится 24 часа в очереди и будет отправлен сразу же после авторизации телефона. Скорость отправки статусов из очереди регулирует параметр Интервал отправки сообщений.

Важно

Чтобы получатель увидел статусы отправителя, обе стороны должны сохранить номера собеседников в список контактов

Список контактов подтягивается методом GetContacts по значению поля contactName. Чтобы получить актуальный список контактов, требуется переименовать контакт и заново авторизоваться, пересканировав QR код.

Статусы отправляются только первым 1024 контактам из метода GetContacts с корректным полем contactName.

Запрос#

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

POST
{{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);