Essa é uma revisão anterior do documento!


Serviços Web

Para utilizar os serviços é necessário utilizar um usuário do Cérebro para realizar a autenticação. Todos os serviços tem com resposta o formato JSON.

Exemplo de Retornos com Erro:
{"error":"Usu\u00E1rio n\u00E3o encontrado: 1."}

ListaProdutos(Usuario: String; Data: TDateTime): TJSONArray;

Retorna a listagem dos produtos.

Parâmetros:

  • Usuario: Nome do usuário do Cérebro.
  • Data: Opcional. Retorna apenas os produtos com data de última alteração maior que a data informada.
Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TESTOQUE/ListaProdutos/Usuario
Exemplo de Retorno:
{
  "result": [
      [
          {   "CODIGO_PRODUTO": 1,
              "CODIGO_PRINCIPAL": 1,
              "CODIGO_BARRA": "1",
              "DESCRICAO": "SERVICO",
              "PRECO_VENDA": 0.01,
              "STATUS": "1",
              "UNIDADE_SAIDA": "PC",
              "PRECO_VENDA2": 0,
              "PRECO_VENDA3": 0,
              "PERCENTUAL_MAX_DESCONTO": 0,
              "ATACADO": "",
              "ATACADO_MINIMA": 0,
              "FRACIONAVEL": "T",
              "FRACIONAVEL_MULT": 0,
              "SALDO_ATUAL2": -95,
              "SALDO_ATUAL": -39  }
      ]
  ]
}

ListaClientes(Usuario: String; Data: TDateTime): TJSONArray;

Retorna a listagem dos clientes.

Parâmetros:

  • Usuario: Nome do usuário do Cérebro.
  • Data: Opcional. Retorna apenas os produtos com data de última alteração maior que a data informada.
Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TESTOQUE/ListaClientes/Usuario
Exemplo de Retorno:
{}

ListaTabelas(Tabela: String; Data: TDateTime; Usuario: String): TJSONArray;

Retorna a listagem da tabela especificada.

Parâmetros:

  • Tabela: Nome da tabela.
  • Data: Opcional. Retorna apenas os produtos com data de última alteração maior que a data informada.
  • Usuario: Nome do usuário do Cérebro.
Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TESTOQUE/ListaTabelas/CLIENTES/2021-01-01/Usuario
Exemplo de Retorno:
{}

DAV(const Sequencial_Estoque: Integer): TJSONObject;

Retorna os dados do orçamento.

Parâmetros:

* Sequencial_Estoque: Sequencial do orçamento gravado no Cérebro.

Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TESTOQUE/DAV/82480
Exemplo de Retorno:
{
  "SEQUENCIAL_ESTOQUE": 82480,
  "SEQUENCIAL_DAV": 1913,
  "CODIGO_CLIENTE": 1,
  "CODIGO_VENDEDOR": 1,
  "CODIGO_FORMAPAGTO": 1,
  "CODIGO_ALMOXARIFADO": 1,
  "VALOR_BRUTO": 1.8,
  "VALOR_LIQUIDO": 1.8,
  "PERCENTUAL_DESCONTO": 0,
  "VALOR_DESCONTO": 0,
  "VALOR_DESCONTOI": 0,
  "PERCENTUAL_ACRESCIMO": 0,
  "VALOR_ACRESCIMO": 0,
  "VALOR_ACRESCIMOI": 0,
  "ENDERECO_ENTREGA": "F",
  "STATUS": "T",
  "CONFERIDO": "F",
  "ENTREGA": "I",
  "DOCUMENTO_OS": 1,
  "CLIENTE": "CONSUMIDOR",
  "VENDEDOR": "Action",
  "FORMAPAGTO": "Dinheiro",
  "PRODUTOS": [
      {
          "SEQUENCIAL_PRODUTO": 93808,
          "ITEM": "1",
          "CODIGO_VENDA": "0000000002330",
          "CODIGO_PRODUTO": 2330,
          "UNIDADE": "UND",
          "MULTIPLICA": 1,
          "QUANTIDADE": 1,
          "VALOR_UNITARIO": 1.8,
          "VALOR_TOTAL": 1.8,
          "PERCENTUAL_DESCONTO": 0,
          "VALOR_DESCONTO": 0,
          "PERCENTUAL_ACRESCIMO": 0,
          "VALOR_ACRESCIMO": 0,
          "RESGATOU_PROMOCAO": "",
          "DATA_RECALCULO": "1899-12-30 00:00:00",
          "ENTREGA": "I",
          "IMAGEM": "",
          "REFERENCIA": "000002330",
          "DESCRICAO": "ABRACADEIRA 10X16 FITA 9MM EHC",
          "CONTROLA_LOTE": "F",
          "SOLICITA_OBS": "F",
          "LOTE": "",
          "DATA_VALIDADE": "09/05/2016",
          "DATA_FABRICACAO": "09/05/2016"
      }
  ]
}

DAV(Dados: TJSONObject): TJSONObject;

Grava um orçamento no movimento de estoque.

Parâmetros:

* Dados: Dados do orçamento a ser gravado.

Exemplo de Requisição (POST):
http://localhost:8084/datasnap/REST/TESTOQUE/DAV

{ "CODIGO_CLIENTE": 1,
  "CODIGO_FORMAPAGTO": 1,
  "CODIGO_VENDEDOR": 1,
  "DATA": "09/05/2016",
  "STATUS": "T",
  "ENTREGA": "I",
  "PRODUTO": {
      "CODIGO_PRODUTO": 2330,
      "UNIDADE": "UND",
      "QUANTIDADE": 1,
      "VALOR_UNITARIO": 1.8,
      "VALOR_TOTAL": 1.8,
      "PERCENTUAL_DESCONTO": 0,
      "VALOR_DESCONTO": 0,
      "PERCENTUAL_ACRESCIMO": 0,
      "VALOR_ACRESCIMO": 0,
      "MULTIPLICA": 1,
      "ENTREGA": "I"
  }
}
Exemplo de Retorno:
{
  "Retorno": "OK",
  "SEQUENCIAL_ESTOQUE": 82480,
  "SEQUENCIAL_DAV": 1913,
  "DOCUMENTO": "DAV-000329",
  "VALOR_ACRESCIMOI": 0,
  "PERCENTUAL_DESCONTO": 0,
  "VALOR_DESCONTO": 0,
  "VALOR_DESCONTOI": 0,
  "VALOR_BRUTO": 1.8,
  "VALOR_LIQUIDO": 1.8,
  "SEQUENCIAL_PRODUTO": "93808"
}

ReservaProdutos(Dados: TJSONObject): TJSONObject;

Realiza a reversa de produtos.

Parâmetros:

  • Dados: Dados do produto a ser reservado.
Exemplo de Requisição (POST):
http://localhost:8084/datasnap/REST/TESTOQUE/ReservaProdutos
Exemplo de Retorno:
{}

GeraEstoque(Dados: TJSONObject): TJSONObject;

Gera um movimento de Estoque.

Parâmetros:

  • Dados: Dados do movimento de estoque. Necessário enviar 3 arrays JSON com os dados a serem gravados referente as tabelas do movimento de estoque.
    • MOVIMENTOS_ESTOQUE (Objeto raiz)
    • MOVIMENTOS_PRODUTO (Itens)
    • MOVIMENTOS_PARCELA (Parcelas)
Exemplo de Requisição (POST):
http://localhost:8084/datasnap/REST/TESTOQUE/GeraEstoque
{"CODIGO_OPERACAO": 1,"CODIGO_CLIENTE": 3146,"CODIGO_FORMAPAGTO": 1,
"DATA":"2017-02-09","CODIGO_VENDEDOR": 1,"CODIGO_USUARIO": 100,"PERCENTUAL_DESCONTO": 10,

"Itens":
[{"CODIGO_PRODUTO":877,"QUANTIDADE": 2,"VALOR_DESCONTO": 0,"VALOR_ACRESCIMO": 0,
"UNIDADE":"UND","VALOR_UNITARIO": 19.02,"VALOR_TOTAL": 38.04,
"PERCENTUAL_DESCONTO": 0,
"PERCENTUAL_ACRESCIMO": 0},
 {"CODIGO_PRODUTO": 2243,"QUANTIDADE": 2,"UNIDADE":"UND","VALOR_UNITARIO": 1.00,"VALOR_TOTAL": 2}],

"Parcelas":[],
"Usuario":"ESCOL"}
Exemplo de Retorno:
{}

CancelaEstoque(Dados: TJSONObject): TJSONObject;

Cancela um movimento de Estoque.

Parâmetros:

  • Dados: Dados do movimento de estoque que será cancelado
Exemplo de Requisição (POST):
http://localhost:8084/datasnap/REST/TESTOQUE/CancelaEstoque
Body:{"SEQUENCIAL_ESTOQUE":0,"MOTIVO":"<MOTIVO DO CANCELAMENTO>"}

Consulta(const Tabela: String; Opcoes: TJSONObject): TJSONArray

Metodo: POST

