Stronicowanie i wyszukiwanie
Przeglądanie rozmów strona po stronie, filtrowanie po dacie i wyszukiwanie pełnotekstowe.
Stronicowanie
Endpointy zwracające listy przyjmują page (numeracja od 1, domyślnie 1) oraz pageSize (domyślnie 25):
curl "$BASE/v1/projects/$PROJECT_ID/calls?page=2&pageSize=50" \
-H "X-API-Key: $AFTERTALK_KEY"Każda stronicowana odpowiedź ma tę samą strukturę:
{
"data": [{ "id": "..." }],
"total": 137,
"page": 2,
"pageSize": 50,
"totalPages": 3
}Pobieraj kolejne strony, dopóki page nie osiągnie totalPages:
async function* allCalls(projectId) {
let page = 1;
let totalPages = 1;
do {
const url = `${BASE}/v1/projects/${projectId}/calls?page=${page}&pageSize=100`;
const result = await fetch(url, { headers }).then((r) => r.json());
totalPages = result.totalPages;
yield* result.data;
page += 1;
} while (page <= totalPages);
}Filtrowanie po dacie
from i to przyjmują znaczniki czasu w formacie ISO-8601 i filtrują po czasie utworzenia. Pomiń jeden
z parametrów, aby uzyskać zakres otwarty z jednej strony; pomiń oba, a filtr daty nie zostanie zastosowany.
curl "$BASE/v1/projects/$PROJECT_ID/calls?from=2026-07-01T00:00:00Z&to=2026-08-01T00:00:00Z" \
-H "X-API-Key: $AFTERTALK_KEY"Przy synchronizacji przyrostowej zapisuj znacznik czasu ostatniego uruchomienia i przekazuj go jako from.
Wyszukiwanie pełnotekstowe
GET /calls/search przeszukuje treść transkrypcji, sortuje wyniki według trafności i wyróżnia
pasujące fragmenty:
curl -G "$BASE/v1/projects/$PROJECT_ID/calls/search" \
-H "X-API-Key: $AFTERTALK_KEY" \
--data-urlencode 'q=refund policy'Wyniki mają opisaną wyżej strukturę stronicowanej odpowiedzi, a każdy element zawiera fragment z wyróżnieniem,
w którym dopasowania są otoczone tagami <mark> — wyświetl go jako HTML albo usuń tagi.
Składnia zapytań
| Składnia | Przykład | Znajduje |
|---|---|---|
| Słowa | refund policy | rozmowy zawierające oba słowa |
| Fraza w cudzysłowie | "payment failed" | dokładnie tę frazę |
OR | refund OR chargeback | jedno lub drugie słowo |
- | refund -chargeback | refund, ale bez chargeback |
Wyszukiwanie przyjmuje te same parametry page, pageSize, from i to co endpoint listy.
Wyszukiwanie dopasowuje całe słowa, bez dopasowania prefiksów. Dopasowanie jest dosłowne, bez sprowadzania słów do
formy podstawowej — zwrot nie znajdzie zwrotu. Odmiany, które są dla Ciebie ważne, połącz operatorem OR: zwrot OR zwrotu.