Contacts
Получить контакт
Обычный отсутствующий контакт возвращает 404 contact_not_found. Если не существует целевая беседа, возвращается 422 contact_not_found, numeric_code 35000 и сообщение Conversation not found.
https://api.unifyport.ai/v1/accounts/{account_id}/contacts/infoПоддерживаемые каналы
Перед вызовом
Используйте X-Api-Key нужного рабочего пространства на сервере. Перед запуском замените все заполнители.
Откуда взять параметры
- account_id
- Возьмите data.id из создания или запроса аккаунта. Идентификатор относится к рабочему пространству X-Api-Key. Получить аккаунт
- contact_id
- Идентификатор контакта у провайдера; передавайте как непрозрачную строку. whatsapp и whatsapp-protocol используют LID (xxx@lid). whatsapp-protocol может вернуть успех даже при отсутствии полей профиля контакта; ориентируйтесь на фактически возвращённые поля.
WhatsApp Protocol: Для сведений о контакте нужен существующий LID (xxx@lid). Используйте data.sender.id или data.conversation.id только с окончанием @lid. Protocol не предоставляет список контактов, а этот API не вычисляет LID по номеру телефона. Без LID выполнить запрос нельзя. Успешный ответ может не содержать часть профиля.
Параметры запроса
Заголовки
X-Api-KeyAPI-ключ рабочей области. Рабочая область определяется по этому заголовку.
Параметры пути
account_idИдентификатор для маршрута раздела contacts.
Параметры запроса
contact_idИдентификатор контакта у провайдера; передавайте как непрозрачную строку. whatsapp и whatsapp-protocol используют LID (xxx@lid). whatsapp-protocol может вернуть успех даже при отсутствии полей профиля контакта; ориентируйтесь на фактически возвращённые поля.
Тело запроса
Этот эндпоинт не требует JSON-тела запроса.
Как понять результат
Используйте только возвращённые поля профиля. Идентификаторы непрозрачны; отсутствие поля не означает отсутствие контакта.
Ответ 200 OK
{
"request_id": "<REQUEST_ID>",
"data": {
"id": "user_example",
"conversation_id": "peer_example",
"display_name": "Alice",
"avatar_url": "",
"provider_user_id": "user_example",
"extra": {
"phone": "8600000000000"
}
}
}
Тело ответа
idИдентификатор контакта.
conversation_idИдентификатор беседы для этого контакта; используйте его для отправки сообщений или поиска чата.
display_nameОтображаемое имя контакта или пустая строка, если оно отсутствует.
avatar_urlURL аватара контакта или пустая строка, если он отсутствует.
provider_user_idИдентификатор пользователя на стороне провайдера для контакта.
is_blockedЗаблокирован ли контакт подключённым аккаунтом.
extraobjectДополнительные поля, специфичные для провайдера, например phone.
extraДополнительные поля, специфичные для провайдера, например phone.
phoneНомер телефона, извлечённый из телефонного JID WhatsApp.
first_nameКраткое имя контакта или его личное имя, сохранённое в адресной книге текущего аккаунта.
full_nameПолное имя контакта, сохранённое в адресной книге текущего аккаунта.
push_nameИмя профиля, которое контакт самостоятельно указал в WhatsApp.
business_nameНазвание компании или подтверждённое имя аккаунта WhatsApp Business.
redacted_phoneЗамаскированный номер телефона, если провайдер возвращает только часть номера.
Ответы
200200 OK
Запрос выполнен. См. пример тела ответа.
400Bad Request
Тело запроса, путь или параметры некорректны.
401Unauthorized
Заголовок X-Api-Key отсутствует или недействителен.
404Not Found
Запрошенный ресурс не найден. Сверьте error.code с текущей операцией.
409Conflict
Запрошенная операция конфликтует с существующим аккаунтом провайдера или ресурсом.
422Unprocessable Entity
Запрос корректен, но целевую беседу провайдера разрешить не удалось.
500Internal Server Error
Сервис столкнулся с неожиданной ошибкой.
501Not Implemented
Выбранный провайдер не реализует эту операцию.
502Bad Gateway
Адаптер или вышестоящий провайдер не смог завершить операцию.
При ошибке запроса
Проверьте HTTP и error.code/numeric_code, сохраните request_id. Исправьте параметры, завершите авторизацию или проверьте runtime. До повторной отправки или записи выясните результат предыдущей попытки. Справочник ошибок
- invalid_request · 10000 · 400
- Проверьте обязательные поля, форматы и условия канала, затем исправьте запрос.
- missing_api_key · 11000 · 401
- Проверьте X-Api-Key и активность рабочего пространства.
- invalid_api_key · 11001 · 401
- Проверьте X-Api-Key и активность рабочего пространства.