MENU

Introdução Gerando ApiKey Tipos de Acessos
Tabelas Índices Colunas Dados
Introdução

Seja bem-vindo ao guia de referências da API da Rentatec! É através desta API que você irá integrar o seu sistema ao nosso. Você poderá utilizar os recursos disponíveis da plataforma através dessa API.

Os endpoints para integração ao sistema X-ERP são:

Produção:
https://x-erp.com.br/sis/api/v1/busca_dados_rentatec.php

Desenvolvimento (sandbox):
http://rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php

Endereços para o sistema:
Sistema X-ERP (Produção)
Sistema X-ERP (Sandbox)

Gerando ApiKey

Para gerar sua ApiKey é necessario um login no sistema X-ERP e então acessar no menu Adm. de Sistemas > Configuração do Sistema > Cadastro de Usuários.

Selecione seu usuário na parte superior antes de gerar a Api Key.

imagem

Na aba de CONFIGURAÇÕES ESPECIAIS irá encontrar um campo chamado Developer Api Key e um botão chamado Gerar Api Key.

imagem

Ele irá gerar um chave que será utilizada junto com seu nome de usuário fazendo um base64 para criar a autorização.

Exemplo de como gerar a autorização:

{nome_usuario} = "usuario.teste"

{apikey} = "M7DYtC1zeDvYRCcZXMvaEi5a0QSH4z"

{autorizacao} = "base64_encode({nome_usuario:apikey})"

Depois de gerada a autorização, deve ser passada no header para envio.

Lembrete: os dados serão buscados com o código da empresa que está em seu usuário, no caso na empresa que está logado ou fez login por último.

Envio por Curl

curl --location --request POST 'rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php' \

--header 'Authorization: {autorizacao}' \

--header 'Content-Type: application/json' \

Tipos de Acessos

Existem 4 variações de "{tipo_acesso}" para utilização. No momento, servem apenas para buscar informações.

  • Tabelas
  • Índices
  • Colunas
  • Dados

Cada uma delas busca informações necessárias, de acordo com o tipo.

Para envio dos dados, o mesmo deve ser feito no formato JSON.

Tabelas

Para começar as consultas, será necessário ter primeiro os nomes da tabelas, são com elas que você poderá fazer as consultas das colunas e dados.

Siga o exemplo ao lado direito para fazer sua primeira consulta.

Por exemplo, para buscar os dados de uma tabela, você precisa saber o nome da tabela, para então utilizar o tipo de acesso tabelas.

* Obrigatório.

Campo Tipo Informação
tipo_acesso* string Serve para selecionar o tipo informação que deseja buscar (tabelas, indices, colunas, dados)
nome_tabela* string O nome da tabela que buscará a informação. Para recuperar todos os nomes de tabelas, utilize "*"
Envio por Curl

curl --location --request POST 'rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php' \

--header 'Authorization: {autorizacao}' \

--header 'Content-Type: application/json' \

--data-raw '{
"tipo_acesso": "tabelas",
"nome_tabela": "*"
}'

Retorno em JSON do Envio

'{
"total_registro": 366,
"retorno": [
"acesso",
"adiantamento",
"agenda",
...
]
}'

Índices

Esse tipo de acesso serve para buscar somente os índices das colunas da tabela selecionada.

São capazes de reduzir a quantidade de dados que o servidor teria que examinar.

São capazes de ajudar o servidor a ordenar (ex. ORDER BY) e evitar criação de tabelas temporárias.

O uso de "são capazes" é porque nem todo os indexes criados vão fazer isso, até porque talvez eles nunca sejam utilizados.

Nos exemplos a seguir vamos utilizar a tabela pedido.

* Obrigatório.

Campo Tipo Informação
tipo_acesso* string Serve para selecionar o tipo informação que deseja buscar (tabelas, indices, colunas, dados)
nome_tabela* string O nome da tabela que buscará a informação. Ppara recuperar todos os nomes de tabelas, utilize "*"
Envio por Curl

curl --location --request POST 'rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php' \

--header 'Authorization: {autorizacao}' \

--header 'Content-Type: application/json' \

--data-raw '{
"tipo_acesso": "indices",
"nome_tabela": "pedido"
}'

Retorno em JSON do Envio

'{
"total_registro": 60,
"retorno": [
{
"Table": "pedido",
""Non_unique": "0",
"Key_name": "PRIMARY",
"Seq_in_index": "1",
"Column_name": "codigo_empresa",
"Collation": "A",
"Cardinality": null,
"Sub_part": null,
"Packed": null,
"Null": "",
"Index_type": "BTREE",
"Comment": "",
"Index_comment": ""
}
]
}'

Colunas

Serve para buscar as colunas de uma tabela solicitada, caso precise saber os nome das colunas para pesquisa antes de buscar os dados.

Vamos usar a tabela pedido como exemplo.

* Obrigatório.

Campo Tipo Informação
tipo_acesso* string Serve para selecionar o tipo informação que deseja buscar (tabelas, indices, colunas, dados)
nome_tabela* string O nome da tabela que buscará a informação. Para recuperar todos os nomes de tabelas, utilize "*"
Envio por Curl

curl --location --request POST 'rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php' \

--header 'Authorization: {autorizacao}' \

--header 'Content-Type: application/json' \

--data-raw '{
"tipo_acesso": "colunas",
"nome_tabela": "pedido"
}'

Retorno em JSON do Envio

