Como usar filtros na API

Criada por Wenderson Cotta Sansão, Modificado em Qua, 16 Set na (o) 1:17 PM por Wenderson Cotta Sansão

Ao realizar uma consulta na API, todos os campos que são retornados são possíveis de serem usados para fazer filtros. Vamos utilizar os agendamentos do sistema como base para os próximos exemplos, mas o conteúdo apresentado nessa seção pode ser usado em outros objetos, como pacientes e pedidos.


Os campos do agendamento estão descritos no artigo Agendamentos mas vamos tomar o objeto abaixo como exemplo.

{
	"id": 744,
	"calendar_id": 81,
	"patient_id": null,
	"title": "Teste 2",
	"description": "",
	"start_date": "2026-08-21T09:00:00.000-03:00",
	"end_date": "2026-08-21T09:30:00.000-03:00",
	"comment": null,
	"color": null,
	"status": 0,
	"phone": "",
	"dentist_datum_id": null
}

Filtrando consultas na API

Para filtrar qualquer campo que vemos, precisamos pegar o nome desse campo e juntar o mesmo a um operador que indica o tipo de filtro que está sendo aplicado. A tabela abaixo lista os operadores disponíveis.


OperadorNomeDescrição
*_eqequalsValores buscados precisam ser iguais ao parâmetro
*_not_eqnot equalsValores buscados precisam ser diferentes do parâmetro
*_ltlesser thanValores buscados precisam ser menores que o parâmetro
*_lteqlesser than or equalValores buscados precisam ser menores ou iguais ao parâmetro
*_gtgreater thanValores buscados precisam ser maiores que o parâmetro
*_gteqgreater than or equalValores buscados precisam ser maiores ou iguais ao parâmetro
*_ininValores buscados precisam estar presentes no array fornecido nos parâmetros
*_startstartValores precisam começar com o mesmo conteúdo do parâmetro
*_endendValores precisam terminar com o mesmo conteúdo do parâmetro


Exemplos de campos com operador

Podemos garantir que o paciente seja o desejado usando patient_id_eq=6316320, que vai retornar somente os agendamentos com o id de paciente igual ao parâmetro.

curl -X GET \
	-G 'https://max.cfaz.net/api/v1/events' \
	--data-urlencode 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
	--data-urlencode 'patient_id_eq=6316320'


Outro exemplo: se quisermos trazer os agendamentos de um período específico que estão em aberto, passamos 3 parâmetros de filtro — um para que o status seja igual ao desejado (status_eq=0, que, seguindo a documentação, é o valor para aqueles em aberto) e dois para estabelecer os limites na data do agendamento (start_date_gteq e end_date_lteq, delimitando o período de início e fim do evento).


curl -X GET \
	-G 'https://max.cfaz.net/api/v1/events' \
	--data-urlencode 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
	--data-urlencode 'status_eq=0' \
	--data-urlencode 'start_date_gteq=2026-09-30T00:00' \
	--data-urlencode 'end_date_lteq=2026-09-30T23:59'


Poderíamos também trazer dois status diferentes, e para isso usaríamos o operador *_in passando ambos os valores. Nesse exemplo estamos trazendo os agendamentos que estão em aberto (0) e os já atendidos (1).


curl -X GET \
	-G 'https://max.cfaz.net/api/v1/events' \
	--data-urlencode 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
	--data-urlencode 'start_date_gteq=2025-10-01T00:00' \
	--data-urlencode 'end_date_lteq=2025-10-31T23:59' \
	--data-urlencode 'status_in[]=0' \
	--data-urlencode 'status_in[]=1'

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo