API de Integração Command Perfect – Novo

WebService Command Perfect

Está documentação tem a finalidade de auxiliar na utilização dos serviços de integração com o ERP Command Perfect.

URL básica

Para acessar o serviços você pode acessar internamente em sua rede conforme o exemplo http://localhost:9085/api/v1/mobile/condicoespagto ou pode acessar também externamente a sua rede, neste caso é necessário que sua equipe de TI faça as configurações adequadas no Firewall para que este acesso externo possa ser realizado. 

Abaixo detalhamento da forma de acesso e endpoints para integração:

Autenticação

Forma de Autenticação: Basic Auth

Username: Informar um usuário cadastrado no ERP.

Password: Informar a senha do usuário já criptografado em MD5.

Request

As requisições GET e DELETE seguem o padrão REST onde os parâmetros são passados via URL.

Para as requisições POST e PUT, o conteúdo enviado no corpo da requisição deve estar no formato JSON.

Response

Os retornos sempre serão em formato JSON.

Definição do parâmetro WHERE

Para alguns EndPoints (GET), poderá ser passado uma cláusula where formatada no padrão explicado a seguir e criptografado utilizando BASE64.

Para enviar uma condição na cláusula where deverá seguir o seguinte formato:

CAMPO;OPERADOR;VALOR

Se necessário passar mais que uma condição, deverá repetir o formato e separar por | (PIPE):

CAMPO;OPERADOR;VALOR|CAMPO;OPERADOR;VALOR

Campo

Os campos passíveis para utilização em uma cláusula where sempre serão os campos do nó principal de um objeto JSON retornado em uma requisição GET. Em caso de um campo que seja uma lista, este não deve ser considerado.

Operador

Os operadores possíveis para a construção de uma cláusula where são:

Operadores

Descrição

=

Campo igual a

<>

Campo diferente de

>

Campo maior que

<

Campo menor que

>=

Campo maior ou igual que

<=

Campo menor ou igual que

LIKE

Campo contenha

LIKE BEGIN

Campo inicie com

LIKE END

Campo termine com

STARTING WITH

Campo inicie com

IN

Campo esteja em

CONTAINING

Campo contenha

FRAGMENT

Campo contenha fragmentos

Permite ser enviado vários fragmentos de texto no valor desde que seperados por 1 espaço em branco.

IS NULL

Campo seja nulo

IS NOT NULL

Campo não seja nulo

Valor

Valor que deseja filtrar.

Exemplo de um JSON passível de consulta where:

[

{

"TBP_CD_TABELAPRECO":1,

"TBP_CD_EMPRESA":1,

"TBP_TP_STATUS":"CONFIRMADO",

"TBP_VIGENCIA":43538,

"TBP_VALIDADE":43830,

"TBP_BO_PERMITENEGOCIACAO":"N",

"TBP_TP_TABELA_PRECO":null,

"TBP_NR_PRIORIDADE":0,

"TBP_DS_TABELA":"MOBILE",

"LISTA_ITENS_REGIAO_ICMS":[

{

"TIR_ID_TABPRECO_ITENREGIAO":1,

"TIR_CD_TABELA_DE_PRECOS":1,

"TIR_CD_REGIAOICMS":1,

"TIR_ID_PRODUTO":409,

"TIR_VL_VENDA":0,

"TIR_VL_VENDA_COM_IMPOSTOS":0,

"TIR_PC_DESCONTO_TABELA":0

}

]

}

]

No exemplo acima poderá ser criada uma cláusula WHERE com todos os campos cujo prefixo inicie com TBP.

Exemplos

  1. Where para retornar a Tabela de Preço que tenha o código 1

    • TBP_CD_TABELAPRECO=1

    • Criptografado em BASE64

      • VEJQX0NEX1RBQkVMQVBSRUNPPTE=

  1. Where para retornar as Tabela de Preço que permitem negociação e que tenha a prioridade menor ou igual a 3

    • TBP_BO_PERMITENEGOCIACAO=S|TBP_NR_PRIORIDADE<=3

      • Neste caso são dois filtros separados por | (PIPE)

    • Criptografado em BASE64

      • VEJQX0JPX1BFUk1JVEVORUdPQ0lBQ0FPPVN8VEJQX05SX1BSSU9SSURBREU8PTM=

  1. Where para retornar as Tabela de Preço que tem validade até 31/12/2019

    • TBP_VALIDADE=43830

      • No caso de datas, as mesmas devem estar convertidas para float

    • Criptografado em BASE64

      • VEJQX1ZBTElEQURFPTQzODMw


EndPoints – Mobile

Grupos de Pessoa

  • EndPoint: /api/v1/mobile/gruposdepessoa
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"GPT_ID_GRUPOPESSOA": 1,
"GPT_DESCRICAO": "ESCRITORIO SÃO PAULO"
},
{
"GPT_ID_GRUPOPESSOA": 2,
"GPT_DESCRICAO": "CONSUMIDOR FINAL"
},
{
"GPT_ID_GRUPOPESSOA": 3,
"GPT_DESCRICAO": "REVENDA"
}
]


Condições de Pagamento da Tabela de Preço

  • EndPoint: /api/v1/mobile/condicoespagtotabeladepreco
  • Method: GET
  • Parâmetros
  1. Id (Integer - Obrigatório) – Código (TBP_CD_TABELAPRECO) da Tabela de Preço
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"TCP_ID_TABPREC_CONDPAGTO": 1,
"TCP_CD_TABELA_PRECO": 1,
"TCP_CD_COND_PAGTO": 10108
},
{
"TCP_ID_TABPREC_CONDPAGTO": 2,
"TCP_CD_TABELA_PRECO": 1,
"TCP_CD_COND_PAGTO": 990
},
{
"TCP_ID_TABPREC_CONDPAGTO": 3,
"TCP_CD_TABELA_PRECO": 1,
"TCP_CD_COND_PAGTO": 28
}
]


Produtos contidos na Tabela de Preço

  • EndPoint: /api/v1/mobile/produtostabelapreco
  • Method: GET
  • Parâmetros
  1. Id (Integer - Obrigatório) – Código (TBP_CD_TABELAPRECO) da Tabela de Preço
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"PRO_ID": 409,
"PRO_EMPRESA": 1,
"PRO_CODIGO": "70490358",
"PRO_DESCRICAO": "JUNTA TUBAGEM ESC",
"PRO_UNIDADEMEDIDA": "UN",
"PRO_ATIVOINATIVO": "A",
"PRO_DESCONTO_MAXIMO": null,
"PRO_SALDO_DISPONIVEL": 0
},
{
"PRO_ID": 412,
"PRO_EMPRESA": 1,
"PRO_CODIGO": "0490704",
"PRO_DESCRICAO": "JUNTA TAMPA VALVULA",
"PRO_UNIDADEMEDIDA": "UN",
"PRO_ATIVOINATIVO": "A",
"PRO_DESCONTO_MAXIMO": null,
"PRO_SALDO_DISPONIVEL": 0
}
]


Itens da Tabela de Preço por Região

  • EndPoint: /api/v1/mobile/itenstabelasdeprecoregiao
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. Id (Integer - Obrigatório) – Código (TBP_CD_TABELAPRECO) da Tabela de Preço
  3. Id (Integer - Opcional) – Código (TIR_CD_REGIAOICMS) da Região
  4. First (Integer - Opcional) – Define a quantidade de registros a retornar
  5. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"TIR_ID_TABPRECO_ITENREGIAO": 1,
"TIR_CD_TABELA_DE_PRECOS": 1,
"TIR_CD_REGIAOICMS": 1,
"TIR_ID_PRODUTO": 409,
"TIR_VL_VENDA": 0,
"TIR_VL_VENDA_COM_IMPOSTOS": 0,
"TIR_PC_DESCONTO_TABELA": 0
},
{
"TIR_ID_TABPRECO_ITENREGIAO": 2,
"TIR_CD_TABELA_DE_PRECOS": 1,
"TIR_CD_REGIAOICMS": 1,
"TIR_ID_PRODUTO": 412,
"TIR_VL_VENDA": 2.32,
"TIR_VL_VENDA_COM_IMPOSTOS": 2.32,
"TIR_PC_DESCONTO_TABELA": 0
}
]


Condições de Pagamento

  • EndPoint: /api/v1/mobile/condicoespagto
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"PAG_CODIGO": 10134,
"PAG_DESCRICAO": "10 DIAS",
"PAG_ATIVO": "A",
"PAG_NR_VEZES": 1,
"PAG_NRDIAS": "10",
"PAG_PRAZO_MEDIO": 10,
"PAG_FATOR": 1
},
{
"PAG_CODIGO": 10233,
"PAG_DESCRICAO": "10/20 DIAS",
"PAG_ATIVO": "A",
"PAG_NR_VEZES": 2,
"PAG_NRDIAS": "10;20",
"PAG_PRAZO_MEDIO": 15,
"PAG_FATOR": 1
},
{
"PAG_CODIGO": 10174,
"PAG_DESCRICAO": "12 DIAS",
"PAG_ATIVO": "A",
"PAG_NR_VEZES": 1,
"PAG_NRDIAS": "12",
"PAG_PRAZO_MEDIO": 12,
"PAG_FATOR": 1
}
]


Tabela de Preço

  • EndPoint: /api/v1/mobile/tabelasdepreco
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  4. Listar Itens por Região (String – Opcional) Para listar os itens, informar o valor S para Sim. Se não informar valor ou informar N para Não, os itens não serão listados
  5. Listar Grupos de Pessoa (String - Opcional) Para listar os grupos, informar o valor S para Sim. Se não informar valor ou informar N para Não, os grupos não serão listados
  6. Listar Condições de Pagamento (String - Opcional) Para listar as condições de pagamento, informar o valor S para Sim. Se não informar valor ou informar N para Não, as condições não serão listadas
  • Retorno: Array de Objetos

    [

{

"TBP_CD_TABELAPRECO":1,

"TBP_CD_EMPRESA":1,

"TBP_TP_STATUS":"CONFIRMADO",

"TBP_VIGENCIA":43538,

"TBP_VALIDADE":43830,

"TBP_BO_PERMITENEGOCIACAO":"N",

"TBP_TP_TABELA_PRECO":null,

"TBP_NR_PRIORIDADE":0,

"TBP_DS_TABELA":"MOBILE",

"LISTA_ITENS_REGIAO_ICMS":[

{

"TIR_ID_TABPRECO_ITENREGIAO":1,

"TIR_CD_TABELA_DE_PRECOS":1,

"TIR_CD_REGIAOICMS":1,

"TIR_ID_PRODUTO":409,

"TIR_VL_VENDA":0,

"TIR_VL_VENDA_COM_IMPOSTOS":0,

"TIR_PC_DESCONTO_TABELA":0

},

{

"TIR_ID_TABPRECO_ITENREGIAO":2,

"TIR_CD_TABELA_DE_PRECOS":1,

"TIR_CD_REGIAOICMS":1,

"TIR_ID_PRODUTO":412,

"TIR_VL_VENDA":2.32,

"TIR_VL_VENDA_COM_IMPOSTOS":2.32,

"TIR_PC_DESCONTO_TABELA":0

}

],

"LISTA_GRUPOS_DE_PESSOA":[

{

"TGP_ID_TABELAGRUPOPESSOA":1,

"TGP_CD_TABELA_PRECO":1,

"TGP_CD_GRUPOPESSOA":1

},

{

"TGP_ID_TABELAGRUPOPESSOA":2,

"TGP_CD_TABELA_PRECO":1,

"TGP_CD_GRUPOPESSOA":2

},

{

"TGP_ID_TABELAGRUPOPESSOA":3,

"TGP_CD_TABELA_PRECO":1,

"TGP_CD_GRUPOPESSOA":3

}

],

"LISTA_CONDICOES_PAGAMENTO":[

{

"TCP_ID_TABPREC_CONDPAGTO":1,

"TCP_CD_TABELA_PRECO":1,

"TCP_CD_COND_PAGTO":10108

},

{

"TCP_ID_TABPREC_CONDPAGTO":2,

"TCP_CD_TABELA_PRECO":1,

"TCP_CD_COND_PAGTO":990

},

{

"TCP_ID_TABPREC_CONDPAGTO":3,

"TCP_CD_TABELA_PRECO":1,

"TCP_CD_COND_PAGTO":28

}

]

}

]


EndPoints – PCP

Máquinas

  • EndPoint: /api/v1/pcp/maquinas
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. First (Integer - Opcional) – Define a quantidade de registros a retornar
  3. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"MQN_CODIGO": 1,
"MQN_DESCRICAO": "SETOR MONTAGEM DE GERADORES ",
"MQN_GRUPO": 1,
"MQN_ABREVIACAO": "SMG",
"MQN_QTDHORAS": 0,
"MQN_CUSTOHORAPADRAO": 0,
"MQN_CUSTOHORAVENDA": 0,
"MQN_CARACTERISTICA": null,
"MQN_MARCA": null,
"MQN_MODELO": null,
"MQN_NRSERIE": null,
"MQN_VOLTAGEM": null,
"MQN_QTD_HP": null,
"MQN_CICLAGEM": null,
"MQN_ANOFABRICACAO": "2013",
"MQN_DATA_AQUISICAO": 41381,
"MQN_SITUACAO": "A",
"MQN_DATA_PARADA": null,
"MQN_OBS": "",
"MQN_VEDAME": null,
"MQN_MANUT_DATA_INICIAL": null,
"MQN_MANUT_HORA_INICIAL": null,
"MQN_MANUT_DATA_FINAL": null,
"MQN_MANUT_HORA_FINAL": null,
"MQN_TAG_IDENTIFICACAO": null,
"MQN_USADO_FICHA_TECNICA": "X",
"MQN_FORMULA_CALC": null,
"MQN_INDICE_HR_HOMEM_MAQ": 1,
"MQN_TP_CLASSEGENCIAL": null,
"MQN_CD_CONTA_CLASSE_GER": null,
"MQN_UNIDADE_NEGOCIO": null,
"MQN_CENTRO_RESULTADO": null
}
]


Operações

  • EndPoint: /api/v1/pcp/operacoes
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. Empresa (Integer – Opcional) – Código da Empresa (OPE_EMPRESA) da operação
  3. First (Integer - Opcional) – Define a quantidade de registros a retornar
  4. Skip (Integer - Opcional) – Define a partir de qual registro será retornado
  • Retorno: Array de Objetos

[
{
"OPE_EMPRESA": 120,
"OPE_CODIGO": 1,
"OPE_DESCRICAO": "MONTAGEM CABO DE FORCA",
"OPE_FASEPADRAO": null,
"OPE_CUSTOMINUTO": 0.54,
"OPE_ATIVA": "A",
"OPE_CUSTO_MAQUINA_MIN": 0,
"OPE_CUSTO_HOMEM_MIN": 0.54,
"OPE_TIPO_PROGRAMACAO_PRIMARIA": "MAQUINA",
"OPE_GRUPO_OPERACOES": 1,
"OPE_PESO": 0,
"OPE_OBSERVACAO": null,
"OPE_EXECUTADA_INTERNA": "S",
"OPE_ESTERIOTIPO": "FIXO",
"OPE_ENTRA_LISTA_CORTE": "N",
"OPE_CD_CLASSEGERENCIAL": null,
"OPE_CD_CONTA": null,
"OPE_TEMPO_PRODUTIVO": 0,
"OPE_PC_TEMPO_PRODUTIVO": 0,
"OPE_PERMITE_APONT_SIMULTANEO": "N",
"OPE_TEMPOPREVISTO": 0,
"OPE_PERC_PREDECESSOR_INICIO": 0,
"OPE_IDENTIF_ETIQUTA_INICIAR": null,
"OPE_IDENTIF_ETIQUTA_FECHAR": null
}
]


EndPoints – Produto

Produtos Resumido

  • EndPoint: /api/v1/produto/produtosresumido
  • Method: GET
  • Parâmetros
  1. Where (String - Opcional) – Cláusula where para filtro
  2. Empresa (Integer – Opcional) – Código da Empresa (PRO_EMPRESA) do produto
  3. First (Integer - Opcional) – Define a quantidade de registros a retornar
  4. Skip (Integer - Opcional) – Define a partir de qual registro será retornado retornado
  • Retorno: Array de Objetos

[
{
"PRO_ID": 1,
"PRO_EMPRESA": 1,
"PRO_CODIGO": "F-250",
"TCP_PRODUTO_TIPOCODIGO": "F-250",
"PRO_DESCRICAO": "F-250",
"CLP_DESCRICAO": "USADO",
"PRO_SALDO": 0,
"PRO_PRCVENDA": 0,
"PRO_DESCONTOAVISTA": 0,
"SLP_SALDO_COMPRA": 0,
"PRO_PROMOCAO_ATIVA": 0,
"PRO_DESCRICAOTECNICA": "F-250",
"PRO_UNIDADEMEDIDA": "UN",
"PRO_ATIVOINATIVO": "I"
},
{
"PRO_ID": 2,
"PRO_EMPRESA": 1,
"PRO_CODIGO": "960729152519",
"TCP_PRODUTO_TIPOCODIGO": "960729152519",
"PRO_DESCRICAO": "MOTOR MWM SPRINT",
"CLP_DESCRICAO": "MOTOR MWM",
"PRO_SALDO": 0,
"PRO_PRCVENDA": 0,
"PRO_DESCONTOAVISTA": 0,
"SLP_SALDO_COMPRA": 0,
"PRO_PROMOCAO_ATIVA": 0,
"PRO_DESCRICAOTECNICA": "MOTOR MWM SPRINT",
"PRO_UNIDADEMEDIDA": "UN",
"PRO_ATIVOINATIVO": "I"
}
]

Últimos posts por cperfect (exibir todos)

Comments are closed.