MENU
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.
Na aba de CONFIGURAÇÕES ESPECIAIS irá encontrar um campo chamado Developer Api Key e um botão chamado Gerar Api Key.
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.
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
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 "*" |
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": "*"
}'
'{
"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 "*" |
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"
}'
'{
"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 "*" |
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"
}'
'{
"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"' |
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"
}
]
}
]
}'
'{
"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",
}
]
"}
}
]
}'