AISARAISAR
REST API

Контакты

Контакт — карточка человека или компании, с которой ведётся общение: телефоны, email, привязанные аккаунты каналов (contactAccounts — например конкретный WhatsApp-номер или Instagram-username), метки и статус (lead/active/inactive). Один контакт может иметь несколько привязанных аккаунтов и диалогов. API покрывает CRUD, поиск/резолв по идентификаторам, объединение дублей и управление подпиской на рассылки (opt-in/opt-out).

Эндпоинты

МетодПуть
GET/v1/contacts

Список контактов компании с пагинацией, поиском и фильтром по статусу.

GET/v1/contacts/lookup

Быстрый поиск контактов по телефону, external_id или username канала.

GET/v1/contacts/channel-options

Список типов каналов, доступных для привязки аккаунта к контакту.

POST/v1/contacts

Создать контакт (с телефонами, email и привязанными аккаунтами каналов).

POST/v1/contacts/resolve-identifiers

Разрешить пакет идентификаторов (телефон/username/external_id) в id существующих контактов.

PATCH/v1/contacts/{contact}

Обновить контакт (полностью пересохраняет связанные телефоны/email/аккаунты).

DELETE/v1/contacts/{contact}

Удалить контакт (мягкое удаление).

POST/v1/contacts/{contact}/merge

Объединить контакт с другим (все диалоги и аккаунты переносятся в целевой).

POST/v1/contacts/{contact}/tags

Синхронизировать метки контакта (полная замена набора).

POST/v1/contacts/{contact}/opt-out

Отписать контакт от рассылок.

POST/v1/contacts/{contact}/opt-in

Вернуть контакт в рассылки (снять opt-out).

GET/v1/contacts/{contact}/deals

Список сделок контакта (требует включённый функционал сделок).

Примеры

Создание контакта

Запрос

bash
curl -X POST "https://api.aisar.app/v1/contacts" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "John",
    "lastName": "Doe",
    "phones": [{ "phone": "+77001234567", "type": "mobile" }],
    "emailes": [{ "email": "john@example.com", "type": "work" }]
  }'

Ответ

json
{
  "data": {
    "id": 45,
    "company_id": 1,
    "firstName": "John",
    "lastName": "Doe",
    "displayName": "John Doe",
    "status": "lead",
    "phones": [{ "phone": "+77001234567", "type": "mobile" }],
    "emailes": [{ "email": "john@example.com", "type": "work" }],
    "contactAccounts": [],
    "merged_into_contact_id": null
  }
}

Поиск контакта по телефону

Запрос

bash
curl -X GET "https://api.aisar.app/v1/contacts/lookup?q=%2B77001234567" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Ответ

json
{
  "data": [
    {
      "id": 45,
      "displayName": "John Doe",
      "status": "lead",
      "phones": [{ "phone": "+77001234567", "type": "mobile" }]
    }
  ]
}