Integração & Desenvolvimento

Documentação da API MecanicaLembre

Conecte sua aplicação, sistema externo ou automação ao MecanicaLembre. Disponível apenas nos planos Profissional e Empresarial.

Visão Geral

A API do MecanicaLembre permite consultar e registrar manutenções de veículos de forma programática, seguindo o padrão REST com respostas em formato JSON e codificação UTF-8.

URL Base: https://www.mecanicalembre.com.br/api

Requisitos

  • Plano Profissional ou Empresarial ativo
  • Token de API gerado na Área do Cliente (menu Configurações)
  • Requisições exclusivamente via HTTPS
  • Parâmetros sempre passados via query string (GET) ou form-urlencoded (POST)

Versão Atual

v1.0 — Lançamento inicial com 3 endpoints: Próxima Troca, Manutenção por Placa e Salvar Manutenção.

Autenticação

Todas as requisições devem incluir o token da oficina como parâmetro na URL. Sem ele, a resposta será:

{ "sucesso": false, "mensagem": "Token não informado." }

Como enviar o token

O token deve ser passado via query string na URL:

# Exemplo GET https://www.mecanicalembre.com.br/api/ConsultarProximaTroca?token=SEU_TOKEN_AQUI
Segurança: Nunca exponha seu token em código de frontend público. Prefira chamar a API a partir do seu servidor backend.

Obtendo seu Token

  1. Acesse o Dashboard da sua oficina
  2. Clique no botão Configurações (ícone de sliders)
  3. Localize a seção Token de Integração API
  4. Copie o token exibido ou clique em Gerar para criar um novo
Ao gerar um novo token, o antigo é invalidado imediatamente. Atualize suas integrações antes de gerar.

Formato de Resposta

Todas as respostas retornam um objeto JSON com o campo sucesso indicando o resultado da operação.

Sucesso

{ "sucesso": true, "mensagem": "Sucesso", "total": 12, "offset": 0, "limit": 100, "dados": [ /* ... */ ] }

Erro

{ "sucesso": false, "mensagem": "Token inválido ou expirado.", "total": 0, "offset": 0, "limit": 100 }

Campos Comuns

CampoTipoDescrição
sucessobooleantrue se deu certo, false caso contrário
mensagemtextoDescrição do resultado ou do erro
totalnúmeroQuantidade total de registros retornados
offsetnúmeroPosição inicial da paginação
limitnúmeroQuantidade máxima de registros por página
dadosarrayLista de registros (presente apenas em sucesso)

Códigos & Limites

Limites de Requisição

  • Profissional: até 100 requisições/minuto
  • Empresarial: até 500 requisições/minuto
  • Ao ultrapassar, o servidor retorna erro 429 Too Many Requests

Códigos HTTP

CódigoDescrição
200Sucesso — dados retornados
400Requisição inválida — parâmetros faltando ou malformados
401Não autorizado — token ausente ou inválido
404Não encontrado — recurso não existe
500Erro interno — contate o suporte

Consultar Próxima Troca

Retorna todas as manutenções com próxima troca agendada da oficina, com paginação e dias de antecedência configurados.

GET /api/ConsultarProximaTroca

Parâmetros

NomeTipoObrigatórioDescrição
token texto Sim Token da oficina
offset número Não Posição inicial (padrão: 0)
limit número Não Máx. de registros (padrão: 100)

Exemplo de Requisição

# GET https://www.mecanicalembre.com.br/api/ConsultarProximaTroca?token=abc123&limit=50&offset=0

Resposta de Sucesso 200

{ "sucesso": true, "mensagem": "Sucesso", "dias_antecedencia": 7, "offset": 0, "limit": 50, "total": 3, "dados": [ { "id": "1024", "placa": "ABC1D23", "modelo": "Civic", "km_atual": "45000", "km_troca": "50000", "servico": "Troca de Óleo", "proxima_data": "2026-10-15", "data_manutencao": "2026-09-10", "whatsapp": "65999990000", "nome_cliente": "João da Silva" } ] }

