Tutti gli endpoint di elenco (ad esempio Elencare le campagne o Elencare i numeri di una lista nera) accettano un parametro di query filter opzionale, che restringe i record restituiti.
Il parametro filter è un oggetto JSON, inviato con codifica URL nella query string. Ogni chiave è il nome di un campo, e ogni valore è il valore con cui confrontarlo:
filter={"state":"Active","dialer":{"mode":"Predictive"}}Quando l'oggetto contiene più di una chiave, tutte le condizioni devono essere soddisfatte (sono combinate con AND). Il filtro può contenere fino a 2048 caratteri.
I campi utilizzabili sono elencati nella sezione Campi di filtro di ogni endpoint di elenco. L'utilizzo di un campo non supportato dall'endpoint restituisce un errore 400 Bad Request, che include l'elenco dei campi validi.
Per impostazione predefinita, una chiave confronta il campo per uguaglianza. Per utilizzare un confronto diverso, aggiungi uno dei seguenti suffissi al nome del campo:
| Suffisso | Significato | Esempio |
|---|---|---|
| (nessuno) | Uguale a (vedi le regole di corrispondenza più avanti) | {"state":"Active"} |
_gt | Maggiore di | {"attempts_gt":1} |
_gte | Maggiore o uguale a | {"startDate_gte":"2026-09-01"} |
_lt | Minore di | {"attempts_lt":3} |
_lte | Minore o uguale a | {"endedAt_lte":"2026-09-30T23:59:59"} |
_ovl | Il campo array contiene almeno uno dei valori | {"tagIds_ovl":["TAG_ID_1","TAG_ID_2"]} |
_ctn | Il campo array contiene il valore | {"callflowIds_ctn":"CALLFLOW_ID"} |
Gli operatori possono essere combinati sullo stesso campo per definire un intervallo:
filter={"startedAt_gte":"2026-09-01","startedAt_lt":"2026-10-01"}Il modo in cui viene confrontato un valore dipende dal tipo del campo:
name o number): corrispondenza parziale, senza distinzione tra maiuscole e minuscole. {"name":"sales"} corrisponde a una campagna denominata "Q3 Sales Follow-up". È questo che rende possibili le ricerche parziali di numeri come {"number":"555"}.ids e i campi che terminano con Id, come phoneSystemId): corrispondenza esatta.state o status): corrispondenza esatta, con distinzione tra maiuscole e minuscole, con uno dei valori documentati.attempts): confronto numerico, di solito combinato con un operatore.isArchived): true o false."2026-09-01" o "2026-09-01T08:30:00". Gli scostamenti di fuso orario vengono ignorati.Quando il valore è un array e non viene utilizzato alcun suffisso di operatore, il campo deve corrispondere a uno qualsiasi dei valori dell'array:
filter={"status":["NotContacted","RetryPending"]}Il campo speciale ids funziona allo stesso modo, ed è il modo più semplice per ottenere più record per ID in un'unica richiesta:
filter={"ids":["01a0dedd-b9a2-729d-8e0a-4e3ad9197aea","01a0dad2-c0a6-7205-8d4e-a2d5f4197825"]}Un array vuoto non filtra nulla.
Alcuni campi sono oggetti. Per filtrare in base a una proprietà dell'oggetto, invia un oggetto annidato con le proprietà che vuoi far corrispondere. Le proprietà annidate vengono confrontate in modo esatto:
filter={"dialer":{"mode":"Power"}}I suffissi di operatore possono essere utilizzati solo sui campi di primo livello, non all'interno degli oggetti annidati.
Alcuni endpoint applicano un filtro predefinito quando viene inviato il parametro filter. Ad esempio, quando invii un filter a Elencare le campagne, anche vuoto ({}), le campagne archiviate vengono escluse, a meno che il filtro includa il campo isArchived. Quando il parametro filter viene omesso, non viene applicato alcun filtro predefinito, e le campagne archiviate sono incluse. I filtri predefiniti sono descritti nella pagina di ogni endpoint.
Ricorda di applicare la codifica URL al valore di filter. Con cURL, il modo più semplice è combinare -G con --data-urlencode, come mostrato negli esempi. Gli esempi di codice per gli altri linguaggi utilizzano le funzioni standard di codifica URL di ciascun linguaggio.
/v1/accounts/ACCOUNT_ID/campaigns
curl -G 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns' \
-H 'Authorization: Bearer API_KEY_TOKEN' \
--data-urlencode 'filter={"state":"Active","dialer":{"mode":"Predictive"},"startDate_gte":"2026-09-01"}'Risposta
200 OK
[
{
"id": "0192831a-fbbe-735f-b385-a3252781817d",
"name": "Q3 Sales Follow-up",
"state": "Active"
...
}
]