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).
Campos Operadores accountId indate lt,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.
| Operador | Descripción |
|---|---|
gt | Greater than, Mayor que - Este operador realiza la query solo de valores superiores al informado |
lt | Less than, Menor que - Este operador realiza la query solo de valores inferiores al informado |
in | En, 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-16date:gt=2024-06-09accountId:in=37297902000141-208-50-009999990
Donde:
| Unidad | Valor |
|---|---|
| Cláusula | date:lt=2024-07-16 |
| Campo | date |
| Operador | lt |
| Valor | 2024-07-16 |
| Resultado | Filtra en la solicitud los retornos con fecha anterior a 2024-07-16 |
| Unidad | Valor |
|---|---|
| Cláusula | date:gt=2024-06-09 |
| Campo | date |
| Operador | gt |
| Valor | 2024-07-16 |
| Resultado | Filtra en la solicitud los retornos con fecha posterior a 2024-06-09 |
| Unidad | Valor |
|---|---|
| Cláusula | accountId:in=37297902000141-208-50-009999990 |
| Campo | accountId |
| Operador | in |
| Valor | 37297902000141-208-50-009999990 |
| Resultado | Filtra en la solicitud los retornos con el accountId igual a 37297902000141-208-50-009999990 |