Campos Retornados

CampoTipoDescrição
idtextoID da manutenção
placatextoPlaca do veículo
modelotextoModelo do veículo
km_atualtextoKM registrado na última manutenção
km_trocatextoKM previsto para a próxima troca
servicotextoNome do serviço
proxima_datadataData agendada da próxima troca (YYYY-MM-DD)
data_manutencaodataData em que a última manutenção foi feita
whatsapptextoWhatsApp do cliente (só números)
nome_clientetextoNome do cliente

Consultar Manutenção por Placa

Retorna o histórico completo de manutenções de um veículo específico, identificado pela placa.

GET /api/ConsultarManutencaoPorPlaca

Parâmetros

NomeTipoObrigatórioDescrição
token texto Sim Token da oficina
placa texto Sim Placa do veículo (ex: ABC1D23)
offset número Não Posição inicial (padrão: 0)
limit número Não Máx. de registros (padrão: 100)

Exemplo de Requisição

# GET https://www.mecanicalembre.com.br/api/ConsultarManutencaoPorPlaca?token=abc123&placa=ABC1D23

Resposta de Sucesso 200

{ "sucesso": true, "mensagem": "Sucesso", "offset": 0, "limit": 100, "total": 5, "dados": [ { "id": "1024", "placa": "ABC1D23", "modelo": "Civic", "km_atual": "45000", "km_troca": "50000", "servico": "Troca de Óleo", "valor": 150.00, "proxima_data": "2026-10-15", "data_manutencao": "2026-09-10", "whatsapp": "65999990000", "nome_cliente": "João da Silva" } ] }

Campos Retornados

Além dos mesmos campos de Próxima Troca, este endpoint também retorna:

CampoTipoDescrição
valornúmeroValor do serviço em reais (número, não string)
Se nenhuma manutenção for encontrada, o retorno será sucesso: false com a mensagem "Nenhuma manutenção encontrada para esta placa.".

Salvar Manutenção

Cadastra uma nova manutenção ou atualiza uma existente (quando o campo id é informado).

POST /api/SalvarManutencao

Parâmetros (form-urlencoded)

CampoTipoObrigatórioDescrição
token texto Sim Token da oficina
id número Não Se informado, atualiza; se vazio, cadastra
id_cliente número Sim ID do cliente
id_veiculo número Sim ID do veículo
servico texto Sim Nome do serviço (ex: Troca de Óleo)
valor número Sim Valor em reais (ex: 150.00) — use ponto decimal
km_atual número Não KM atual do veículo (padrão: 0)
km_troca número Não KM da próxima troca (padrão: 0)
data_manutencao data Não Formato YYYY-MM-DD (padrão: hoje)
proxima_data data Não Formato YYYY-MM-DD
obs texto Não Observações adicionais

Exemplo de Requisição (cadastro)

# POST /api/SalvarManutencao # Content-Type: application/x-www-form-urlencoded token=abc123 id_cliente=101 id_veiculo=55 servico=Troca de Óleo valor=150.00 km_atual=45000 km_troca=50000 proxima_data=2026-10-15 obs=Óleo sintético 5W30

Resposta de Sucesso 200

{ "sucesso": true, "mensagem": "Manutenção CADASTRADA com sucesso!", "id": "1025" }

Resposta em Caso de Atualização

{ "sucesso": true, "mensagem": "Manutenção ATUALIZADA com sucesso!", "id": "1024" }

Erros Comuns

{ "sucesso": false, "mensagem": "Cliente e Veículo são obrigatórios." }

Exemplos de Código

JavaScript (Fetch) — Consultar Próxima Troca

