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

SendLocation#

Test Postman Apidog

Метод предназначен для отправки сообщения геолокации. Сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 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);