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

SendLocation#

Test Postman

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

Сообщение добавляется в очередь на отправку.
Скорость отправки сообщений из очереди устанавливает интервал отправки сообщений.

Для метода используются ограничения на частоту запросов в секунду.

Запрос#

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

POST
{{apiUrl}}/waInstance{{idInstance}}/sendLocation/{{apiTokenInstance}}

Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.

Параметры запроса#

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
latitude double Да Широта локации
longitude double Да Долгота локации
quotedMessageId string Нет Идентификатор цитируемого сообщения
typingTime integer Нет Время показа уведомления набора сообщения в чате собеседника.
Принимает значение в диапазоне от 1000 до 20000 миллисекунд (от 1 до 20 секунд)
typingType string Нет Тип набора сообщения. Возможные значения:
text - "печатает..." (по умолчанию)
record_voice_note - "записывает голосовое..."
upload_voice_note - "отправляет голосовое..."
record_video_note - "записывает видео-сообщение..".
upload_video_note - "отправляет видео-сообщение..."
record_video - "записывает видео..."
upload_video - "отправляет видео..."
upload_photo - "отправляет фото..."
upload_document - "отправляет файл..."
choose_sticker - "выбирает стикер..."
choose_location - "выбирает локацию..."
choose_contact - "выбирает контакт..."

Пример тела запроса#

Отправка сообщения в личный чат#

{
    "chatId": "10000000",
    "latitude": 40.4121,
    "longitude": 74.0240
}

Отправка сообщения в групповой чат#

{
    "chatId": "-10000000000000",
    "latitude": 51.1035035,
    "longitude": 71.3996933
}

Отправка сообщения с цитированием#

{
    "chatId": "10000000",
    "latitude": 40.4121,
    "longitude": 74.0240,
    "quotedMessageId": "1769676078000"
}

Ответ#

Поля ответа#

Поле Тип Описание
idMessage string Идентификатор отправленного сообщения

Пример тела ответа#

{
    "idMessage": "1769676078000"
}

Ошибки#

Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки

Код 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 превышает максимальное безопасное целочисленное значение

Примеры кода#

import requests

url = "{{apiUrl}}/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}}/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("/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);