const TOKEN = "seu_token_aqui"; const BASE_URL = "https://www.mecanicalembre.com.br/api"; async function buscarProximaTroca() { const url = `/ConsultarProximaTroca?token=&limit=50`; const res = await fetch(url); const data = await res.json(); if (data.sucesso) { console.log(`Total: registros`); data.dados.forEach(item => { console.log(` - - `); }); } else { console.error("Erro:", data.mensagem); } } buscarProximaTroca();

JavaScript (Fetch) — Salvar Manutenção

async function salvarManutencao() { const params = new URLSearchParams(); params.append("token", TOKEN); params.append("id_cliente", "101"); params.append("id_veiculo", "55"); params.append("servico", "Troca de Óleo"); params.append("valor", "150.00"); params.append("km_atual", "45000"); params.append("km_troca", "50000"); params.append("proxima_data", "2026-10-15"); const res = await fetch(`/SalvarManutencao`, { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: params }); const data = await res.json(); if (data.sucesso) { console.log("ID gerado:", data.id); } else { console.error("Erro:", data.mensagem); } } salvarManutencao();

Java (HttpURLConnection) — Consultar por Placa

String token = "seu_token_aqui"; String placa = "ABC1D23"; String url = "https://www.mecanicalembre.com.br/api/ConsultarManutencaoPorPlaca" + "?token=" + token + "&placa=" + placa; URL obj = new URL(url); HttpURLConnection conn = (HttpURLConnection) obj.openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8")); String linha; StringBuilder resposta = new StringBuilder(); while ((linha = in.readLine()) != null) { resposta.append(linha); } in.close(); System.out.println(resposta.toString());

PHP (cURL) — Salvar Manutenção

$data = [ 'token' => 'seu_token_aqui', 'id_cliente' => 101, 'id_veiculo' => 55, 'servico' => 'Troca de Óleo', 'valor' => '150.00', 'km_atual' => 45000, 'km_troca' => 50000, 'proxima_data' => '2026-10-15' ]; $ch = curl_init('https://www.mecanicalembre.com.br/api/SalvarManutencao'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $resposta = curl_exec($ch); curl_close($ch); echo $resposta;

Tratamento de Erros

Todas as respostas de erro retornam o campo sucesso: false e uma mensagem descritiva:

{ "sucesso": false, "mensagem": "Token inválido ou expirado.", "total": 0, "offset": 0, "limit": 100 }

Erros Mais Comuns

MensagemCausaSolução
Token não informado. Parâmetro token ausente na URL Adicione ?token=SEU_TOKEN
Token inválido ou expirado. Token incorreto ou revogado Gere um novo em Configurações
Placa não informada. Parâmetro placa ausente Adicione &placa=ABC1D23
Cliente e Veículo são obrigatórios. Faltou id_cliente ou id_veiculo Envie ambos no POST
Use o método GET. Requisição POST em endpoint de consulta Use GET
Use o método POST para salvar. Requisição GET em endpoint de escrita Use POST

Boas Práticas

  • Sempre verifique o campo sucesso antes de acessar dados
  • Respeite o intervalo de retentativa exponencial (1s → 2s → 4s → 8s)
  • Não armazene o token em código-fonte público
  • Ao receber sucesso: false, mostre a mensagem ao usuário
  • Valide os campos antes de enviar, evitando chamadas desnecessárias

Versão & Changelog

v1.0 — Lançamento

  • ✅ Endpoint Consultar Próxima Troca
  • ✅ Endpoint Consultar Manutenção por Placa
  • ✅ Endpoint Salvar Manutenção (cadastro + atualização)
  • ✅ Autenticação via token na query string
  • ✅ Paginação via offset e limit
  • ✅ Respostas em JSON com UTF-8

Próximas Atualizações

  • 📋 Endpoint de Clientes (listar / cadastrar)
  • 📋 Endpoint de Veículos (listar / cadastrar)
  • 📋 Webhooks para eventos automáticos
Precisa de algo? Envie sua sugestão pelo menu Suporte — priorizamos funcionalidades mais pedidas.