SendLocation#
Метод предназначен для отправки сообщения геолокации. Сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для отправки сообщения геолокации требуется выполнить запрос по адресу:
POST
{{apiUrl}}/v3/waInstance{{idInstance}}/sendLocation/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата |
latitude | double | Да | Широта локации |
longitude | double | Да | Долгота локации |
typingTime | integer | Нет | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
Пример тела запроса#
Отправка сообщения в личный чат:
{
"chatId": "10000000",
"latitude": 51.1035035,
"longitude": 71.3996933
}
Отправка сообщения в групповой чат:
{
"chatId": "-10000000000000",
"latitude": 51.1035035,
"longitude": 71.3996933
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
idMessage | string | Идентификатор отправленного сообщения |
Пример тела ответа#
{
"idMessage": "1762333029830"
}
Ошибки SendLocation#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 400 | Bad Request Validation failed | Ошибка валидации |
| 400 | Validation failed. Details: 'latitude' must be a number or string | Неверный тип данных поля latitude |
| 400 | Validation failed. Details: 'latitude' must be a safe number | Значение поля latitude превышает максимальное безопасное целочисленное значение |
| 500 | Internal Server Error request entity too large | Превышение допустимой длины json (>100кб) |
Примеры кода#
import requests
url = "{{apiUrl}}/v3/waInstance{{idInstance}}/sendLocation/{{apiTokenInstance}}"
payload = {
"chatId": "10000000",
"latitude": 44.9370129,
"longitude": 89.8728409
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/sendLocation/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "10000000",
"latitude": 44.9370129,
"longitude": 89.8728409
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/v3/waInstance").append({{idInstance}})
.append("/sendLocation/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\r\n \"chatId\": \"10000000\",\r\n \"latitude\": 44.9370129,\r\n \"longitude\": 89.8728409\r\n}\r\n";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);