'{
"total_registro": 140,
"retorno": [
"id",
"codigo_empresa",
"numero_pedido",
"codigo_deposito",
"situacao_pedido",
"tipo_pedido",
"codigo_cliente",
"codigo_regiao",
...
]
}'

Dados

Para buscar os dados será necessário passar parâmetros no JSON, ou no caso "filtros".

Os primeiros são "tipo_acesso" e "nome_tabela".

* Obrigatório.

Campo Tipo Informação
tipo_acesso* string Serve para selecionar o tipo informação que deseja buscar (tabelas, indices, colunas, dados)
nome_tabela* string O nome da tabela que buscará a informação. Para recuperar todos os nomes de tabelas, utilize "*"
colunas* array(string) Passe como array '["*"]' para buscar todas as colunas. Informe as colunas que quer como '["id", "numero_pedido"]'
pagina string Passe como string a numeração da pagina para ser trazida, (máximo de 50 pesquisas são trazidas por página)
condicoes array(string) Passe o array '[{"coluna","parametro","valor"}]' caso esteja presente na fórmula
condicoes.coluna* string Passar como string o nome da coluna para filtrar. Ex:'"coluna": "data_pedido"'
condicoes.parametro* string Passar como string a condicional para filtrar. Condicionais disponíveis "(“=”,”>=”,”<=”,”!=”,”like”,”in”,”<>”)" ex:'"parametro": ">="'
condicoes.valor* string Passar como string o valor que deseja filtrar. Ex:'"valor": "2021-01-01"'
relacionamento array(string) Informar como array '[{"dados"}]' os campos que precisará relacionar de uma tabela secundária com a primeira, so é obrigatório caso ele esteja presente
relacionamento.nome_tabela* array(string) Passar como string o nome da tabela que precisa ser relacionado
relacionamento.colunas* string Passe como array '["*"]' para buscar todas as colunas. Informe as colunas que quer como '["id", "numero_pedido"]'
relacionamento.condicoes* array(string) Passe o array '[{"coluna_principal","parametro","coluna_secundaria"}]' caso esteja presente na fórmula
relacionamento.condicoes.coluna_principal* string Passar como string o nome da coluna da tabela secundária para filtrar. Ex:'"coluna_principal": "numero_pedido"'
relacionamento.condicoes.parametro* string Passar como string a condicional para filtrar. Condicionais disponíveis "(“=”,”>=”,”<=”,”!=”,”<>”)" ex:'"parametro": "="'
relacionamento.condicoes.coluna_secundaria* string Passar como string o valor da tabela principal que será relacionado na coluna. Ex:'"coluna_secundaria": "numero_pedido"'
Envio por Curl

curl --location --request POST 'rentatec.ddns.net/x-erp.com.br/sis/api/v1/busca_dados_rentatec.php' \

--header 'Authorization: {autorizacao}' \

--header 'Content-Type: application/json' \

--data-raw '{
"tipo_acesso": "dados",
"nome_tabela": "pedido"
"colunas": [
"*"
],
"condicoes": [
{
"coluna": "data_pedido",
"parametro": ">=",
"valor": "2021-01-01"
}
],
"pagina": "1",
"relacionamento": [
{
"nome_tabela": "mpedido",
"colunas": [
"*"
],
"condicoes": [
{
"coluna_principal": "numero_pedido",
"parametro": "=",
"coluna_secundaria": "numero_pedido"
}
]
}
]
}'

Retorno em JSON do Envio

'{
"total_registro": 1,
"total_registros_pagina": 1,
"Total_paginas": 1,
"pagina_atual": 1,
"retorno": [
{
"pedido": {
"id": "00000000",
"codigo_empresa": "0000",
"numero_pedido": "0000000",
"codigo_deposito": "0000",
"situacao_pedido": "F",
"tipo_pedido": "",
"codigo_cliente": "0000",
"codigo_regiao": "",
"codigo_distribuidor": "",
"codigo_representante": " ",
"codigo_vendedor": "",
"data_pedido": "2021-01-01",
"pedido_cliente": "",
"qtde_item": "1",
"qtde_total": "14.0000",
"valor_produto": "1750.00",
"valor_ipi": "0.00",
"valor_substituicao_tributaria": "0.00",
"valor_total": "1750.00",
"valor_promocao": "0.00",
"base_calculo_substituicao": "0.00",
"condicao_pagamento": "000",
"desconto1": "0.0000",
"desconto2": "0.0000",
"desconto3": "0.0000",
"desconto4": "0.0000",
"mpedido": [
{
"id": "000000",
"codigo_empresa": "0000",
"numero_pedido": "0000000",
"sequencia": "1",
"codigo_produto": "000000",
"numero_lote": "",
"qualidade": "",
"tamanho": "",
"cor": "",
"descricao_produto": "CAVACO.",
"quantidade": "14.0000",
"quantidade_final": "14.0000",
"quantidade_troca": "0.0000",
"preco_unitario": "125.0000",
"valor_produto": "1750.00",
"aliquota_ipi": "0.00",
"valor_ipi": "0.00",
"valor_substituicao_tributaria": "0.00",
"valor_total": "1750.00",
"base_calculo_substituicao": "0.00",
"quantidade_faturada": "0.0000",
"quantidade_cancelada": "0.0000",
"quantidade_devolvida": "0.0000",
"situacao_pedido_item": "A",
"percentual_comissao": "0.0000",
"valor_comissao": "0.0000",
}
]
"}
}
]
}'