---
title: "Critérios em Consultas loadRecords"
method: GET
path: "/CriteriosLoadRecords"
tags: ["Como consultar dados?"]
---

# Critérios em Consultas loadRecords

`GET /CriteriosLoadRecords`

Quando temos parâmetros variáveis, como é o caso da expressão aqui usada, devemos colocar um '?' onde o valor do parâmetro será injetado. Para cada '?' na expressão devemos ter um elemento 'parameter'. Os possíveis valores para o atributo 'type' são: <ul>
  <li>D = Data sem horário</li>
  <li>H = Data com horário (no seguinte formato: DD/MM/AAAA HH:MM:SS)</li>
  <li>F = Número decimal (decimal separado por '.')</li>
  <li>I = Número inteiro</li>
  <li>S = Texto</li>
</ul> <br />IMPORTANTE: Sempre usar parâmetro para critérios do tipo data, pois colocar a data direto no SQL pode não funcionar corretamente devido ao charset, formato e tipo do banco de dados.

<h3>Segue exemplo utilizando filtro com parâmetros</h3>
<ul>
  <li>URL Gateway Produção: https://api.sankhya.com.br/</li>
  <li>URL Gateway Sandbox: https://api.sandbox.sankhya.com.br/</li>
</ul>
<b>URL de chamada</b>: https://[URL_GATEWAY]/gateway/v1/mge/service.sbr?serviceName=CRUDServiceProvider.loadRecords&outputType=json <br /><br />

<b>Corpo de requisição</b>


    {
        "serviceName": "CRUDServiceProvider.loadRecords",
        "requestBody": {
            "dataSet": {
                "rootEntity": "Produto",
                "includePresentationFields": "N",
                "tryJoinedFields":"true",
                "offsetPage": "0",
                "criteria": {
                    "expression": {
                      "$": "CODPROD IN ( ?, ? )"
                    },
                    "parameter":
                        [
                            {
                                "$": "1",
                                "type": "I"
                            },
                            {
                                "$": "2",
                                "type": "I"
                            }
                        ]
                },
                "entity": {
                    "fieldset": {
                        "list": "CODPROD, DESCRPROD"
                    }
                }
            }
        }
    }

<br />Este exemplo retorna os produtos com código 1 e 2. A seguir um exemplo de utilização com cada tipo de parâmetro, focando na tag “criteria” onde a mudança é necessária:
<br />Aplicando filtro com número inteiro:

    ...
                "criteria": {
                    "expression": {
                      "$": "NUNOTA = ?"
                    },
                    "parameter": [
                        {
                            "$": "9120",
                            "type": "I"
                        }
                    ]
                },
    ...

<br />Aplicando filtro com número inteiro utilizando IN:

    ...
                "criteria": {
                    "expression": {
                      "$": "NUNOTA IN (?, ?, ?)"
                    },
                    "parameter": [
                        {
                            "$": "9120",
                            "type": "I"
                        },
                        {
                            "$": "9141",
                            "type": "I"
                        },
                        {
                            "$": "9159",
                            "type": "I"
                        }
                    ]
                },
    ...

<br />Aplicando filtro com data e hora:

    ...
                "criteria": {
                    "expression": {
                      "$": "DTFATUR >= ?"
                    },
                    "parameter": [
                        {
                            "$": "20/05/2022 09:31:43",
                            "type": "H"
                        }
                    ]
                },
    ...

<br />Aplicando filtro entre datas:

    ...
                "criteria": {
                    "expression": {
                      "$": "DHBAIXA IS NULL AND DTVENC BETWEEN ? AND ?"
                    },
                    "parameter": [
                        {
                            "$": "01/05/2022",
                            "type": "D"
                        },
                        {
                            "$": "31/05/2022",
                            "type": "D"
                        }
                    ]
                },
    ...

<br />Aplicando filtro com texto:

    ...
                "criteria": {
                    "expression": {
                      "$": "USOPROD = ? AND DESCRPROD LIKE '%?%'"
                    },
                    "parameter": [
                        {
                            "$": "V",
                            "type": "S"
                        },
                        {
                            "$": "CHEVE",
                            "type": "S"
                        }
                    ]
                },
    ...

## Response `201`

Cadastro efetuado com sucesso

## Other responses

- `400` — Requisição inválida
- `500` — Erro interno do servidor

---

[API](https://skmtc.net/sankhya/apis/api-sankhya.md) · [All operations](https://skmtc.net/sankhya/apis/api-sankhya/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sankhya/api-sankhya/revisions/0a3e81ca6195/schema)