Consulta genérica das tabelas do Cérebro.

Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TESTOQUE/Consulta/PRODUTOS
Body: {"fields":"CODIGO_PRODUTO,REFERENCIA,REFERENCIA2,REFERENCIA3,CODIGO_BARRA,DESCRICAO,UNIDADE_SAIDA,PESAVEL,CONTROLA_LOTE,SOLICITA_OBS,[PRECO_VENDA],[PROMOCAO],GRUPOS_PRODUTO.DESCRICAO AS GRUPO,SUBGRUPOS_PRODUTO.DESCRICAO AS SUBGRUPO,FORNECEDORES.DESCRICAO AS FABRICANTE,[SALDO_ATUAL],[SIMILARES],[SELFCOLOR]","joins":[{"TABELA":"GRUPOS_PRODUTO","ON":"PRODUTOS.CODIGO_GRUPO = GRUPOS_PRODUTO.CODIGO_GRUPO"},{"TABELA":"SUBGRUPOS_PRODUTO","ON":"PRODUTOS.CODIGO_GRUPO = SUBGRUPOS_PRODUTO.CODIGO_GRUPO AND PRODUTOS.CODIGO_SUBGRUPO = SUBGRUPOS_PRODUTO.CODIGO_SUBGRUPO"},{"TIPO":"LEFT","TABELA":"FORNECEDORES","ON":"PRODUTOS.CODIGO_FORNECEDOR = FORNECEDORES.CODIGO_FORNECEDOR"}],"orders":"DESCRICAO","filters":[{"CAMPO":"ATUALIZA_VIP","OPERADOR":"=","VALOR":"T"},{"CAMPO":"STATUS","OPERADOR":"IN","VALOR":"('1', '3')"},{"CAMPO":"("},{"CAMPO":"REFERENCIA","OPERADOR":"=","VALOR":"A"},{"CAMPO":"OR"},{"CAMPO":"DESCRICAO","OPERADOR":"LIKE","VALOR":"A%"},{"CAMPO":")"}],"limit":200}

Exemplo 2:

{
  "fields":"PRODUTOS.CODIGO_PRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PESO,[PRECO_VENDA],[SALDO_ATUAL]",

  "filters":[
      {"CAMPO": "COALESCE(PRODUTOS.CODIGO_EMPRESA, 1)", "OPERADOR":"=","VALOR":"1"},
      {"CAMPO": "PRODUTOS.STATUS", "OPERADOR":"<>", "VALOR":"2"},
      {"CAMPO": "PRODUTOS.STATUS", "OPERADOR":"<>", "VALOR":"4"}
      ],
  
  "orders":"DESCRICAO"
}

Tabela(Dados: TJSONObject): TJSONObject

Manutenção das tabelas do Cérebro.
Exemplo de Requisição (POST):
http://localhost:8084/datasnap/REST/TESTOQUE/Tabela
{"CLIENTES":[{"DESCRICAO":"TESTE","RAMOATIVIDADE":"1","CODIGO_VENDEDOR":1,"CODIGO_TIPO":"1","TIPOPESSOA":"F","CPF_CNPJ":"14718226805","INSCRICAO_ESTADUAL":"ISENTO","CEP":"57052480","ENDERECO":"Avenida Mendonça Júnior","NUMERO":"1","BAIRRO":"Gruta de Lourdes","CIDADE":"MACEIO","ESTADO":"AL","PONTO_REFERENCIA":"PROXIMO","EMAIL":"suporte@escol.info","EMAIL_NFE":"suporte@escol.info","TELEFONE1":"82999998888","TELEFONE2":"82999998888","CELULAR":"82999998888","FAX":"82999998888","CONTATO":"suporte","STATUS_CREDITO":"S","OBSERVACAO":"INCLUIDO VIA CEREBRO MOBILE","DATA_CADASTRO":"2017-02-23 14:40:30"}]}
Exemplo de Retorno:

{"error":"CPFCNPJ [14718226805] ja cadastrado! Tabela: CLIENTES - Cod: 3156"}

ListaOS(CPF_CNPJ_Cliente: String): TJSONArray;

Retorna a listagem das Ordem de Serviços do cliente informado.

Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TOS/ListaOS/11111111111
Exemplo de Retorno:
{}

Contas a Pagar e a Receber

{

  "ACAO": "Inclusão",
  "TIPO": "R",
  "DOCUMENTO": "99.05.2022.00054",
  "VALOR": 1,
  "CODIGO_CLIENTE": 6556,
  "CODIGO_VENDEDOR": 46,
  "CODIGO_TIPODOCUMENTO": 1,
  "CODIGO_PORTADOR": 1,
  "DATA_VENCIMENTO": "2022-05-30"

}

Boleto(const Sequencial_CPR: Integer): TJSONObject;

Gera o boleto no formato PDF.

Exemplo de Requisição:
http://localhost:8084/datasnap/REST/TCPR/Boleto/<Sequencial_CPR>
Exemplo de Retorno:
{"result":[{"SEQUENCIAL_CPR":"50999","ARQUIVO":"<Arquivo base64>"}]}
  • Última modificação: 10/05/2022 19:28
  • por marcelo