REST API
Сегменты
Сегменты контактов — переиспользуемые определения аудитории на основе условий (теги, канал, статус, поля, активность) или статичного списка участников. Используются при создании рассылок и как триггер в автоматизациях. Размер аудитории можно оценить без сохранения сегмента через `/segments/estimate`.
Эндпоинты
| Метод | Путь | Описание |
|---|---|---|
| GET | /v1/segmentsСписок сегментов (пагинация, поиск) | Список сегментов (пагинация, поиск) |
| POST | /v1/segmentsСоздание сегмента | Создание сегмента |
| PATCH | /v1/segments/{segment}Обновление сегмента | Обновление сегмента |
| DELETE | /v1/segments/{segment}Удаление сегмента | Удаление сегмента |
| POST | /v1/segments/estimateОценка размера аудитории по условиям (без сохранения) | Оценка размера аудитории по условиям (без сохранения) |
Примеры
Создание динамического сегмента
Запрос
bash
curl -X POST https://api.aisar.app/v1/segments \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "New leads",
"description": "Contacts with recent inbound activity",
"conditions": [
{ "type": "tag", "operator": "has_any", "value": [1, 2], "group": 0 },
{ "type": "channel", "operator": "in", "value": [7], "group": 0 }
],
"group_logic": "and"
}'Ответ
json
{
"data": {
"id": "45",
"name": "New leads",
"slug": "new-leads",
"type": "dynamic",
"description": "Contacts with recent inbound activity",
"conditions": [
{ "group": 0, "type": "tag", "operator": "has_any", "value": [1, 2], "field_name": null },
{ "group": 0, "type": "channel", "operator": "in", "value": [7], "field_name": null }
],
"conditions_summary": "Tag in (Lead, Hot) AND channel is WhatsApp",
"estimated_count": 120,
"contacts_count": null,
"members": null,
"created_at": "2026-03-15T10:00:00.000000Z",
"updated_at": "2026-03-15T10:00:00.000000Z"
}
}Оценка аудитории без сохранения
Запрос
bash
curl -X POST https://api.aisar.app/v1/segments/estimate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"conditions": [
{ "type": "tag", "operator": "has_any", "value": [1, 2], "group": 0 }
]
}'Ответ
json
{
"data": {
"estimated_count": 120
}
}