v1

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

Consultas com loadView (não tem paginação)

A API disponibiliza o serviço loadView (CRUDServiceProvider.loadView) para realizar consulta em VIEWs.<br /> Existem algumas considerações importantes que devem ser levadas em consideração antes de sua utilização. Seguem: <ul>

<li>O serviço não possui paginação nativa, portanto, a paginação deve ser feita pelo integrador que realiza a requisição.</li> <li>Caso a view não seja performática, é indicado a utilização de mecanismos de indexação para que a performance seja adequada, como Materialized Views (fique atento com as regras de atualização dos dados desse tipo de objeto).</li> <li>Para um volume muito grande de dados, pode ser utilizado um indicador de linha para criar a paginação de maneira mais simples. Segue um exemplo para ORACLE e SQL Server:</li> </ul> <b>Oracle</b>
CREATE VIEW VW_ITENS_PEDIDO 
AS
SELECT T.* 
FROM (
    SELECT ROWNUM AS LINHA
    , PRO.CODPROD
    , PRO.DESCRPROD
    , ITE.NUNOTA
    , ITE.SEQUENCIA
    , ITE.QTDNEG
    , ITE.VLRUNIT
    , ITE.VLRTOT
    FROM TGFITE ITE
    INNER JOIN TGFPRO PRO ON PRO.CODPROD = ITE.CODPROD
) T

<b>SQL Server</b>

CREATE VIEW VW_ITENS_PEDIDO 
AS
SELECT T.* 
FROM (
    SELECT ROW_NUMBER() OVER(ORDER BY NUNOTA, SEQUENCIA) AS LINHA
    , PRO.CODPROD
    , PRO.DESCRPROD
    , ITE.NUNOTA
    , ITE.SEQUENCIA
    , ITE.QTDNEG
    , ITE.VLRUNIT
    , ITE.VLRTOT
    FROM TGFITE ITE
    INNER JOIN TGFPRO PRO ON PRO.CODPROD = ITE.CODPROD
) T

Nos exemplos acima foi utilizado a TGFITE que detém um grande volume de dados, na maioria das vezes.<br /> Segue exemplo de utilização do serviço com a VIEW criada no exemplo acima:

<h3>Exemplo de uso</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.loadView&outputType=json <br /><br /><b>Corpo de requisição</b>
{
    "serviceName": "CRUDServiceProvider.loadView",
    "requestBody": {
        "query": {
            "viewName": "VW_ITENS_PEDIDO",
            "where": {
                "$": "LINHA BETWEEN 15000 AND 15499"
            },
            "fields": {
                "field": {
                    "$": "CODPROD, DESCRPROD, NUNOTA, SEQUENCIA, QTDNEG, VLRUNIT, VLRTOT"
                }
            }
        }
    }
}

<br />A requisição acima retorna 500 registros, considerando linhas de 15.000 a 15.499.

get/loadView

Response

Consulta efetuada com sucesso