Saltar al contenido principal

Developers Query Language(DQL)

El Developers Query Language(DQL) es una feature de las APIs que permite utilizar cláusulas de consulta en los Query Parameters de una solicitud de listado, ofreciendo una funcionalidad extendida en relación con los filtros comunes.

Para saber si una API tiene la DQL implementada, visita su respectivo endpoint en el API reference y verifica si este tiene el siguiente tipo de aviso:

📘 Developers Query Language(DQL)

Este endpoint admite solicitudes utilizando el Developers Query Language(DQL).

CamposOperadores
accountIdin
datelt, gt

Cláusulas de consulta​

La cláusula de consulta es como se denomina a la unidad mínima utilizada por la DQL para realizar una consulta en la API que la admite.

Una cláusula de consulta puede dividirse en 3 partes:

  • Campo
  • Operador
  • Valor

Campo​

El campo es la propiedad sobre la que se aplicará la operación descrita en el Operador.

Operador​

El operador es la unidad lógica de la cláusula, que indica cuál es la operación que deberá ejecutarse utilizando el Valor en el Campo.

OperadorDescripción
gtGreater than, Mayor que - Este operador realiza la query solo de valores superiores al informado
ltLess than, Menor que - Este operador realiza la query solo de valores inferiores al informado
inEn, Dentro de - Este operador realiza la query solo de valores informados o contenidos en la lista

Valor​

El valor es la parte de la cláusula que indica un valor o lista de valores separados por coma que se utilizarán en la ejecución del Operador en el Campo informado.

Formato de la cláusula​

Una cláusula de consulta asume el formato Campo:Operador=Valor y siempre se utilizará como un query parameter.

Por ejemplo:

curl --request GET \
--url 'https://api.uat.empresas.btgpactual.com/37297902000141/banking/accounts/statements?date%3Alt=2024-07-16&date%3Agt=2024-06-09&accountId%3Ain=37297902000141-208-50-009999990' \
...

En esta solicitud, podemos ver empleadas tres cláusulas, cada una utilizando un operador diferente:

  • date:lt=2024-07-16
  • date:gt=2024-06-09
  • accountId:in=37297902000141-208-50-009999990

Donde:

UnidadValor
Cláusuladate:lt=2024-07-16
Campodate
Operadorlt
Valor2024-07-16
ResultadoFiltra en la solicitud los retornos con fecha anterior a 2024-07-16
UnidadValor
Cláusuladate:gt=2024-06-09
Campodate
Operadorgt
Valor2024-07-16
ResultadoFiltra en la solicitud los retornos con fecha posterior a 2024-06-09
UnidadValor
CláusulaaccountId:in=37297902000141-208-50-009999990
CampoaccountId
Operadorin
Valor37297902000141-208-50-009999990
ResultadoFiltra en la solicitud los retornos con el accountId igual a 37297902000141-208-50-009999990