Перейти к основному содержимому

Коммуникации с кандидатом

Получение отклика кандидата с чатами коммуникаций

Чтобы получить отклик кандидата на вакансию с чатами коммуникаций, выполните запрос:

query ResponseWithCommunications {
response(personId: 1, vacancyId: 1) {
... on ResponseItem {
updatedAt
workflowStatus {
... on WorkflowStatusItem {
id
name
}
}
person {
id
firstName
lastName
communications {
item(type: AVITO_CHAT) {
... on AvitoChat {
count
hasUnread
pageInfo {
hasNextPage
endCursor
}
items {
__typename
id
createdAt
text
... on ThirdPartyChatMessageItem {
authorType
authorName
}
... on ManagerChatMessageItem {
manager {
id
firstName
lastName
}
}
}
}
... on PersonCommunicationError {
errorType
message
}
}
}
}
}
... on ResponseError {
errorType
message
}
}
}

Посмотреть в playground

примечание

В примере запроса получение чата осуществляется через person.communications.item(type: AVITO_CHAT), где AVITO_CHAT — канал коммуникаций. Доступные каналы перечислены в списке каналов коммуникаций.

подсказка

В запросе необходимо указать personId и vacancyId:

подсказка

Сообщения в чате возвращаются постранично. Для навигации по страницам используются параметры after и first у поля item, а в ответе — объект pageInfo с полями hasNextPage и endCursor.

Пагинация — подробное описание работы пагинации.

Результат запроса

{
"data": {
"response": {
"updatedAt": "2026-04-18T10:12:08.000Z",
"workflowStatus": {
"id": 123,
"name": "Разбор откликов"
},
"person": {
"id": 8057081,
"firstName": "Иван",
"lastName": "Иванов",
"communications": {
"item": {
"count": 2,
"hasUnread": true,
"pageInfo": {
"hasNextPage": false,
"endCursor": "2"
},
"items": [
{
"__typename": "ThirdPartyChatMessageItem",
"id": 2,
"createdAt": "2026-04-18T10:10:00.000Z",
"text": "Здравствуйте, подскажите формат работы",
"authorType": "PERSON",
"authorName": "Иван Иванов"
},
{
"__typename": "ManagerChatMessageItem",
"id": 3,
"createdAt": "2026-04-18T10:11:05.000Z",
"text": "Добрый день! Работаем в гибридном формате",
"manager": {
"id": 42,
"firstName": "Мария",
"lastName": "Петрова"
}
}
]
}
}
}
}
}
}

Отправка сообщения кандидату в чат коммуникаций

Отправить сообщение кандидату можно с помощью мутации sendMessageToPerson.

mutation SendMessageToPerson {
sendMessageToPerson(
personId: 8057081
channel: AVITO_CHAT
vacancyId: 12345
message: {text: "Добрый день! Уточним детали по вакансии"}
) {
__typename
... on PersonCommunicationSentSuccess {
messageId
}
... on PersonCommunicationSendError {
errorType
message
}
}
}

Посмотреть в playground

подсказка

Значения personId и vacancyId можно получить в списке кандидатов и списке вакансий. Доступные каналы перечислены в списке каналов коммуникаций.

Успешная отправка

В случае успешной отправки сообщения запрос вернет ответ с идентификатором сообщения.

{
"data": {
"sendMessageToPerson": {
"__typename": "PersonCommunicationSentSuccess",
"messageId": 9876543210
}
}
}

Ошибка отправки

В случае ошибки в ответе запроса вернется ответ c типом ошибки.

{
"data": {
"sendMessageToPerson": {
"__typename": "PersonCommunicationSendError",
"errorType": "VACANCY_ID_REQUIRED",
"message": null
}
}
}
примечание

Типы ошибок перечислены в PersonCommunicationSendErrorType.