v1

latestOpenAPI 3.0.3Licença Sankhya2026-07-24161242654.8 KB
Como consultar dados?

Critérios em Consultas loadRecords

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"
                    }
                ]
            },
...
get/CriteriosLoadRecords

Response

Cadastro efetuado com sucesso