Коммуникации с кандидатом
Получение отклика кандидата с чатами коммуникаций
Чтобы получить отклик кандидата на вакансию с чатами коммуникаций, выполните запрос:
- graphql
- cURL
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
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"query ResponseWithCommunications {\\n response(personId: 1, vacancyId: 1) {\\n ... on ResponseItem {\\n updatedAt\\n workflowStatus {\\n ... on WorkflowStatusItem {\\n id\\n name\\n }\\n }\\n person {\\n id\\n firstName\\n lastName\\n communications {\\n item(type: AVITO_CHAT) {\\n ... on AvitoChat {\\n count\\n hasUnread\\n pageInfo {\\n hasNextPage\\n endCursor\\n }\\n items {\\n __typename\\n id\\n createdAt\\n text\\n ... on ThirdPartyChatMessageItem {\\n authorType\\n authorName\\n }\\n ... on ManagerChatMessageItem {\\n manager {\\n id\\n firstName\\n lastName\\n }\\n }\\n }\\n }\\n ... on PersonCommunicationError {\\n errorType\\n message\\n }\\n }\\n }\\n }\\n }\\n ... on ResponseError {\\n errorType\\n message\\n }\\n }\\n}\"}"
В примере запроса получение чата осуществляется через person.communications.item(type: AVITO_CHAT),
где AVITO_CHAT — канал коммуникаций.
Доступные каналы перечислены в списке каналов коммуникаций.
В запросе необходимо указать personId и vacancyId:
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.
- graphql
- cURL
mutation SendMessageToPerson {
sendMessageToPerson(
personId: 8057081
channel: AVITO_CHAT
vacancyId: 12345
message: {text: "Добрый день! Уточним детали по вакансии"}
) {
__typename
... on PersonCommunicationSentSuccess {
messageId
}
... on PersonCommunicationSendError {
errorType
message
}
}
}
curl https://api.talantix.ru/graphql \
-X POST \
-H "Content-Type: application/json" \
-H "User-Agent: api-doc-agent" \
-H "Authorization: Bearer <your access token>" \
-d "{\"query\":\"mutation SendMessageToPerson {\\n sendMessageToPerson(\\n personId: 8057081\\n channel: AVITO_CHAT\\n vacancyId: 12345\\n message: {text: \\\"Добрый день! Уточним детали по вакансии\\\"}\\n ) {\\n __typename\\n ... on PersonCommunicationSentSuccess {\\n messageId\\n }\\n ... on PersonCommunicationSendError {\\n errorType\\n message\\n }\\n }\\n}\"}"
Значения personId и vacancyId можно получить в списке кандидатов и списке вакансий.
Доступные каналы перечислены в списке каналов коммуникаций.
Успешная отправка
В случае успешной отправки сообщения запрос вернет ответ с идентификатором сообщения.
{
"data": {
"sendMessageToPerson": {
"__typename": "PersonCommunicationSentSuccess",
"messageId": 9876543210
}
}
}
Ошибка отправки
В случае ошибки в ответе запроса вернется ответ c типом ошибки.
{
"data": {
"sendMessageToPerson": {
"__typename": "PersonCommunicationSendError",
"errorType": "VACANCY_ID_REQUIRED",
"message": null
}
}
}
Типы ошибок перечислены в PersonCommunicationSendErrorType.