Для разработчиков
Contacts
Контакт — это конечный пользователь, обратившийся в поддержку. Один контакт идентифицируется по email или telegram_id — хотя бы одно из этих полей обязательно. Дополнительные ID из вашей системы (CRM ID, external_user_id, etc.) храните в extra_data — backend индексирует JSONB и оператор увидит их в карточке контакта.
GET
/api/v1/contactsСписок контактов
Query параметры:
search— поиск по имени/email/usernamepage,page_size(default 50, max 100)
GET
/api/v1/contacts/{contact_id}Получить контакт по ID
Возвращает полный профиль контакта со всеми идентификаторами и extra_data.
POST
/api/v1/contactsСоздать или обновить контакт (upsert)
Если контакт с таким email или telegram_id уже существует — данные будут обновлены. Обязательно укажите хотя бы одно из этих полей; остальные опциональны.
body
{
"email": "ivan@example.com",
"telegram_id": 123456789,
"full_name": "Иван Петров",
"username": "ivanp",
"extra_data": { "plan": "pro", "country": "RU", "crm_id": "user-42" }
}Была ли страница полезной?