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

SendContact#

Test Postman Apidog

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

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

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

Запрос#

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

POST
{{apiUrl}}/v3/waInstance{{idInstance}}/sendContact/{{apiTokenInstance}}

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

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

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата
contact object Да Объект контакта
typingTime integer Нет Время показа уведомления набора сообщения в чате собеседника.
Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд).

Параметры объекта contact:

Параметр Тип Обязательный Описание
chatId string Да Идентификатор чата

Примечание

Для корректной отправки контакта через API мессенджера MAX необходимо наличие контакта в базе контактов инстаса. Получить их можно с помощью метода GetContats.

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

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

{
    "chatId": "10000000",
    "contact": {
        "chatId": "10000000"
    }
}

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

{
    "chatId": "-10000000000000",
    "contact": {
        "chatId": "10000000"
    }
}

Ответ#

Поля ответа#

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

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

{
    "idMessage": "1762333029830"
}

Ошибки SendContact#

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

Код HTTP Идентификатор ошибки Описание
400 Bad Request
Validation failed
Ошибка валидации
400 "Contact 20000001 not found" Контакт не найден
500 Internal Server Error
request entity too large
Превышение допустимой длины json (>100кб)

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

import requests

url = "{{apiUrl}}/v3/waInstance{{idInstance}}/sendContact/{{apiTokenInstance}}"

payload = {
    "chatId": "10000000",  
    "contact": {
        "chatId": "10000000"
    }
}

headers = {
    'Content-Type': 'application/json'
}

response = requests.post(url, json=payload, headers=headers)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/v3/waInstance{{idInstance}}/sendContact/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "contact": {
        "chatId": "10000000"
    }
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/v3/waInstance").append({{idInstance}})
    .append("/sendContact/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\r\n\t\"chatId\": \"10000000\",\r\n\t\"contact\": {\r\n\t\t\"chatId\": 10000000,\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("/v3/waInstance").append({{idInstance}})
    .append("/sendContact/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\r\n\t\"chatId\": \"10000000\",\r\n\t\"contact\": {\r\n\t\t\"chatId\": 10000000,\r\n")
    .asString();

System.out.println(response);