Filtro

Todos os endpoints de listagem (por exemplo Listar campanhas ou Listar números da lista negra) aceitam um parâmetro de query string filter opcional, que restringe os registros retornados.

Sintaxe

O parâmetro filter é um objeto JSON, enviado codificado para URL na query string. Cada chave é um nome de campo, e cada valor é o valor com o qual comparar:

filter={"state":"Active","dialer":{"mode":"Predictive"}}

Quando o objeto contém mais de uma chave, todas as condições devem ser atendidas (elas são combinadas com AND). O filtro pode conter até 2048 caracteres.

Os campos que podem ser usados estão listados na seção Campos de filtro de cada endpoint de listagem. Usar um campo que não é suportado pelo endpoint retorna um erro 400 Bad Request, que inclui a lista de campos válidos.

Operadores

Por padrão, uma chave compara o campo por igualdade. Para usar uma comparação diferente, acrescente um dos seguintes sufixos ao nome do campo:

SufixoSignificadoExemplo
(nenhum)Igual a (consulte as regras de correspondência abaixo){"state":"Active"}
_gtMaior que{"attempts_gt":1}
_gteMaior ou igual a{"startDate_gte":"2026-09-01"}
_ltMenor que{"attempts_lt":3}
_lteMenor ou igual a{"endedAt_lte":"2026-09-30T23:59:59"}
_ovlO campo de array contém pelo menos um dos valores{"tagIds_ovl":["TAG_ID_1","TAG_ID_2"]}
_ctnO campo de array contém o valor{"callflowIds_ctn":"CALLFLOW_ID"}

Os operadores podem ser combinados no mesmo campo para definir um intervalo:

filter={"startedAt_gte":"2026-09-01","startedAt_lt":"2026-10-01"}

Regras de correspondência

A forma como um valor é comparado depende do tipo do campo:

  • Campos de texto (por exemplo name ou number): correspondência parcial, sem diferenciar maiúsculas e minúsculas. {"name":"sales"} corresponde a uma campanha chamada "Q3 Sales Follow-up". É isso que torna possíveis as buscas parciais de números como {"number":"555"}.
  • Campos de identificador (ids e os campos que terminam em Id, como phoneSystemId): correspondência exata.
  • Campos enum (por exemplo state ou status): correspondência exata, diferenciando maiúsculas e minúsculas, com um dos valores documentados.
  • Campos numéricos (por exemplo attempts): comparação numérica, normalmente combinada com um operador.
  • Campos booleanos (por exemplo isArchived): true ou false.
  • Campos de data e de timestamp: strings ISO 8601, como "2026-09-01" ou "2026-09-01T08:30:00". Os deslocamentos de fuso horário são ignorados.

Correspondência com qualquer um de vários valores

Quando o valor é um array e nenhum sufixo de operador é usado, o campo deve corresponder a qualquer um dos valores do array:

filter={"status":["NotContacted","RetryPending"]}

O campo especial ids funciona da mesma forma, e é a maneira mais fácil de obter vários registros por ID em uma única solicitação:

filter={"ids":["01a0dedd-b9a2-729d-8e0a-4e3ad9197aea","01a0dad2-c0a6-7205-8d4e-a2d5f4197825"]}

Um array vazio não filtra nada.

Objetos aninhados

Alguns campos são objetos. Para filtrar por uma propriedade do objeto, envie um objeto aninhado com as propriedades que deseja comparar. As propriedades aninhadas são comparadas de forma exata:

filter={"dialer":{"mode":"Power"}}

Os sufixos de operador só podem ser usados nos campos de nível superior, não dentro de objetos aninhados.

Filtros padrão

Alguns endpoints aplicam um filtro padrão quando o parâmetro filter é enviado. Por exemplo, quando você envia um filter para Listar campanhas, mesmo vazio ({}), as campanhas arquivadas são excluídas, a menos que o filtro inclua o campo isArchived. Quando o parâmetro filter é omitido, nenhum filtro padrão é aplicado, e as campanhas arquivadas são incluídas. Os filtros padrão estão descritos na página de cada endpoint.

Codificação

Lembre-se de codificar para URL o valor de filter. Com cURL, a forma mais fácil é combinar -G com --data-urlencode, como mostrado nos exemplos. Os exemplos de código para as demais linguagens usam as funções padrão de codificação de URL de cada linguagem.

GET

/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"}'

Resposta

200 OK

[ { "id": "0192831a-fbbe-735f-b385-a3252781817d", "name": "Q3 Sales Follow-up", "state": "Active" ... } ]


SIP Caller
© 2026 Easy Caller LLC Todos os direitos reservados
LinkedinYou Tube
Trustpilot