API do Sistema Mapogos
Conecte painéis, BI e ERPs ao Mapogos com segurança: leia e escreva dados dos módulos autorizados, cruze informações e receba eventos em tempo real. Cada chave faz exatamente o que foi liberado na criação.
https://apimapogos.sixinformatica.com/v1v1 na URL — mudanças incompatíveis viram v2-03:00) · dinheiro em string decimal ("1234.50")Autenticação
Envie a chave no header Authorization em toda requisição. Chaves são criadas no painel em API do Sistema → Criar nova API e exibidas uma única vez.
curl -X GET "https://apimapogos.sixinformatica.com/v1/me" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/me');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/me', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/me',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])- Formato:
mpg_live_XXXXXXXXXXXX_…(produção) oumpg_test_…(teste). Guardamos só um hash — nem a SIX consegue recuperar a chave. - Guarde em variável de ambiente / cofre de segredos. Nunca em código, repositório ou front-end.
- Rotação: “Regenerar” cria uma chave nova e a anterior para na hora. Faça a troca em janela combinada.
- A chave pode ser suspensa, reativada, revogada (definitivo), ter expiração, lista de IPs e limite por minuto.
- Apenas HTTPS. Requisições HTTP recebem
403 https_obrigatorio.
Formato das respostas
Sucesso
{
"sucesso": true,
"dados": {
"id": 1024,
"name": "Maria Fernanda Souza"
},
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 50,
"paginas": 1
},
"request_id": "req_4f1c2a9b8e7d6c5b4a39"
}Erro
{
"sucesso": false,
"erro": {
"codigo": "permissao_negada",
"mensagem": "Esta chave não tem permissão 'criar' no módulo 'pagamentos'.",
"detalhes": [
{
"modulo": "pagamentos",
"permissao": "criar"
}
]
},
"request_id": "req_9a8b7c6d5e4f3a2b1c0d"
}Todo retorno traz request_id (também no header X-Request-Id). Informe-o ao suporte para localizar a chamada nos logs. Erros nunca expõem SQL, caminhos ou stack trace.
Paginação, filtros e ordenação
| Parâmetro | Descrição | Exemplo |
|---|---|---|
pagina, por_pagina | Página (1…) e itens por página (1–200, padrão 50). meta traz total, paginas, pagina, por_pagina. | ?pagina=2&por_pagina=100 |
{campo} | Filtro exato nos campos listados como filtráveis em cada módulo. Vários valores separados por vírgula (IN). | ?status=ativa,atrasada |
q | Busca textual nos campos de busca do módulo. | ?q=logan |
criado_desde, criado_ate | Período pela data de criação (AAAA-MM-DD ou ISO 8601). | ?criado_desde=2026-01-01 |
atualizado_desde | Registros criados ou alterados a partir da data — ver sincronização. | ?atualizado_desde=2026-10-08T00:00:00-03:00 |
ordenar | Campos da lista branca do módulo; - = decrescente; até 3. | ?ordenar=-due_date,id |
campos | Devolve só os campos pedidos (o id sempre vem). | ?campos=id,name,status |
incluir | No detalhe, embute relações (exige ler no módulo relacionado; senão 403). | /v1/locacoes/10?incluir=cliente,veiculo,pagamentos |
Parâmetros desconhecidos, campos fora da lista branca e valores do tipo errado retornam 400 parametro_invalido — de propósito, para que um filtro digitado errado nunca devolva dados “sem filtro”.
Sincronização incremental
Para manter um painel externo atualizado sem baixar tudo de novo, guarde o horário da última sincronização e peça só o que mudou:
curl -X GET "https://apimapogos.sixinformatica.com/v1/pagamentos?atualizado_desde=2026-10-08T09:00:00-03:00&por_pagina=200" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pagamentos?atualizado_desde=2026-10-08T09:00:00-03:00&por_pagina=200');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pagamentos?atualizado_desde=2026-10-08T09:00:00-03:00&por_pagina=200', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pagamentos?atualizado_desde=2026-10-08T09:00:00-03:00&por_pagina=200',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])Módulos com coluna de atualização própria usam essa coluna. Os demais (clientes, locações, pagamentos, parcelas, veículos, multas, OS…) são rastreados por um registro de alterações do próprio Mapogos, mantido por 90 dias. Módulos sem nenhum dos dois consideram a data de criação e avisam em meta.avisos.
Exportação em lote
Exige a permissão exportar. Pagina por cursor (estável mesmo com inserções durante a leitura), até 1000 por página, em JSON ou CSV (;, UTF-8 com BOM).
curl -X GET "https://apimapogos.sixinformatica.com/v1/clientes/exportar?limite=1000&formato=json" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/clientes/exportar?limite=1000&formato=json');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/clientes/exportar?limite=1000&formato=json', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/clientes/exportar?limite=1000&formato=json',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])Continue com ?cursor={meta.proximo_cursor} até meta.tem_mais = false. No CSV o cursor vem no header X-Proximo-Cursor.
Escrita e idempotência
- Corpo JSON com
Content-Type: application/json(senão415). Limite de 1 MB. - Validação devolve todos os erros de uma vez em
erro.detalhes(422 validacao). - Envie
Idempotency-Key(8–100 caracteres) em todo POST/PATCH/DELETE: reenvios com a mesma chave em 24h devolvem a resposta original (headerIdempotent-Replayed: true) e nunca duplicam cobrança ou registro. Mesma chave com outro corpo →409. - Operações que tocam várias tabelas rodam em transação. Escritas financeiras seguem as mesmas regras do painel (baixa, cancelamento de PIX pendente, ciclo de cobrança, notificações).
- Toda escrita fica registrada na auditoria do sistema com o nome da chave que a fez.
Códigos de erro
| HTTP | codigo | Quando acontece |
|---|---|---|
| 401 | nao_autenticado | Header Authorization ausente ou fora do formato Bearer. |
| 401 | chave_invalida | Chave inexistente ou incorreta. |
| 401 | chave_suspensa | Chave suspensa pelo administrador. |
| 401 | chave_revogada | Chave revogada definitivamente. |
| 401 | chave_expirada | Chave passou da data de expiração. |
| 403 | https_obrigatorio | Requisição feita sem HTTPS. |
| 403 | ip_nao_permitido | IP de origem fora da lista permitida da chave. |
| 403 | permissao_negada | A chave não tem a permissão exigida no módulo. |
| 403 | carteira_nao_permitida | A chave é restrita a outra(s) carteira(s). |
| 403 | acao_indisponivel | O módulo não oferece esta ação pela API. |
| 404 | nao_encontrado | Registro não existe (ou está fora das carteiras da chave). |
| 404 | rota_inexistente | Rota ou módulo desconhecido. |
| 405 | metodo_nao_permitido | Método HTTP não suportado nesta rota. |
| 409 | conflito | Estado do registro impede a operação. |
| 409 | idempotencia_conflito | Idempotency-Key reutilizada com corpo diferente. |
| 413 | corpo_muito_grande | Corpo da requisição acima do limite. |
| 415 | tipo_conteudo_invalido | Escrita exige Content-Type: application/json. |
| 400 | json_invalido | Corpo não é um JSON válido. |
| 400 | parametro_invalido | Parâmetro de consulta inválido (filtro, ordenação, campos, paginação). |
| 422 | validacao | Um ou mais campos inválidos; ver detalhes. |
| 429 | limite_excedido | Limite de requisições por minuto excedido. |
| 500 | erro_interno | Falha inesperada; informe o request_id ao suporte. |
Limites de uso
Cada chave tem um limite de requisições por minuto (padrão 120, configurável). Toda resposta autenticada traz:
X-RateLimit-Limit | Limite por minuto |
X-RateLimit-Remaining | Restante na janela atual |
X-RateLimit-Reset | Epoch (s) em que a janela reinicia |
Ao estourar: 429 limite_excedido com Retry-After (segundos). Muitas falhas de autenticação do mesmo IP também geram 429. Faça backoff exponencial.
Dados pessoais (LGPD)
CPF/CNPJ, RG, CNH, telefone, e-mail, endereço, conteúdo de mensagens e semelhantes só vêm abertos quando a chave tem dados pessoais no módulo. Sem isso chegam mascarados — por exemplo ***.456.789-**, *******5432, m***@exemplo.com.br — e a busca por documento fica desabilitada. Senhas, hashes, tokens de sessão, segredos de bancos/WhatsApp, chaves privadas e certificados nunca são expostos.
Carteiras
O Mapogos separa a operação em carteiras: mapogos (frota própria) e premium (frota Premium/particular). Uma chave pode ser restrita a uma delas; a restrição vale em toda consulta, relação, relatório e webhook. Registros de outra carteira retornam 404. Módulos sem vínculo de carteira (usuários, estoque, drive, despesas, lançamentos) são globais.
Utilitários
GET /v1/status | Saúde da API e do banco. Sem autenticação. |
GET /v1/me | Dados da chave: ambiente, carteiras, limite, expiração e permissões concedidas. |
GET /v1/modulos | Módulos que esta chave pode acessar, com ações e relações. |
curl -X GET "https://apimapogos.sixinformatica.com/v1/modulos" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/modulos');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/modulos', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/modulos',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])Cruzamentos
GET /v1/locacoes/{id}?incluir=cliente,veiculo,pagamentos,vistorias | Locação com cliente, veículo, cobranças e vistorias embutidos. |
GET /v1/{modulo}/{id}/{relacao} | Qualquer relação paginada — ex.: /v1/clientes/{id}/locacoes, /v1/clientes/{id}/pagamentos, /v1/acordos/{id}/parcelas. |
GET /v1/veiculos/{id}/historico | Linha do tempo do veículo: locações, OS, multas, vistorias e comandos do rastreador (só as seções que a chave pode ler). |
curl -X GET "https://apimapogos.sixinformatica.com/v1/locacoes/1024?incluir=cliente,veiculo,pagamentos" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/locacoes/1024?incluir=cliente,veiculo,pagamentos');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/locacoes/1024?incluir=cliente,veiculo,pagamentos', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/locacoes/1024?incluir=cliente,veiculo,pagamentos',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])Relatórios
| Rota | Permissão | Parâmetros | Conteúdo |
|---|---|---|---|
/v1/dashboard | dashboard | carteira | Indicadores gerais do sistema: frota por status, locações ativas, cobranças pendentes e em atraso, recebido no dia e no mês, acordos e OS abertas. |
/v1/relatorios/financeiro | relatorios_financeiro | de, ate, carteira | Recebido, a receber e em atraso num período (?de=AAAA-MM-DD&ate=AAAA-MM-DD&carteira=), somando aluguéis, taxas e parcelas de acordo. Contratos com receita oculta ficam fora, igual ao painel. |
/v1/relatorios/frota | relatorios_frota | carteira | Situação da frota: disponível, locado, em manutenção, inativo, vendido e bloqueado no rastreador, por carteira. |
/v1/relatorios/dre · /fluxo_caixa · /roi_veiculos | financeiro_visao | de, ate · dias | DRE do período, previsão de fluxo de caixa 30/60/90 e ROI por veículo — os mesmos cálculos das telas DRE & Lucro, Fluxo de Caixa e ROI por Veículo. Exige chave sem restrição de carteira. |
/v1/carteiras | carteiras | — | Carteiras do Mapogos (mapogos = frota própria, premium = frota Premium/particular). Uma chave pode ser restrita a uma ou mais carteiras. |
curl -X GET "https://apimapogos.sixinformatica.com/v1/relatorios/financeiro?de=2026-10-01&ate=2026-10-31" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/relatorios/financeiro?de=2026-10-01&ate=2026-10-31');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/relatorios/financeiro?de=2026-10-01&ate=2026-10-31', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/relatorios/financeiro?de=2026-10-01&ate=2026-10-31',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados'])Operação
Clientes
clientes
Locatários e compradores: identificação, CNH, contato e endereço.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/clientes | ler | Lista paginada com filtros |
GET /v1/clientes/{id} | ler | Detalhe (aceita incluir) |
GET /v1/clientes/{id}/locacoes | ler em locacoes | Relação → Locações |
GET /v1/clientes/{id}/pagamentos | ler em pagamentos | Relação → Pagamentos |
GET /v1/clientes/{id}/acordos | ler em acordos | Relação → Acordos |
GET /v1/clientes/{id}/multas | ler em multas | Relação → Multas |
GET /v1/clientes/{id}/documentos | ler em clientes | Relação → Documentos do cliente |
GET /v1/clientes/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/clientes | criar | Cadastrar cliente |
PATCH /v1/clientes/{id} | atualizar | Atualizar cliente (parcial) |
Campos (31) · 17 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
name | texto | Nome completo / razão social | ordenar |
cpf_cnpj | texto | CPF ou CNPJ | LGPD |
cpf | texto | cpf | LGPD |
rg | texto | rg | LGPD |
birth_date | data | birth date | LGPD |
civil_status | texto | civil status | |
profession | texto | profession | |
phone | texto | Telefone | LGPD |
email | texto | LGPD | |
cnh | texto | cnh | LGPD |
cnh_registro | texto | cnh registro | LGPD |
cnh_categoria | texto | cnh categoria | filtro |
cnh_validade | data | cnh validade | ordenar |
cnh_emissao | data | cnh emissao | |
cnh_primeira_habilitacao | data | cnh primeira habilitacao | |
cep | texto | cep | LGPD |
street | texto | street | LGPD |
number | texto | number | LGPD |
complement | texto | complement | LGPD |
neighborhood | texto | neighborhood | LGPD |
city | texto | city | filtro |
uf | texto | uf | filtro |
address | texto | address | LGPD |
reference_point | texto | reference point | LGPD |
neighbors | objeto JSON | Vizinhos de referência (JSON) | LGPD |
witness_neighbors | objeto JSON | Testemunhas (JSON) | LGPD |
billing_day | inteiro | Dia de cobrança preferido | |
billing_start_date | data | billing start date | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
log_origem | texto | Origem do registro (sistema novo/antigo) | filtro |
Busca q: name · criado_desde: sim · atualizado_desde: registro de alterações · eventos: cliente.criado, cliente.atualizado
curl -X GET "https://apimapogos.sixinformatica.com/v1/clientes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/clientes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/clientes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/clientes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"name": "Maria Fernanda Souza",
"cpf_cnpj": "123.456.789-09",
"cpf": "12345678909",
"rg": "1234567",
"birth_date": "2026-10-08",
"civil_status": "texto",
"profession": "texto",
"phone": "(91) 99876-5432",
"email": "maria@exemplo.com.br",
"cnh": "01234567890",
"cnh_registro": "texto",
"cnh_categoria": "texto",
"cnh_validade": "2026-10-08"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Cadastrar cliente
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | texto | sim | Nome completo / razão social |
cpf_cnpj | texto | não | CPF ou CNPJ válido (com ou sem máscara; gravado só com dígitos). Duplicado → 409 |
email | texto | não | E-mail válido |
phone | texto | não | DDD + número (gravado só com dígitos) |
telefones_extras | lista | não | Lista de telefones auxiliares (substitui os atuais) |
cep | texto | não | 8 dígitos |
street | texto | não | |
number | texto | não | |
complement | texto | não | |
neighborhood | texto | não | |
city | texto | não | |
uf | texto | não | Sigla do estado |
cnh_registro | texto | não | |
cnh_categoria | texto | não | Ex.: AB |
cnh_validade | data | não | |
cnh_emissao | data | não | |
cnh_primeira_habilitacao | data | não | |
rg | texto | não | |
birth_date | data | não | |
civil_status | texto | não | |
profession | texto | não | |
reference_point | texto | não | |
neighbors | lista | não | Até 3 vizinhos [{"name":"…","phone":"…"}] |
witness_neighbors | lista | não | Até 3 testemunhas [{"name":"…","phone":"…"}] |
curl -X POST "https://apimapogos.sixinformatica.com/v1/clientes" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Maria Fernanda Souza","cpf_cnpj":"529.982.247-25","phone":"(91) 99876-5432","email":"maria@exemplo.com.br","cep":"66000-000","city":"Belém","uf":"PA"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/clientes');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'Maria Fernanda Souza',
'cpf_cnpj' => '529.982.247-25',
'phone' => '(91) 99876-5432',
'email' => 'maria@exemplo.com.br',
'cep' => '66000-000',
'city' => 'Belém',
'uf' => 'PA',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/clientes', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"name":"Maria Fernanda Souza","cpf_cnpj":"529.982.247-25","phone":"(91) 99876-5432","email":"maria@exemplo.com.br","cep":"66000-000","city":"Belém","uf":"PA"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/clientes',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"name":"Maria Fernanda Souza","cpf_cnpj":"529.982.247-25","phone":"(91) 99876-5432","email":"maria@exemplo.com.br","cep":"66000-000","city":"Belém","uf":"PA"},
timeout=30,
)
print(resp.json()['dados'])Atualizar cliente (parcial)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | texto | não | Nome completo / razão social |
cpf_cnpj | texto | não | CPF ou CNPJ válido (com ou sem máscara; gravado só com dígitos). Duplicado → 409 |
email | texto | não | E-mail válido |
phone | texto | não | DDD + número (gravado só com dígitos) |
telefones_extras | lista | não | Lista de telefones auxiliares (substitui os atuais) |
cep | texto | não | 8 dígitos |
street | texto | não | |
number | texto | não | |
complement | texto | não | |
neighborhood | texto | não | |
city | texto | não | |
uf | texto | não | Sigla do estado |
cnh_registro | texto | não | |
cnh_categoria | texto | não | Ex.: AB |
cnh_validade | data | não | |
cnh_emissao | data | não | |
cnh_primeira_habilitacao | data | não | |
rg | texto | não | |
birth_date | data | não | |
civil_status | texto | não | |
profession | texto | não | |
reference_point | texto | não | |
neighbors | lista | não | Até 3 vizinhos [{"name":"…","phone":"…"}] |
witness_neighbors | lista | não | Até 3 testemunhas [{"name":"…","phone":"…"}] |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/clientes/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"phone":"(91) 98888-7777","city":"Ananindeua"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/clientes/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'phone' => '(91) 98888-7777',
'city' => 'Ananindeua',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/clientes/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"phone":"(91) 98888-7777","city":"Ananindeua"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/clientes/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"phone":"(91) 98888-7777","city":"Ananindeua"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Metadados de documentos anexados ao cliente (CNH, comprovantes).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/clientes_documentos | ler | Lista paginada com filtros |
GET /v1/clientes_documentos/{id} | ler | Detalhe |
Campos (10) · 1 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
client_id | inteiro | ID do cliente | filtro |
doc_type | texto | doc type | filtro |
file_name | texto | file name | LGPD |
mime_type | texto | mime type | |
size_bytes | inteiro | size bytes | |
match_status | enum: pending | matched | unmatched | manual | error | match status | filtro |
match_score | decimal (string) | match score | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/clientes_documentos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/clientes_documentos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/clientes_documentos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/clientes_documentos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"client_id": 512,
"doc_type": "texto",
"file_name": "texto",
"mime_type": "texto",
"size_bytes": 1,
"match_status": "pending",
"match_score": "150.00",
"created_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Locações
locacoes
Contratos de locação (aluguel normal/particular) e de venda, com ciclo de cobrança e situação.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/locacoes | ler | Lista paginada com filtros |
GET /v1/locacoes/{id} | ler | Detalhe (aceita incluir) |
GET /v1/locacoes/{id}/cliente | ler em clientes | Relação → Clientes |
GET /v1/locacoes/{id}/veiculo | ler em veiculos | Relação → Veículos |
GET /v1/locacoes/{id}/pagamentos | ler em pagamentos | Relação → Pagamentos |
GET /v1/locacoes/{id}/acordos | ler em acordos | Relação → Acordos |
GET /v1/locacoes/{id}/multas | ler em multas | Relação → Multas |
GET /v1/locacoes/{id}/vistorias | ler em vistorias | Relação → Vistorias |
GET /v1/locacoes/{id}/encerramento | ler em pos_encerramento | Relação → Encerramento & Pós-Encerramento |
GET /v1/locacoes/{id}/contatos | ler em locacoes | Relação → Contatos de referência da locação |
GET /v1/locacoes/{id}/contratos | ler em locacoes | Relação → Documentos de contrato |
GET /v1/locacoes/{id}/cobrancas_pix | ler em cobrancas_pix | Relação → Cobranças PIX |
GET /v1/locacoes/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (39) · 1 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
description | texto | Descrição | |
client_id | inteiro | ID do cliente | filtro |
vehicle_id | inteiro | ID do veículo | filtro |
contract_type | enum: aluguel | aluguel_normal | aluguel_particular | venda | aluguel_normal | aluguel_particular | aluguel | venda | filtro |
status | enum: aberta | ativa | finalizada | cancelada | atrasada | encerrado | pendente | Situação | filtro |
active | booleano | Ativo (1/0) | filtro |
fleet_type | enum: mapogos | premium | Carteira (mapogos | premium) | filtro |
start_datetime | data-hora ISO 8601 | start datetime | ordenar |
expected_return | data-hora ISO 8601 | expected return | ordenar |
actual_return | data-hora ISO 8601 | actual return | |
km_start | inteiro | km start | |
km_end | inteiro | km end | |
payment_type | enum: mensal | semanal | diario | payment type | filtro |
recurring_value | decimal (string) | recurring value | |
recurring_amount | decimal (string) | Valor da parcela recorrente | |
daily_rate | decimal (string) | daily rate | |
deposit | decimal (string) | deposit | |
deposit_value | decimal (string) | deposit value | |
deposit_amount | decimal (string) | deposit amount | |
total | decimal (string) | total | |
num_installments | inteiro | num installments | |
pay_weekday | inteiro | pay weekday | |
pay_monthday | inteiro | pay monthday | |
payment_day_week | inteiro | payment day week | |
payment_day_month | inteiro | payment day month | |
bridge_days | inteiro | bridge days | |
bridge_charged | booleano | bridge charged | |
auto_charge | booleano | auto charge | |
charge_step | inteiro | Etapa do ciclo de cobrança (1–3) | filtro |
next_charge_at | data-hora ISO 8601 | next charge at | ordenar |
last_charge_at | data-hora ISO 8601 | last charge at | |
blocked | booleano | blocked | |
autoblock_immune_until | data-hora ISO 8601 | Imune ao bloqueio automático até esta data | |
revenue_hidden | inteiro | 1 = receita oculta dos relatórios | |
contact_phone | texto | contact phone | LGPD |
notes | texto | Observações | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
log_origem | texto | Origem do registro (sistema novo/antigo) |
Busca q: description · criado_desde: sim · atualizado_desde: registro de alterações · eventos: locacao.criada, locacao.encerrada
curl -X GET "https://apimapogos.sixinformatica.com/v1/locacoes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/locacoes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/locacoes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/locacoes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"description": "Descrição de exemplo",
"client_id": 512,
"vehicle_id": 512,
"contract_type": "aluguel",
"status": "aberta",
"active": true,
"fleet_type": "mapogos",
"start_datetime": "2026-10-08T14:30:00-03:00",
"expected_return": "2026-10-08T14:30:00-03:00",
"actual_return": "2026-10-08T14:30:00-03:00",
"km_start": 1,
"km_end": 1,
"payment_type": "mensal"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Familiares/referências informados no contrato.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/locacoes_contatos | ler | Lista paginada com filtros |
GET /v1/locacoes_contatos/{id} | ler | Detalhe |
Campos (8) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
client_id | inteiro | ID do cliente | filtro |
position | inteiro | position | ordenar |
name | texto | Nome | LGPD |
phone | texto | Telefone | LGPD |
relation | texto | relation | |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/locacoes_contatos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/locacoes_contatos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/locacoes_contatos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/locacoes_contatos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"client_id": 512,
"position": 1,
"name": "Maria Fernanda Souza",
"phone": "(91) 99876-5432",
"relation": "texto",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Contratos gerados para assinatura (situação e datas). O link/token de assinatura e a assinatura em si nunca são expostos.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/locacoes_contratos | ler | Lista paginada com filtros |
GET /v1/locacoes_contratos/{id} | ler | Detalhe |
Campos (11) · 3 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
contract_type | texto | contract type | filtro |
status | enum: pendente | enviado | assinado | cancelado | Situação | filtro |
client_name | texto | client name | LGPD |
client_cpf | texto | client cpf | LGPD |
client_phone | texto | client phone | LGPD |
signed_at | data-hora ISO 8601 | signed at | ordenar |
sent_whatsapp_at | data-hora ISO 8601 | sent whatsapp at | |
created_by_user_id | inteiro | ID do usuário que criou | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/locacoes_contratos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/locacoes_contratos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/locacoes_contratos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/locacoes_contratos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"contract_type": "texto",
"status": "pendente",
"client_name": "Maria Fernanda Souza",
"client_cpf": "123.456.789-09",
"client_phone": "91998765432",
"signed_at": "2026-10-08T14:30:00-03:00",
"sent_whatsapp_at": "2026-10-08T14:30:00-03:00",
"created_by_user_id": 512,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Encerramento & Pós-Encerramento
pos_encerramento
Encerramento do contrato (KM, avarias, caução, multas, saldo financeiro) e o acompanhamento de pendências após o encerramento.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pos_encerramento | ler | Lista paginada com filtros |
GET /v1/pos_encerramento/{id} | ler | Detalhe (aceita incluir) |
GET /v1/pos_encerramento/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/pos_encerramento/{id}/acompanhamento | ler em pos_encerramento | Relação → Pendências pós-encerramento |
GET /v1/pos_encerramento/{id}/eventos | ler em pos_encerramento | Relação → Histórico do encerramento |
GET /v1/pos_encerramento/{id}/arquivos | ler em pos_encerramento | Relação → Arquivos do encerramento |
GET /v1/pos_encerramento/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (71) · 1 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
status | enum: draft | validated | closed | rejected | Situação | filtro |
km_inicial | inteiro | km inicial | |
km_final | inteiro | km final | |
km_rodados | inteiro | km rodados | |
dias_locados | inteiro | dias locados | |
media_km_dia | decimal (string) | media km dia | |
km_excedente | inteiro | km excedente | |
multa_km_excedente | decimal (string) | multa km excedente | |
multa_km_excedente_pago | decimal (string) | multa km excedente pago | |
data_inicial | data-hora ISO 8601 | data inicial | |
data_final | data-hora ISO 8601 | data final | |
limpeza | enum: limpo | sujo | muito_sujo | limpeza | |
combustivel | enum: vazio | 1_4 | 1_2 | 3_4 | cheio | combustivel | |
abastecimento_tipo | enum: sem | parcial | integral | abastecimento tipo | |
abastecimento_valor | decimal (string) | abastecimento valor | |
funcionando_normalmente | booleano | funcionando normalmente | |
entregue_com_danos | booleano | entregue com danos | |
possui_avarias | booleano | possui avarias | |
possui_avarias_novas | booleano | possui avarias novas | |
avarias_descricao | texto | avarias descricao | |
avarias_valor_estimado | decimal (string) | avarias valor estimado | |
avarias_total_pecas | decimal (string) | avarias total pecas | |
avarias_observacao | texto | avarias observacao | |
avarias_outros_descricao | texto | avarias outros descricao | |
avarias_outros_valor | decimal (string) | avarias outros valor | |
vistoria_id | inteiro | vistoria id | |
caucao_valor_contrato | decimal (string) | caucao valor contrato | |
caucao_saldo_disponivel | decimal (string) | caucao saldo disponivel | |
caucao_descontos | decimal (string) | caucao descontos | |
caucao_destino | enum: devolver | parcial | reter | caucao destino | filtro |
caucao_valor_devolver | decimal (string) | caucao valor devolver | |
caucao_motivos_json | objeto JSON | caucao motivos json | |
caucao_observacao | texto | caucao observacao | |
caucao_retencao_ate | data | caucao retencao ate | |
caucao_retencao_status | enum: nao_aplicavel | retida | parcialmente_liberada | liberada | caucao retencao status | filtro |
caucao_valor_liberado | decimal (string) | caucao valor liberado | |
caucao_liberada_em | data-hora ISO 8601 | caucao liberada em | |
caucao_liberada_por_nome | texto | caucao liberada por nome | |
caucao_revisao_nota | texto | caucao revisao nota | |
multas_qtd_pendentes | inteiro | multas qtd pendentes | |
multas_total_pendente | decimal (string) | multas total pendente | |
multas_valor_cobrar | decimal (string) | multas valor cobrar | |
multas_cobradas_ids | texto | multas cobradas ids | |
multas_ciencia | booleano | multas ciencia | |
multas_observacao | texto | multas observacao | |
fin_acordos_abertos | inteiro | fin acordos abertos | |
fin_parcelas_abertas | inteiro | fin parcelas abertas | |
fin_pix_pendente | inteiro | fin pix pendente | |
fin_total_pago | decimal (string) | fin total pago | |
fin_total_pendente | decimal (string) | fin total pendente | |
fin_descontos | decimal (string) | fin descontos | |
fin_saldo_cliente | decimal (string) | fin saldo cliente | |
fin_observacao | texto | fin observacao | |
desbloqueio_qtd | inteiro | desbloqueio qtd | |
guincho_valor | decimal (string) | guincho valor | |
equipe_busca_valor | decimal (string) | equipe busca valor | |
diarias_atraso_qtd | inteiro | diarias atraso qtd | |
diarias_atraso_valor | decimal (string) | diarias atraso valor | |
alertas_json | objeto JSON | alertas json | |
bloqueios_json | objeto JSON | bloqueios json | |
created_by_name | texto | created by name | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
validated_at | data-hora ISO 8601 | validated at | |
closed_by_name | texto | closed by name | |
closed_at | data-hora ISO 8601 | closed at | ordenar |
closed_location | texto | closed location | LGPD |
pdf_generated_at | data-hora ISO 8601 | pdf generated at | |
notes | texto | Observações | |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria · eventos: locacao.encerrada
curl -X GET "https://apimapogos.sixinformatica.com/v1/pos_encerramento?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pos_encerramento?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pos_encerramento?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pos_encerramento?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"status": "draft",
"km_inicial": 1,
"km_final": 1,
"km_rodados": 1,
"dias_locados": 1,
"media_km_dia": "150.00",
"km_excedente": 1,
"multa_km_excedente": "150.00",
"multa_km_excedente_pago": "150.00",
"data_inicial": "2026-10-08T14:30:00-03:00",
"data_final": "2026-10-08T14:30:00-03:00",
"limpeza": "limpo"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Acompanhamento após o encerramento: checklist, pendências e devolução da caução.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pos_encerramento_acompanhamento | ler | Lista paginada com filtros |
GET /v1/pos_encerramento_acompanhamento/{id} | ler | Detalhe |
PATCH /v1/pos_encerramento_acompanhamento/{id} | atualizar | Atualizar pendências / caução (mesma regra da tela Pós-Encerramento) |
Campos (15)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
status | texto | Situação | filtro |
responsavel_user_id | inteiro | responsavel user id | filtro |
checklist_json | objeto JSON | checklist json | |
pendencias | texto | pendencias | |
caucao_forma | texto | caucao forma | |
caucao_data_prevista | data | caucao data prevista | |
caucao_resp_user_id | inteiro | caucao resp user id | |
caucao_devolvida | inteiro | caucao devolvida | |
caucao_devolvida_em | data-hora ISO 8601 | caucao devolvida em | |
data_conclusao | data-hora ISO 8601 | data conclusao | |
notes | texto | Observações | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"status": "texto",
"responsavel_user_id": 512,
"checklist_json": {},
"pendencias": "texto",
"caucao_forma": "texto",
"caucao_data_prevista": "2026-10-08",
"caucao_resp_user_id": 512,
"caucao_devolvida": 1,
"caucao_devolvida_em": "2026-10-08T14:30:00-03:00",
"data_conclusao": "2026-10-08T14:30:00-03:00",
"notes": 1024,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Atualizar pendências / caução (mesma regra da tela Pós-Encerramento)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
status | enum | não | |
responsavel_user_id | inteiro | não | |
checklist_json | objeto | não | |
pendencias | texto | não | |
caucao_forma | texto | não | |
caucao_data_prevista | data | não | |
caucao_resp_user_id | inteiro | não | |
caucao_devolvida | booleano | não | |
notes | texto | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"aguardando_devolucao_caucao","caucao_forma":"PIX","caucao_data_prevista":"2026-11-05"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'status' => 'aguardando_devolucao_caucao',
'caucao_forma' => 'PIX',
'caucao_data_prevista' => '2026-11-05',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"status":"aguardando_devolucao_caucao","caucao_forma":"PIX","caucao_data_prevista":"2026-11-05"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/pos_encerramento_acompanhamento/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"status":"aguardando_devolucao_caucao","caucao_forma":"PIX","caucao_data_prevista":"2026-11-05"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Histórico do encerramento
pos_encerramento_eventos
permissão do módulo pos_encerramento somente leitura Linha do tempo do encerramento (quem fez o quê).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pos_encerramento_eventos | ler | Lista paginada com filtros |
GET /v1/pos_encerramento_eventos/{id} | ler | Detalhe |
Campos (8)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
closure_id | inteiro | closure id | filtro |
rental_id | inteiro | ID da locação | filtro |
event_type | texto | event type | filtro |
user_id | inteiro | user id | |
user_name | texto | user name | |
payload_json | objeto JSON | payload json | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/pos_encerramento_eventos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pos_encerramento_eventos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pos_encerramento_eventos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pos_encerramento_eventos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"closure_id": 512,
"rental_id": 512,
"event_type": "texto",
"user_id": 512,
"user_name": "texto",
"payload_json": {},
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Arquivos do encerramento
pos_encerramento_arquivos
permissão do módulo pos_encerramento somente leitura Metadados das fotos/arquivos anexados ao encerramento.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pos_encerramento_arquivos | ler | Lista paginada com filtros |
GET /v1/pos_encerramento_arquivos/{id} | ler | Detalhe |
Campos (9)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
closure_id | inteiro | closure id | filtro |
rental_id | inteiro | ID da locação | filtro |
category | texto | category | filtro |
original_name | texto | original name | |
mime_type | texto | mime type | |
byte_size | inteiro | byte size | |
uploaded_by_name | texto | uploaded by name | |
uploaded_at | data-hora ISO 8601 | uploaded at | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/pos_encerramento_arquivos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pos_encerramento_arquivos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pos_encerramento_arquivos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pos_encerramento_arquivos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"closure_id": 512,
"rental_id": 512,
"category": "texto",
"original_name": "texto",
"mime_type": "texto",
"byte_size": 1,
"uploaded_by_name": "texto",
"uploaded_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Vistorias
vistorias
Vistorias 360° de entrada/saída: KM, avarias por área, fotos e análise de IA.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/vistorias | ler | Lista paginada com filtros |
GET /v1/vistorias/{id} | ler | Detalhe (aceita incluir) |
GET /v1/vistorias/{id}/avarias | ler em vistorias | Relação → Avarias da vistoria |
GET /v1/vistorias/{id}/fotos | ler em vistorias | Relação → Fotos da vistoria |
GET /v1/vistorias/{id}/veiculo | ler em veiculos | Relação → Veículos |
GET /v1/vistorias/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/vistorias/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/vistorias | criar | Abrir vistoria (dados e avarias; fotos pelo painel) |
PATCH /v1/vistorias/{id} | atualizar | Atualizar vistoria / validar |
Campos (23) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
rental_id | inteiro | ID da locação | filtro |
client_id | inteiro | ID do cliente | filtro |
client_cpf | texto | client cpf | LGPD |
client_name | texto | client name | LGPD |
plate | texto | Placa | filtro |
km_atual | inteiro | km atual | |
km_ultima_troca_oleo | inteiro | km ultima troca oleo | |
km_excedente | inteiro | km excedente | |
multa_km_alerta | decimal (string) | multa km alerta | |
inspector_user_id | inteiro | inspector user id | |
inspector_name | texto | inspector name | |
observacoes | texto | observacoes | |
ia_summary_json | objeto JSON | ia summary json | |
ia_custo_total | decimal (string) | ia custo total | |
ia_processed_at | data-hora ISO 8601 | ia processed at | |
has_avarias | booleano | has avarias | filtro |
status | enum: rascunho | aberta | validada | arquivada | Situação | filtro |
validada_por | inteiro | validada por | |
validada_em | data-hora ISO 8601 | validada em | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria · eventos: vistoria.concluida
curl -X GET "https://apimapogos.sixinformatica.com/v1/vistorias?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/vistorias?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"rental_id": 512,
"client_id": 512,
"client_cpf": "123.456.789-09",
"client_name": "Maria Fernanda Souza",
"plate": "ABC1D23",
"km_atual": 1,
"km_ultima_troca_oleo": 1,
"km_excedente": 1,
"multa_km_alerta": "150.00",
"inspector_user_id": 512,
"inspector_name": "texto",
"observacoes": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Abrir vistoria (dados e avarias; fotos pelo painel)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | sim | |
rental_id | inteiro | não | |
km_atual | inteiro | sim | |
km_ultima_troca_oleo | inteiro | não | |
inspector_name | texto | não | |
observacoes | texto | não | |
status | enum | não | |
avarias | lista | não | [{area, area_label, descricao}] — substitui a lista atual |
curl -X POST "https://apimapogos.sixinformatica.com/v1/vistorias" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"vehicle_id":512,"km_atual":45310,"observacoes":"Entrega ao cliente","avarias":[{"area":"para_choque_dianteiro","area_label":"Para-choque dianteiro","descricao":"Risco leve"}]}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'vehicle_id' => 512,
'km_atual' => 45310,
'observacoes' => 'Entrega ao cliente',
'avarias' =>
array (
0 =>
array (
'area' => 'para_choque_dianteiro',
'area_label' => 'Para-choque dianteiro',
'descricao' => 'Risco leve',
),
),
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"vehicle_id":512,"km_atual":45310,"observacoes":"Entrega ao cliente","avarias":[{"area":"para_choque_dianteiro","area_label":"Para-choque dianteiro","descricao":"Risco leve"}]}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/vistorias',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"vehicle_id":512,"km_atual":45310,"observacoes":"Entrega ao cliente","avarias":[{"area":"para_choque_dianteiro","area_label":"Para-choque dianteiro","descricao":"Risco leve"}]},
timeout=30,
)
print(resp.json()['dados'])Atualizar vistoria / validar
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | não | |
rental_id | inteiro | não | |
km_atual | inteiro | não | |
km_ultima_troca_oleo | inteiro | não | |
inspector_name | texto | não | |
observacoes | texto | não | |
status | enum | não | |
avarias | lista | não | [{area, area_label, descricao}] — substitui a lista atual |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/vistorias/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"validada"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'status' => 'validada',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"status":"validada"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/vistorias/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"status":"validada"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Áreas do veículo verificadas e avarias encontradas.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/vistorias_avarias | ler | Lista paginada com filtros |
GET /v1/vistorias_avarias/{id} | ler | Detalhe |
Campos (7)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vistoria_id | inteiro | vistoria id | filtro |
area | texto | area | |
area_label | texto | area label | |
tem_avaria | booleano | tem avaria | filtro |
descricao | texto | descricao | |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/vistorias_avarias?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias_avarias?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias_avarias?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/vistorias_avarias?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vistoria_id": 512,
"area": "texto",
"area_label": "texto",
"tem_avaria": true,
"descricao": "texto",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Metadados das fotos da vistoria.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/vistorias_fotos | ler | Lista paginada com filtros |
GET /v1/vistorias_fotos/{id} | ler | Detalhe |
Campos (5)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vistoria_id | inteiro | vistoria id | filtro |
categoria | texto | categoria | filtro |
file_size | inteiro | file size | |
uploaded_at | data-hora ISO 8601 | uploaded at |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/vistorias_fotos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias_fotos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias_fotos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/vistorias_fotos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vistoria_id": 512,
"categoria": "texto",
"file_size": 1,
"uploaded_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Vistorias de entrada/saída do formulário antigo.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/vistorias_entrada_saida | ler | Lista paginada com filtros |
GET /v1/vistorias_entrada_saida/{id} | ler | Detalhe |
Campos (16)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
vehicle_id | inteiro | ID do veículo | filtro |
plate | texto | Placa | |
inspection_type | enum: entrada | saida | inspection type | filtro |
inspection_mode | enum: vistoria_simples | vistoria_completa | inspection mode | |
status | enum: rascunho | concluida | cancelada | Situação | filtro |
fuel_level | texto | fuel level | |
overall_condition | texto | overall condition | |
inspector_name | texto | inspector name | |
inspector_id | inteiro | inspector id | |
km | inteiro | km | |
notes | texto | Observações | |
items_data | objeto JSON | items data | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
completed_at | data-hora ISO 8601 | completed at |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/vistorias_entrada_saida?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/vistorias_entrada_saida?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/vistorias_entrada_saida?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/vistorias_entrada_saida?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"vehicle_id": 512,
"plate": "ABC1D23",
"inspection_type": "entrada",
"inspection_mode": "vistoria_simples",
"status": "rascunho",
"fuel_level": "texto",
"overall_condition": "texto",
"inspector_name": "texto",
"inspector_id": 512,
"km": 1,
"notes": 1024,
"items_data": {}
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Financeiro
Pagamentos
pagamentos
Cobranças dos contratos (aluguel, taxas, entradas) com situação, vencimento e baixa. A escrita segue exatamente as regras do painel (baixa, recebimento manual, cancelamento).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pagamentos | ler | Lista paginada com filtros |
GET /v1/pagamentos/{id} | ler | Detalhe (aceita incluir) |
GET /v1/pagamentos/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/pagamentos/{id}/comprovantes | ler em pagamentos | Relação → Comprovantes de pagamento |
GET /v1/pagamentos/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (16)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
amount | decimal (string) | Valor da cobrança (após baixa: valor efetivamente recebido) | ordenar |
original_amount | decimal (string) | Valor original antes de ajuste | |
status | texto | Situação | filtro |
method | enum: pix | cartao | dinheiro | transferencia | Forma de pagamento | filtro |
due_date | data | Vencimento | filtroordenar |
paid_at | data-hora ISO 8601 | Pago em | ordenar |
note | texto | Observação | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
charge2_at | data-hora ISO 8601 | 2ª mensagem de cobrança enviada em | |
charge3_at | data-hora ISO 8601 | 3ª mensagem enviada em | |
bank_transaction_id | texto | bank transaction id | |
scheduled_charge | booleano | scheduled charge | |
scheduled_charged_at | data-hora ISO 8601 | scheduled charged at | |
revenue_center | enum: mapogos | premium | Carteira de receita (null = segue a carteira da locação) | filtro |
Busca q: note · criado_desde: sim · atualizado_desde: registro de alterações · eventos: pagamento.criado, pagamento.confirmado, pagamento.vencido, pagamento.cancelado
curl -X GET "https://apimapogos.sixinformatica.com/v1/pagamentos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pagamentos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pagamentos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pagamentos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"amount": "150.00",
"original_amount": "150.00",
"status": "texto",
"method": "pix",
"due_date": "2026-10-08",
"paid_at": "2026-10-08T14:30:00-03:00",
"note": "Aluguel semanal",
"created_at": "2026-10-08T14:30:00-03:00",
"charge2_at": "2026-10-08T14:30:00-03:00",
"charge3_at": "2026-10-08T14:30:00-03:00",
"bank_transaction_id": "texto",
"scheduled_charge": true
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Comprovantes anexados na baixa manual (metadados).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pagamentos_comprovantes | ler | Lista paginada com filtros |
GET /v1/pagamentos_comprovantes/{id} | ler | Detalhe |
Campos (8)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
payment_id | inteiro | payment id | filtro |
row_type | texto | row type | filtro |
drive_node_id | inteiro | drive node id | |
name | texto | Nome | |
mime | texto | mime | |
created_by | inteiro | created by | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/pagamentos_comprovantes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pagamentos_comprovantes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pagamentos_comprovantes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pagamentos_comprovantes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"payment_id": 512,
"row_type": "texto",
"drive_node_id": 512,
"name": "Maria Fernanda Souza",
"mime": "texto",
"created_by": 1,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Cobranças PIX
cobrancas_pix
somente leitura Cobranças PIX emitidas nos bancos (Sicredi/Itaú/Mercado Pago) e sua situação. O código copia-e-cola só sai com permissão de dados pessoais; QR em imagem e resposta bruta do banco nunca saem.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/cobrancas_pix | ler | Lista paginada com filtros |
GET /v1/cobrancas_pix/{id} | ler | Detalhe |
GET /v1/cobrancas_pix/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (13) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
provider | texto | provider | filtro |
txid | texto | txid | filtro |
charge_type | enum: cob | cobv | charge type | filtro |
amount | decimal (string) | Valor | |
due_date | data | Vencimento | ordenar |
installment_due_date | data | installment due date | |
status | texto | Situação | filtro |
qr_code | texto | qr code | LGPD |
ticket_url | texto | ticket url | LGPD |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/cobrancas_pix?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/cobrancas_pix?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/cobrancas_pix?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/cobrancas_pix?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"provider": "texto",
"txid": "R123T0abc…",
"charge_type": "cob",
"amount": "150.00",
"due_date": "2026-10-08",
"installment_due_date": "2026-10-08",
"status": "texto",
"qr_code": "texto",
"ticket_url": "texto",
"created_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Taxas
taxas
Taxas de desbloqueio (cobranças cuja descrição começa com "Taxa de Desbloqueio"): pagar, estornar e cancelar seguem a tela Taxas.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/taxas | ler | Lista paginada com filtros |
GET /v1/taxas/{id} | ler | Detalhe (aceita incluir) |
GET /v1/taxas/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/taxas/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (10)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
amount | decimal (string) | Valor | |
status | texto | Situação | filtro |
method | enum: pix | cartao | dinheiro | transferencia | Forma de pagamento | |
due_date | data | Vencimento | ordenar |
paid_at | data-hora ISO 8601 | Pago em | ordenar |
note | texto | Observação | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
revenue_center | enum: mapogos | premium | revenue center |
Busca q: — · criado_desde: sim · atualizado_desde: registro de alterações
curl -X GET "https://apimapogos.sixinformatica.com/v1/taxas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/taxas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/taxas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/taxas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"amount": "150.00",
"status": "texto",
"method": "pix",
"due_date": "2026-10-08",
"paid_at": "2026-10-08T14:30:00-03:00",
"note": "Aluguel semanal",
"created_at": "2026-10-08T14:30:00-03:00",
"revenue_center": "mapogos"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Acordos
acordos
Acordos/parcelamentos de débitos (multas, avarias, atrasos) com itens e parcelas.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/acordos | ler | Lista paginada com filtros |
GET /v1/acordos/{id} | ler | Detalhe (aceita incluir) |
GET /v1/acordos/{id}/parcelas | ler em acordos | Relação → Parcelas de acordo |
GET /v1/acordos/{id}/itens | ler em acordos | Relação → Itens de acordo |
GET /v1/acordos/{id}/multas | ler em multas | Relação → Multas |
GET /v1/acordos/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/acordos/{id}/cliente | ler em clientes | Relação → Clientes |
GET /v1/acordos/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (16)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
rental_id | inteiro | ID da locação | filtro |
client_id | inteiro | ID do cliente | filtro |
title | texto | title | |
status | enum: aberto | em_dia | atrasado | quitado | cancelado | encerrado | Situação | filtro |
total_original | decimal (string) | total original | |
total_interest | decimal (string) | total interest | |
total_fines | decimal (string) | total fines | |
total_discount | decimal (string) | total discount | |
total_final | decimal (string) | total final | ordenar |
notes | texto | Observações | |
created_by | inteiro | created by | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
cancelled_at | data-hora ISO 8601 | cancelled at | |
cancelled_by | inteiro | cancelled by |
Busca q: title · criado_desde: sim · atualizado_desde: coluna própria · eventos: acordo.criado, acordo.quitado, acordo.parcela_paga
curl -X GET "https://apimapogos.sixinformatica.com/v1/acordos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/acordos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/acordos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/acordos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"rental_id": 512,
"client_id": 512,
"title": "Acordo",
"status": "aberto",
"total_original": "150.00",
"total_interest": "150.00",
"total_fines": "150.00",
"total_discount": "150.00",
"total_final": "150.00",
"notes": 1024,
"created_by": 1,
"created_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Parcelas de cada acordo (valor, vencimento, pago).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/acordos_parcelas | ler | Lista paginada com filtros |
GET /v1/acordos_parcelas/{id} | ler | Detalhe |
Campos (9)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
agreement_id | inteiro | ID do acordo | filtro |
installment_no | inteiro | installment no | ordenar |
due_date | data | Vencimento | filtroordenar |
amount | decimal (string) | Valor | |
paid_amount | decimal (string) | paid amount | |
status | enum: pendente | pago | vencido | cancelado | Situação | filtro |
paid_at | data-hora ISO 8601 | Pago em | ordenar |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: registro de alterações
curl -X GET "https://apimapogos.sixinformatica.com/v1/acordos_parcelas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/acordos_parcelas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/acordos_parcelas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/acordos_parcelas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"agreement_id": 512,
"installment_no": 1,
"due_date": "2026-10-08",
"amount": "150.00",
"paid_amount": "150.00",
"status": "pendente",
"paid_at": "2026-10-08T14:30:00-03:00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Composição do acordo (multas de trânsito, avarias, diárias etc.).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/acordos_itens | ler | Lista paginada com filtros |
GET /v1/acordos_itens/{id} | ler | Detalhe |
Campos (8)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
agreement_id | inteiro | ID do acordo | filtro |
item_type | enum: multa_atraso | multa_contratual | avarias | diarias_excedentes | taxa_limpeza | combustivel | franquia_seguro | outras | multas_transito | diaria_atraso | multa_km_excedido | multa_troca_oleo | valor_pago | Tipo do item | filtro |
description | texto | Descrição | |
qty | decimal (string) | Quantidade | |
unit_amount | decimal (string) | unit amount | |
total_amount | decimal (string) | Valor total | |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/acordos_itens?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/acordos_itens?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/acordos_itens?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/acordos_itens?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"agreement_id": 512,
"item_type": "multa_atraso",
"description": "Descrição de exemplo",
"qty": "150.00",
"unit_amount": "150.00",
"total_amount": "150.00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Despesas
despesas
globalDespesas da empresa (fornecedor, categoria, NF, veículo/OS vinculados).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/despesas | ler | Lista paginada com filtros |
GET /v1/despesas/{id} | ler | Detalhe |
GET /v1/despesas/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/despesas | criar | Lançar despesa |
PATCH /v1/despesas/{id} | atualizar | Atualizar despesa |
Campos (19)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
paid_at | data | Pago em | ordenar |
due_date | data | Vencimento | ordenar |
category | texto | category | filtro |
subcategory | texto | subcategory | |
supplier | texto | supplier | |
supplier_cnpj | texto | supplier cnpj | |
description | texto | Descrição | |
amount | decimal (string) | Valor | ordenar |
payment_method | enum: pix | cartao | dinheiro | transferencia | boleto | debito_automatico | outros | payment method | filtro |
status | enum: pendente | pago | cancelado | contestado | Situação | filtro |
vehicle_id | inteiro | ID do veículo | filtro |
rental_id | inteiro | ID da locação | |
os_id | inteiro | os id | filtro |
nf_number | texto | nf number | |
notes | texto | Observações | |
created_by_user_id | inteiro | ID do usuário que criou | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: supplier, description · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/despesas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/despesas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/despesas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/despesas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"paid_at": "2026-10-08",
"due_date": "2026-10-08",
"category": "texto",
"subcategory": "texto",
"supplier": "texto",
"supplier_cnpj": "texto",
"description": "Descrição de exemplo",
"amount": "150.00",
"payment_method": "pix",
"status": "pendente",
"vehicle_id": 512,
"rental_id": 512,
"os_id": 512
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Lançar despesa
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
description | texto | sim | |
amount | decimal | sim | |
category | texto | não | Ex.: combustivel, oficina, peca, aluguel, folha, ipva… |
subcategory | texto | não | |
supplier | texto | não | |
supplier_cnpj | texto | não | |
payment_method | enum | não | |
status | enum | não | |
due_date | data | não | |
paid_at | data | não | Data da despesa/pagamento (padrão: vencimento ou hoje; ao marcar pago sem data, usa hoje) |
vehicle_id | inteiro | não | |
rental_id | inteiro | não | |
os_id | inteiro | não | |
nf_number | texto | não | |
notes | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/despesas" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"description":"Troca de pneus","category":"oficina","amount":"980.00","due_date":"2026-10-20","supplier":"Pneus Norte","vehicle_id":512}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/despesas');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'description' => 'Troca de pneus',
'category' => 'oficina',
'amount' => '980.00',
'due_date' => '2026-10-20',
'supplier' => 'Pneus Norte',
'vehicle_id' => 512,
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/despesas', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"description":"Troca de pneus","category":"oficina","amount":"980.00","due_date":"2026-10-20","supplier":"Pneus Norte","vehicle_id":512}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/despesas',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"description":"Troca de pneus","category":"oficina","amount":"980.00","due_date":"2026-10-20","supplier":"Pneus Norte","vehicle_id":512},
timeout=30,
)
print(resp.json()['dados'])Atualizar despesa
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
description | texto | não | |
amount | decimal | não | |
category | texto | não | Ex.: combustivel, oficina, peca, aluguel, folha, ipva… |
subcategory | texto | não | |
supplier | texto | não | |
supplier_cnpj | texto | não | |
payment_method | enum | não | |
status | enum | não | |
due_date | data | não | |
paid_at | data | não | Data da despesa/pagamento (padrão: vencimento ou hoje; ao marcar pago sem data, usa hoje) |
vehicle_id | inteiro | não | |
rental_id | inteiro | não | |
os_id | inteiro | não | |
nf_number | texto | não | |
notes | texto | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/despesas/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"pago","paid_at":"2026-10-20"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/despesas/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'status' => 'pago',
'paid_at' => '2026-10-20',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/despesas/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"status":"pago","paid_at":"2026-10-20"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/despesas/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"status":"pago","paid_at":"2026-10-20"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Lançamentos financeiros
lancamentos_financeiros
somente leitura globalLançamentos avulsos do financeiro (referência, valor, vencimento, situação).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/lancamentos_financeiros | ler | Lista paginada com filtros |
GET /v1/lancamentos_financeiros/{id} | ler | Detalhe |
GET /v1/lancamentos_financeiros/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (9)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
ref_type | texto | ref type | filtro |
ref_id | inteiro | ref id | filtro |
description | texto | Descrição | |
amount | decimal (string) | Valor | |
due_date | data | Vencimento | ordenar |
status | enum: pendente | pago | cancelado | Situação | filtro |
created_at | data-hora ISO 8601 | Criado em | ordenar |
created_by_user_id | inteiro | ID do usuário que criou |
Busca q: description · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/lancamentos_financeiros?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/lancamentos_financeiros?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/lancamentos_financeiros?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/lancamentos_financeiros?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"ref_type": "texto",
"ref_id": 512,
"description": "Descrição de exemplo",
"amount": "150.00",
"due_date": "2026-10-08",
"status": "pendente",
"created_at": "2026-10-08T14:30:00-03:00",
"created_by_user_id": 512
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Conciliação Bancária
conciliacao_bancaria
somente leitura globalTransações bancárias importadas e o vínculo com pagamentos/despesas/acordos.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/conciliacao_bancaria | ler | Lista paginada com filtros |
GET /v1/conciliacao_bancaria/{id} | ler | Detalhe |
GET /v1/conciliacao_bancaria/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (18) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
bank_code | texto | bank code | filtro |
bank_name | texto | bank name | |
posted_at | data-hora ISO 8601 | posted at | ordenar |
amount | decimal (string) | Valor | ordenar |
direction | enum: in | out | direction | filtro |
description | texto | Descrição | |
counterpart_name | texto | counterpart name | LGPD |
counterpart_doc | texto | counterpart doc | LGPD |
counterpart_bank | texto | counterpart bank | |
reconcile_status | enum: pending | matched | manual | ignored | reconcile status | filtro |
match_type | enum: payment | expense | agreement | manual | match type | filtro |
match_id | inteiro | match id | |
match_confidence | número | match confidence | |
match_reason | texto | match reason | |
source | enum: webhook | ofx | csv | manual | ofx_manual | source | |
created_at | data-hora ISO 8601 | Criado em | |
reconciled_at | data-hora ISO 8601 | reconciled at |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/conciliacao_bancaria?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/conciliacao_bancaria?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/conciliacao_bancaria?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/conciliacao_bancaria?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"bank_code": "texto",
"bank_name": "texto",
"posted_at": "2026-10-08T14:30:00-03:00",
"amount": "150.00",
"direction": "in",
"description": "Descrição de exemplo",
"counterpart_name": "texto",
"counterpart_doc": "texto",
"counterpart_bank": "texto",
"reconcile_status": "pending",
"match_type": "payment",
"match_id": 512,
"match_confidence": 1.5
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Frota
Veículos
veiculos
Frota: cadastro, situação, KM, restrição e estado do rastreador. Bloqueio/desbloqueio NÃO é feito pela API.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/veiculos | ler | Lista paginada com filtros |
GET /v1/veiculos/{id} | ler | Detalhe (aceita incluir) |
GET /v1/veiculos/{id}/locacoes | ler em locacoes | Relação → Locações |
GET /v1/veiculos/{id}/multas | ler em multas | Relação → Multas |
GET /v1/veiculos/{id}/debitos | ler em debitos_veiculares | Relação → Débitos Veiculares |
GET /v1/veiculos/{id}/ordens_servico | ler em ordens_servico | Relação → Ordens de Serviço |
GET /v1/veiculos/{id}/licenciamento | ler em licenciamento | Relação → Licenciamento |
GET /v1/veiculos/{id}/manutencao | ler em manutencao_preditiva | Relação → Manutenção Preditiva |
GET /v1/veiculos/{id}/vistorias | ler em vistorias | Relação → Vistorias |
GET /v1/veiculos/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/veiculos | criar | Cadastrar veículo (entra como disponível/desbloqueado) |
PATCH /v1/veiculos/{id} | atualizar | Atualizar cadastro (status e rastreador não são alteráveis pela API) |
Campos (28) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
type | enum: carro | moto | type | filtro |
brand | texto | Marca | filtro |
model | texto | Modelo | |
year | inteiro | year | |
manufacture_year | inteiro | manufacture year | |
model_year | inteiro | model year | |
plate | texto | Placa | filtroordenar |
renavam | texto | renavam | |
chassi | texto | chassi | |
status | enum: disponivel | alugado | manutencao | inativo | vendido | disponivel | alugado | manutencao | inativo | vendido | filtro |
fleet_type | enum: mapogos | premium | Carteira (mapogos | premium) | filtro |
tracker_status | enum: desbloqueado | bloqueado | Estado do bloqueio no rastreador | filtro |
tracker_imei | texto | tracker imei | LGPD |
tracker_chip | texto | tracker chip | LGPD |
daily_rate | decimal (string) | daily rate | |
price | decimal (string) | price | |
current_km | inteiro | current km | ordenar |
restricao | booleano | 1 = veículo com restrição (não pode ser locado) | filtro |
restricao_obs | texto | restricao obs | |
restricao_at | data-hora ISO 8601 | restricao at | |
data_cancelamento_contrato | data | data cancelamento contrato | |
crlv_uploaded_at | data-hora ISO 8601 | crlv uploaded at | |
notes | texto | Observações | |
deleted_at | data-hora ISO 8601 | deleted at | |
delete_reason | texto | delete reason | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
log_origem | texto | Origem do registro (sistema novo/antigo) |
Busca q: plate, model, brand · criado_desde: sim · atualizado_desde: registro de alterações · eventos: veiculo.bloqueado, veiculo.desbloqueado, veiculo.criado, veiculo.atualizado
curl -X GET "https://apimapogos.sixinformatica.com/v1/veiculos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/veiculos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/veiculos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/veiculos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"type": "carro",
"brand": "RENAULT",
"model": "LOGAN LIFE 1.0",
"year": 1,
"manufacture_year": 1,
"model_year": 1,
"plate": "ABC1D23",
"renavam": "texto",
"chassi": "texto",
"status": "disponivel",
"fleet_type": "mapogos",
"tracker_status": "desbloqueado",
"tracker_imei": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Cadastrar veículo (entra como disponível/desbloqueado)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
plate | texto | sim | Placa (única) |
model | texto | sim | |
brand | texto | não | |
type | enum | não | Padrão carro |
fleet_type | enum | não | Carteira (padrão mapogos; precisa estar nas carteiras da chave) |
manufacture_year | inteiro | não | |
model_year | inteiro | não | |
renavam | texto | não | |
chassi | texto | não | |
daily_rate | decimal | não | |
price | decimal | não | |
current_km | inteiro | não | |
notes | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/veiculos" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"plate":"ABC1D23","brand":"RENAULT","model":"LOGAN LIFE 1.0","manufacture_year":2023,"model_year":2024,"fleet_type":"mapogos","daily_rate":"100.00"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/veiculos');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'plate' => 'ABC1D23',
'brand' => 'RENAULT',
'model' => 'LOGAN LIFE 1.0',
'manufacture_year' => 2023,
'model_year' => 2024,
'fleet_type' => 'mapogos',
'daily_rate' => '100.00',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/veiculos', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"plate":"ABC1D23","brand":"RENAULT","model":"LOGAN LIFE 1.0","manufacture_year":2023,"model_year":2024,"fleet_type":"mapogos","daily_rate":"100.00"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/veiculos',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"plate":"ABC1D23","brand":"RENAULT","model":"LOGAN LIFE 1.0","manufacture_year":2023,"model_year":2024,"fleet_type":"mapogos","daily_rate":"100.00"},
timeout=30,
)
print(resp.json()['dados'])Atualizar cadastro (status e rastreador não são alteráveis pela API)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
plate | texto | não | Placa (única) |
model | texto | não | |
brand | texto | não | |
type | enum | não | Padrão carro |
fleet_type | enum | não | Carteira (padrão mapogos; precisa estar nas carteiras da chave) |
manufacture_year | inteiro | não | |
model_year | inteiro | não | |
renavam | texto | não | |
chassi | texto | não | |
daily_rate | decimal | não | |
price | decimal | não | |
current_km | inteiro | não | |
notes | texto | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/veiculos/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"current_km":45210,"notes":"Revisão em dia"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/veiculos/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'current_km' => 45210,
'notes' => 'Revisão em dia',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/veiculos/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"current_km":45210,"notes":"Revisão em dia"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/veiculos/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"current_km":45210,"notes":"Revisão em dia"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Multas
multas
Multas de trânsito por veículo, com responsável (contrato), valores, taxa administrativa e vínculo com acordo.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/multas | ler | Lista paginada com filtros |
GET /v1/multas/{id} | ler | Detalhe (aceita incluir) |
GET /v1/multas/{id}/veiculo | ler em veiculos | Relação → Veículos |
GET /v1/multas/{id}/locacao | ler em locacoes | Relação → Locações |
GET /v1/multas/{id}/acordo | ler em acordos | Relação → Acordos |
GET /v1/multas/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/multas | criar | Registrar multa (taxa adm. 50%, vincula contrato ativo e roda a automação de multas do sistema) |
PATCH /v1/multas/{id} | atualizar | Corrigir dados da multa (recalcula taxa e total) |
Campos (27)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
rental_id | inteiro | ID da locação | filtro |
fine_number | texto | AIT (número do auto de infração) | filtro |
description | texto | Descrição | |
orgao_autuador | texto | orgao autuador | |
municipio | texto | municipio | |
local_infracao | texto | local infracao | |
pontos_gravidade | texto | pontos gravidade | |
situacao_detran | texto | situacao detran | filtro |
data_hora_infracao | texto | data hora infracao | |
issue_date | data | issue date | ordenar |
due_date | data | Vencimento | |
fine_amount | decimal (string) | fine amount | |
admin_fee | decimal (string) | Taxa administrativa | |
total_amount | decimal (string) | Multa + taxa administrativa | ordenar |
status | enum: pendente | cobrado | adicionado_acordo | pago | contestado | pago_cliente | pendente | cobrado | adicionado_acordo | pago | contestado | pago_cliente | filtro |
added_to_agreement_id | inteiro | added to agreement id | filtro |
consulted_at | data-hora ISO 8601 | consulted at | |
baixa_obs | texto | baixa obs | |
baixa_user | texto | baixa user | |
baixa_at | data-hora ISO 8601 | baixa at | |
client_notified_at | data-hora ISO 8601 | client notified at | |
team_notified_at | data-hora ISO 8601 | team notified at | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | |
log_origem | texto | Origem do registro (sistema novo/antigo) |
Busca q: fine_number, description · criado_desde: sim · atualizado_desde: registro de alterações · eventos: multa.criada
curl -X GET "https://apimapogos.sixinformatica.com/v1/multas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/multas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/multas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/multas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"rental_id": 512,
"fine_number": "PA0000000",
"description": "Descrição de exemplo",
"orgao_autuador": "texto",
"municipio": "texto",
"local_infracao": "texto",
"pontos_gravidade": "texto",
"situacao_detran": "texto",
"data_hora_infracao": "texto",
"issue_date": "2026-10-08",
"due_date": "2026-10-08",
"fine_amount": "150.00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Registrar multa (taxa adm. 50%, vincula contrato ativo e roda a automação de multas do sistema)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | sim | |
fine_number | texto | sim | AIT |
description | texto | sim | |
issue_date | data | sim | |
due_date | data | não | |
fine_amount | decimal | sim | Taxa administrativa = 50% e total = multa + taxa (regra do painel) |
curl -X POST "https://apimapogos.sixinformatica.com/v1/multas" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"vehicle_id":512,"fine_number":"PA1234567","description":"Avançar sinal vermelho","issue_date":"2026-10-01","fine_amount":"293.47"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/multas');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'vehicle_id' => 512,
'fine_number' => 'PA1234567',
'description' => 'Avançar sinal vermelho',
'issue_date' => '2026-10-01',
'fine_amount' => '293.47',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/multas', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"vehicle_id":512,"fine_number":"PA1234567","description":"Avançar sinal vermelho","issue_date":"2026-10-01","fine_amount":"293.47"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/multas',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"vehicle_id":512,"fine_number":"PA1234567","description":"Avançar sinal vermelho","issue_date":"2026-10-01","fine_amount":"293.47"},
timeout=30,
)
print(resp.json()['dados'])Corrigir dados da multa (recalcula taxa e total)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | não | |
fine_number | texto | não | AIT |
description | texto | não | |
issue_date | data | não | |
due_date | data | não | |
fine_amount | decimal | não | Taxa administrativa = 50% e total = multa + taxa (regra do painel) |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/multas/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"due_date":"2026-11-10"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/multas/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'due_date' => '2026-11-10',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/multas/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"due_date":"2026-11-10"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/multas/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"due_date":"2026-11-10"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Débitos Veiculares
debitos_veiculares
IPVA, licenciamento, DPVAT e outros débitos por veículo.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/debitos_veiculares | ler | Lista paginada com filtros |
GET /v1/debitos_veiculares/{id} | ler | Detalhe (aceita incluir) |
GET /v1/debitos_veiculares/{id}/veiculo | ler em veiculos | Relação → Veículos |
GET /v1/debitos_veiculares/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/debitos_veiculares | criar | Cadastrar débito |
PATCH /v1/debitos_veiculares/{id} | atualizar | Atualizar débito |
Campos (12)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
type | enum: ipva | licenciamento | dpvat | servicos_bancarios | multa_semob | multa_detran | outro | type | filtro |
reference_year | inteiro | reference year | filtroordenar |
description | texto | Descrição | |
amount | decimal (string) | Valor | ordenar |
due_date | data | Vencimento | ordenar |
status | enum: pendente | quitado | parcelado | isento | vencido | Situação | filtro |
sync_source | texto | sync source | |
synced_at | data-hora ISO 8601 | synced at | |
created_at | data-hora ISO 8601 | Criado em | |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/debitos_veiculares?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/debitos_veiculares?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/debitos_veiculares?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/debitos_veiculares?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"type": "ipva",
"reference_year": 1,
"description": "Descrição de exemplo",
"amount": "150.00",
"due_date": "2026-10-08",
"status": "pendente",
"sync_source": "texto",
"synced_at": "2026-10-08T14:30:00-03:00",
"created_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Cadastrar débito
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | sim | |
type | enum | sim | |
reference_year | inteiro | não | |
description | texto | não | |
amount | decimal | sim | |
due_date | data | não | |
status | enum | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/debitos_veiculares" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"vehicle_id":512,"type":"ipva","reference_year":2026,"amount":"1250.00","due_date":"2026-03-15"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/debitos_veiculares');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'vehicle_id' => 512,
'type' => 'ipva',
'reference_year' => 2026,
'amount' => '1250.00',
'due_date' => '2026-03-15',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/debitos_veiculares', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"vehicle_id":512,"type":"ipva","reference_year":2026,"amount":"1250.00","due_date":"2026-03-15"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/debitos_veiculares',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"vehicle_id":512,"type":"ipva","reference_year":2026,"amount":"1250.00","due_date":"2026-03-15"},
timeout=30,
)
print(resp.json()['dados'])Atualizar débito
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | não | |
type | enum | não | |
reference_year | inteiro | não | |
description | texto | não | |
amount | decimal | não | |
due_date | data | não | |
status | enum | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/debitos_veiculares/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"quitado"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/debitos_veiculares/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'status' => 'quitado',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/debitos_veiculares/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"status":"quitado"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/debitos_veiculares/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"status":"quitado"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Licenciamento
licenciamento
somente leitura Situação do licenciamento anual (DETRAN), boleto e gravame por veículo.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/licenciamento | ler | Lista paginada com filtros |
GET /v1/licenciamento/{id} | ler | Detalhe |
GET /v1/licenciamento/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (26)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
placa | texto | Placa | filtro |
renavam | texto | renavam | |
exercicio | texto | exercicio | filtro |
data_limite | data | data limite | ordenar |
valor_total | decimal (string) | valor total | |
valor_licenciamento | decimal (string) | valor licenciamento | |
proprietario | texto | proprietario | |
itens | objeto JSON | itens | |
situacao | texto | situacao | filtro |
erro | texto | erro | |
consulted_at | data-hora ISO 8601 | consulted at | |
linha_digitavel | texto | linha digitavel | |
codigo_barras | texto | codigo barras | |
boleto_venc | data | boleto venc | |
boleto_valor | decimal (string) | boleto valor | |
gravame_financeira | texto | gravame financeira | |
gravame_restricao | texto | gravame restricao | |
gravame_contrato | texto | gravame contrato | |
gravame_data | data | gravame data | |
gravame_situacao | texto | gravame situacao | |
gravame_at | data-hora ISO 8601 | gravame at | |
observacao | texto | observacao | |
observacao_at | data-hora ISO 8601 | observacao at | |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/licenciamento?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/licenciamento?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/licenciamento?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/licenciamento?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"placa": "ABC1D23",
"renavam": "texto",
"exercicio": "texto",
"data_limite": "2026-10-08",
"valor_total": "150.00",
"valor_licenciamento": "150.00",
"proprietario": "texto",
"itens": {},
"situacao": "texto",
"erro": "texto",
"consulted_at": "2026-10-08T14:30:00-03:00",
"linha_digitavel": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Real Condutor
real_condutor
somente leitura Condutor principal indicado na SENATRAN por placa.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/real_condutor | ler | Lista paginada com filtros |
GET /v1/real_condutor/{placa} | ler | Detalhe |
GET /v1/real_condutor/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (16) · 4 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
placa | texto | Placa | filtroordenar |
renavam | texto | renavam | |
modelo | texto | modelo | |
empresa_cnpj | texto | empresa cnpj | |
empresa_nome | texto | empresa nome | |
tem_condutor | booleano | tem condutor | filtro |
condutor_nome | texto | condutor nome | LGPD |
condutor_cpf | texto | condutor cpf | LGPD |
condutor_cnh | texto | condutor cnh | LGPD |
condutor_desde | data-hora ISO 8601 | condutor desde | |
autorizacao | texto | autorizacao | |
ultimo_condutor | texto | ultimo condutor | LGPD |
excluido_em | data-hora ISO 8601 | excluido em | |
motivo_exclusao | texto | motivo exclusao | |
mudou_em | data-hora ISO 8601 | mudou em | ordenar |
verificado_em | data-hora ISO 8601 | verificado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/real_condutor?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/real_condutor?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/real_condutor?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/real_condutor?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"placa": "ABC1D23",
"renavam": "texto",
"modelo": "texto",
"empresa_cnpj": "texto",
"empresa_nome": "texto",
"tem_condutor": true,
"condutor_nome": "Maria Fernanda Souza",
"condutor_cpf": "12345678909",
"condutor_cnh": "texto",
"condutor_desde": "2026-10-08T14:30:00-03:00",
"autorizacao": "texto",
"ultimo_condutor": "texto",
"excluido_em": "2026-10-08T14:30:00-03:00",
"motivo_exclusao": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Processo de indicação do condutor (pedido de CNH, prazo, situação).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/indicacoes_condutor | ler | Lista paginada com filtros |
GET /v1/indicacoes_condutor/{id} | ler | Detalhe |
Campos (15)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
rental_id | inteiro | ID da locação | filtro |
client_id | inteiro | ID do cliente | filtro |
plate | texto | Placa | |
status | texto | Situação | filtro |
motivo | texto | motivo | |
cnh_on_file | inteiro | cnh on file | |
cnh_requested_at | data-hora ISO 8601 | cnh requested at | |
cnh_request_count | inteiro | cnh request count | |
ready_at | data-hora ISO 8601 | ready at | |
indicated_at | data-hora ISO 8601 | indicated at | |
deadline | data | deadline | ordenar |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/indicacoes_condutor?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/indicacoes_condutor?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/indicacoes_condutor?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/indicacoes_condutor?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"rental_id": 512,
"client_id": 512,
"plate": "ABC1D23",
"status": "texto",
"motivo": "texto",
"cnh_on_file": 1,
"cnh_requested_at": "2026-10-08T14:30:00-03:00",
"cnh_request_count": 1,
"ready_at": "2026-10-08T14:30:00-03:00",
"indicated_at": "2026-10-08T14:30:00-03:00",
"deadline": "2026-10-08",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Manutenção Preditiva
manutencao_preditiva
somente leitura Próximas manutenções previstas por veículo (KM e data), com situação ok/próxima/atrasada.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/manutencao_preditiva | ler | Lista paginada com filtros |
GET /v1/manutencao_preditiva/{id} | ler | Detalhe |
GET /v1/manutencao_preditiva/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (14)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
item | texto | item | filtro |
interval_km | inteiro | interval km | |
last_done_km | inteiro | last done km | |
last_done_at | data | last done at | |
next_due_km | inteiro | next due km | |
next_due_at | data | next due at | ordenar |
days_remaining | inteiro | days remaining | ordenar |
km_remaining | inteiro | km remaining | ordenar |
status | enum: ok | due_soon | overdue | Situação | filtro |
estimated_cost | decimal (string) | estimated cost | |
notified_at | data-hora ISO 8601 | notified at | |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: — · criado_desde: não · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/manutencao_preditiva?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/manutencao_preditiva?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/manutencao_preditiva?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/manutencao_preditiva?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"item": "texto",
"interval_km": 1,
"last_done_km": 1,
"last_done_at": "2026-10-08",
"next_due_km": 1,
"next_due_at": "2026-10-08",
"days_remaining": 1,
"km_remaining": 1,
"status": "ok",
"estimated_cost": "150.00",
"notified_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Oficina
Ordens de Serviço
ordens_servico
OS da oficina: abertura, diagnóstico, peças e serviços, conclusão.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/ordens_servico | ler | Lista paginada com filtros |
GET /v1/ordens_servico/{id} | ler | Detalhe (aceita incluir) |
GET /v1/ordens_servico/{id}/itens | ler em ordens_servico | Relação → Itens de OS |
GET /v1/ordens_servico/{id}/veiculo | ler em veiculos | Relação → Veículos |
GET /v1/ordens_servico/{id}/cliente | ler em clientes | Relação → Clientes |
GET /v1/ordens_servico/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/ordens_servico | criar | Abrir OS (veículo vai para manutenção) |
PATCH /v1/ordens_servico/{id} | atualizar | Atualizar mecânico, diagnóstico, notas ou KM (OS aberta) |
POST /v1/ordens_servico/{id}/itens | atualizar | Adicionar peça (baixa do estoque) ou serviço |
POST /v1/ordens_servico/{id}/itens/{pid}/remover | atualizar | Remover item (devolve peça ao estoque) |
POST /v1/ordens_servico/{id}/concluir | atualizar | Concluir OS (libera o veículo e notifica) |
Campos (31)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
plate | texto | Placa | filtro |
vehicle_id | inteiro | ID do veículo | filtro |
vehicle_model | texto | vehicle model | |
client_id | inteiro | ID do cliente | filtro |
os_type | enum: aluguel | venda | aluguel | venda | filtro |
status | texto | aberta | concluida | filtro |
km_open | inteiro | km open | |
km_close | inteiro | km close | |
responsible | texto | responsible | |
mechanic_name | texto | mechanic name | |
mechanic_user_id | inteiro | mechanic user id | filtro |
summary | texto | summary | |
diagnosis | texto | diagnosis | |
final_diagnosis | texto | final diagnosis | |
notes | texto | Observações | |
final_notes | texto | final notes | |
total_parts | decimal (string) | total parts | |
total_services | decimal (string) | total services | |
discount | decimal (string) | discount | |
total_amount | decimal (string) | Valor total | ordenar |
due_date | data | Vencimento | |
destaque | booleano | destaque | filtro |
calc_excluded | booleano | 1 = fora do cálculo de custos | |
calc_excluded_reason | texto | calc excluded reason | |
opened_at | data-hora ISO 8601 | opened at | ordenar |
released_at | data-hora ISO 8601 | released at | |
closed_at | data-hora ISO 8601 | closed at | ordenar |
created_by_user_id | inteiro | ID do usuário que criou | |
closed_by_user_id | inteiro | closed by user id | |
updated_at | data-hora ISO 8601 | Atualizado em |
Busca q: plate, summary · criado_desde: sim · atualizado_desde: registro de alterações · eventos: os.criada, os.concluida
curl -X GET "https://apimapogos.sixinformatica.com/v1/ordens_servico?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/ordens_servico?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"plate": "ABC1D23",
"vehicle_id": 512,
"vehicle_model": "texto",
"client_id": 512,
"os_type": "aluguel",
"status": "texto",
"km_open": 1,
"km_close": 1,
"responsible": "texto",
"mechanic_name": "texto",
"mechanic_user_id": 512,
"summary": "texto",
"diagnosis": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Abrir OS (veículo vai para manutenção)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
vehicle_id | inteiro | sim | |
km_open | inteiro | sim | ≥ KM atual do veículo |
client_id | inteiro | não | |
mechanic_user_id | inteiro | não | |
diagnosis | texto | não | |
notes | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/ordens_servico" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"vehicle_id":512,"km_open":45300,"diagnosis":"Barulho na suspensão dianteira"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'vehicle_id' => 512,
'km_open' => 45300,
'diagnosis' => 'Barulho na suspensão dianteira',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"vehicle_id":512,"km_open":45300,"diagnosis":"Barulho na suspensão dianteira"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/ordens_servico',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"vehicle_id":512,"km_open":45300,"diagnosis":"Barulho na suspensão dianteira"},
timeout=30,
)
print(resp.json()['dados'])Atualizar mecânico, diagnóstico, notas ou KM (OS aberta)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
mechanic_user_id | inteiro | não | |
diagnosis | texto | não | |
notes | texto | não | |
km_open | inteiro | não | Não pode ser menor que o KM atual do veículo |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/ordens_servico/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"diagnosis":"Bucha da bandeja gasta"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'diagnosis' => 'Bucha da bandeja gasta',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"diagnosis":"Bucha da bandeja gasta"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/ordens_servico/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"diagnosis":"Bucha da bandeja gasta"},
timeout=30,
)
print(resp.json()['dados'])Adicionar peça (baixa do estoque) ou serviço
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
item_type | enum | sim | |
stock_item_id | inteiro | não | Obrigatório para peça (id em estoque_pecas) |
description | texto | não | Obrigatório para serviço |
qty | decimal | não | |
unit_price | decimal | não | |
notes | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/itens" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"item_type":"service","description":"Troca de bucha","qty":1,"unit_price":"120.00"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/itens');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'item_type' => 'service',
'description' => 'Troca de bucha',
'qty' => 1,
'unit_price' => '120.00',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/itens', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"item_type":"service","description":"Troca de bucha","qty":1,"unit_price":"120.00"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/itens',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"item_type":"service","description":"Troca de bucha","qty":1,"unit_price":"120.00"},
timeout=30,
)
print(resp.json()['dados'])Concluir OS (libera o veículo e notifica)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
km_close | inteiro | não | |
final_diagnosis | texto | não | |
final_notes | texto | não | |
due_date | data | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/concluir" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"km_close":45310,"final_diagnosis":"Buchas substituídas"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/concluir');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'km_close' => 45310,
'final_diagnosis' => 'Buchas substituídas',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/concluir', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"km_close":45310,"final_diagnosis":"Buchas substituídas"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/ordens_servico/1024/concluir',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"km_close":45310,"final_diagnosis":"Buchas substituídas"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Peças e serviços lançados na OS.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/ordens_servico_itens | ler | Lista paginada com filtros |
GET /v1/ordens_servico_itens/{id} | ler | Detalhe |
Campos (11)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
os_id | inteiro | os id | filtro |
item_type | enum: part | service | Tipo do item | filtro |
description | texto | Descrição | |
stock_item_id | inteiro | stock item id | filtro |
qty | decimal (string) | Quantidade | |
unit_price | decimal (string) | Preço unitário | |
total_price | decimal (string) | total price | |
notes | texto | Observações | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
created_by_user_id | inteiro | ID do usuário que criou |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/ordens_servico_itens?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico_itens?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico_itens?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/ordens_servico_itens?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"os_id": 512,
"item_type": "part",
"description": "Descrição de exemplo",
"stock_item_id": 512,
"qty": "150.00",
"unit_price": "150.00",
"total_price": "150.00",
"notes": 1024,
"created_at": "2026-10-08T14:30:00-03:00",
"created_by_user_id": 512
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Ordens de Serviço (legado)
ordens_servico_legado
somente leitura OS do sistema anterior (somente consulta histórica).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/ordens_servico_legado | ler | Lista paginada com filtros |
GET /v1/ordens_servico_legado/{id} | ler | Detalhe |
GET /v1/ordens_servico_legado/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (16)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
vehicle_id | inteiro | ID do veículo | filtro |
plate | texto | Placa | filtro |
mechanic_id | inteiro | mechanic id | |
status | enum: ABERTA | CONCLUIDA | CANCELADA | Situação | filtro |
opened_at | data-hora ISO 8601 | opened at | ordenar |
released_at | data-hora ISO 8601 | released at | |
km_current | inteiro | km current | |
diagnosis | texto | diagnosis | |
obs | texto | obs | |
parts_total | decimal (string) | parts total | |
services_total | decimal (string) | services total | |
total | decimal (string) | total | |
created_at | data-hora ISO 8601 | Criado em | |
updated_at | data-hora ISO 8601 | Atualizado em | |
log_origem | texto | Origem do registro (sistema novo/antigo) |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/ordens_servico_legado?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/ordens_servico_legado?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/ordens_servico_legado?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/ordens_servico_legado?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"vehicle_id": 512,
"plate": "ABC1D23",
"mechanic_id": 512,
"status": "ABERTA",
"opened_at": "2026-10-08T14:30:00-03:00",
"released_at": "2026-10-08T14:30:00-03:00",
"km_current": 1,
"diagnosis": "texto",
"obs": "texto",
"parts_total": "150.00",
"services_total": "150.00",
"total": "150.00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Orçamentos
orcamentos
Orçamentos de peças e serviços para clientes/veículos.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/orcamentos | ler | Lista paginada com filtros |
GET /v1/orcamentos/{id} | ler | Detalhe (aceita incluir) |
GET /v1/orcamentos/{id}/itens | ler em orcamentos | Relação → Itens de orçamento |
GET /v1/orcamentos/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/orcamentos | criar | Criar orçamento com itens (total calculado) |
PATCH /v1/orcamentos/{id} | atualizar | Atualizar orçamento (itens enviados substituem os atuais) |
DELETE /v1/orcamentos/{id} | excluir | Excluir orçamento em rascunho |
Campos (14) · 1 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
client_id | inteiro | ID do cliente | filtro |
client_name | texto | client name | LGPD |
vehicle_id | inteiro | ID do veículo | filtro |
plate | texto | Placa | filtro |
vehicle_model | texto | vehicle model | |
total_amount | decimal (string) | Valor total | ordenar |
status | texto | Situação | filtro |
notes | texto | Observações | |
validade_dias | inteiro | validade dias | |
created_by_user_id | inteiro | ID do usuário que criou | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | |
sent_at | data-hora ISO 8601 | sent at |
Busca q: client_name, plate · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/orcamentos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/orcamentos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/orcamentos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/orcamentos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"client_id": 512,
"client_name": "Maria Fernanda Souza",
"vehicle_id": 512,
"plate": "ABC1D23",
"vehicle_model": "texto",
"total_amount": "150.00",
"status": "texto",
"notes": 1024,
"validade_dias": 1,
"created_by_user_id": 512,
"created_at": "2026-10-08T14:30:00-03:00",
"updated_at": "2026-10-08T14:30:00-03:00",
"sent_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Criar orçamento com itens (total calculado)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
client_id | inteiro | não | |
vehicle_id | inteiro | não | |
notes | texto | não | |
validade_dias | inteiro | não | |
itens | lista | sim | [{item_type: part|service|other, description, qty, unit_price}] |
curl -X POST "https://apimapogos.sixinformatica.com/v1/orcamentos" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"vehicle_id":512,"validade_dias":7,"itens":[{"item_type":"part","description":"Pastilha de freio","qty":1,"unit_price":"180.00"},{"item_type":"service","description":"Mão de obra","qty":1,"unit_price":"90.00"}]}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/orcamentos');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'vehicle_id' => 512,
'validade_dias' => 7,
'itens' =>
array (
0 =>
array (
'item_type' => 'part',
'description' => 'Pastilha de freio',
'qty' => 1,
'unit_price' => '180.00',
),
1 =>
array (
'item_type' => 'service',
'description' => 'Mão de obra',
'qty' => 1,
'unit_price' => '90.00',
),
),
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/orcamentos', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"vehicle_id":512,"validade_dias":7,"itens":[{"item_type":"part","description":"Pastilha de freio","qty":1,"unit_price":"180.00"},{"item_type":"service","description":"Mão de obra","qty":1,"unit_price":"90.00"}]}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/orcamentos',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"vehicle_id":512,"validade_dias":7,"itens":[{"item_type":"part","description":"Pastilha de freio","qty":1,"unit_price":"180.00"},{"item_type":"service","description":"Mão de obra","qty":1,"unit_price":"90.00"}]},
timeout=30,
)
print(resp.json()['dados'])Atualizar orçamento (itens enviados substituem os atuais)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
client_id | inteiro | não | |
vehicle_id | inteiro | não | |
notes | texto | não | |
validade_dias | inteiro | não | |
itens | lista | não | [{item_type: part|service|other, description, qty, unit_price}] |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/orcamentos/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"notes":"Validade estendida","validade_dias":15}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/orcamentos/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'notes' => 'Validade estendida',
'validade_dias' => 15,
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/orcamentos/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"notes":"Validade estendida","validade_dias":15}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/orcamentos/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"notes":"Validade estendida","validade_dias":15},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Peças e serviços do orçamento.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/orcamentos_itens | ler | Lista paginada com filtros |
GET /v1/orcamentos_itens/{id} | ler | Detalhe |
Campos (8)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
orcamento_id | inteiro | orcamento id | filtro |
item_type | texto | Tipo do item | filtro |
description | texto | Descrição | |
qty | decimal (string) | Quantidade | |
unit_price | decimal (string) | Preço unitário | |
total | decimal (string) | total | |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/orcamentos_itens?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/orcamentos_itens?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/orcamentos_itens?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/orcamentos_itens?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"orcamento_id": 512,
"item_type": "texto",
"description": "Descrição de exemplo",
"qty": "150.00",
"unit_price": "150.00",
"total": "150.00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Estoque
Cadastro de Peças
estoque_pecas
globalPeças cadastradas: código, categoria, preço, estoque mínimo e atual.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/estoque_pecas | ler | Lista paginada com filtros |
GET /v1/estoque_pecas/{id} | ler | Detalhe (aceita incluir) |
GET /v1/estoque_pecas/{id}/movimentacoes | ler em estoque_movimentacoes | Relação → Movimentações de Estoque |
GET /v1/estoque_pecas/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/estoque_pecas | criar | Cadastrar peça |
PATCH /v1/estoque_pecas/{id} | atualizar | Atualizar peça |
Campos (15)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
code | texto | code | filtroordenar |
name | texto | Nome | ordenar |
description | texto | Descrição | |
category | texto | category | filtro |
unit | texto | unit | |
min_stock | decimal (string) | min stock | |
current_stock | decimal (string) | current stock | ordenar |
unit_price | decimal (string) | Preço unitário | |
supplier | texto | supplier | filtro |
location | texto | location | |
reuse_days | inteiro | reuse days | |
active | booleano | Ativo (1/0) | filtro |
created_at | data-hora ISO 8601 | Criado em | |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: name, code · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/estoque_pecas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_pecas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_pecas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/estoque_pecas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"code": "texto",
"name": "Maria Fernanda Souza",
"description": "Descrição de exemplo",
"category": "texto",
"unit": "texto",
"min_stock": "150.00",
"current_stock": "150.00",
"unit_price": "150.00",
"supplier": "texto",
"location": "texto",
"reuse_days": 1,
"active": true,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Cadastrar peça
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | texto | sim | |
code | texto | não | Único |
description | texto | não | |
category | texto | não | |
supplier | texto | não | |
unit_price | decimal | não | |
min_stock | inteiro | não | |
current_stock | inteiro | não | Saldo inicial/ajuste direto, como no cadastro do painel (prefira movimentações) |
active | booleano | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/estoque_pecas" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Filtro de óleo","code":"FO-123","unit_price":"35.90","min_stock":5,"category":"Filtros"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_pecas');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'Filtro de óleo',
'code' => 'FO-123',
'unit_price' => '35.90',
'min_stock' => 5,
'category' => 'Filtros',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_pecas', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"name":"Filtro de óleo","code":"FO-123","unit_price":"35.90","min_stock":5,"category":"Filtros"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/estoque_pecas',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"name":"Filtro de óleo","code":"FO-123","unit_price":"35.90","min_stock":5,"category":"Filtros"},
timeout=30,
)
print(resp.json()['dados'])Atualizar peça
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | texto | não | |
code | texto | não | Único |
description | texto | não | |
category | texto | não | |
supplier | texto | não | |
unit_price | decimal | não | |
min_stock | inteiro | não | |
current_stock | inteiro | não | Saldo inicial/ajuste direto, como no cadastro do painel (prefira movimentações) |
active | booleano | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/estoque_pecas/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"min_stock":8}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_pecas/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'min_stock' => 8,
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_pecas/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"min_stock":8}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/estoque_pecas/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"min_stock":8},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Movimentações de Estoque
estoque_movimentacoes
globalEntradas, saídas e ajustes de estoque (com referência à OS quando houver).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/estoque_movimentacoes | ler | Lista paginada com filtros |
GET /v1/estoque_movimentacoes/{id} | ler | Detalhe (aceita incluir) |
GET /v1/estoque_movimentacoes/{id}/peca | ler em estoque_pecas | Relação → Cadastro de Peças |
GET /v1/estoque_movimentacoes/exportar | exportar | Lote por cursor (JSON/CSV) |
POST /v1/estoque_movimentacoes | criar | Registrar entrada/saída (atualiza o saldo como no painel) |
Campos (11)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
part_id | inteiro | part id | filtro |
stock_item_id | inteiro | stock item id | |
movement_type | enum: entrada | saida | ajuste | movement type | filtro |
qty | decimal (string) | Quantidade | |
unit_cost | decimal (string) | unit cost | |
ref_type | texto | ref type | filtro |
ref_id | inteiro | ref id | filtro |
notes | texto | Observações | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
created_by_user_id | inteiro | ID do usuário que criou |
Busca q: — · criado_desde: sim · atualizado_desde: registro de alterações
curl -X GET "https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"part_id": 512,
"stock_item_id": 512,
"movement_type": "entrada",
"qty": "150.00",
"unit_cost": "150.00",
"ref_type": "texto",
"ref_id": 512,
"notes": 1024,
"created_at": "2026-10-08T14:30:00-03:00",
"created_by_user_id": 512
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Registrar entrada/saída (atualiza o saldo como no painel)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
part_id | inteiro | sim | |
movement_type | enum | sim | |
qty | inteiro | sim | |
unit_cost | decimal | não | Na entrada, vira o preço unitário da peça (como no painel) |
notes | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"part_id":12,"movement_type":"entrada","qty":10,"unit_cost":"32.50","notes":"NF 1234"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'part_id' => 12,
'movement_type' => 'entrada',
'qty' => 10,
'unit_cost' => '32.50',
'notes' => 'NF 1234',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"part_id":12,"movement_type":"entrada","qty":10,"unit_cost":"32.50","notes":"NF 1234"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/estoque_movimentacoes',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"part_id":12,"movement_type":"entrada","qty":10,"unit_cost":"32.50","notes":"NF 1234"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Saldo de Estoque
estoque_saldo
somente leitura globalPosição atual do estoque por peça ativa (estoque atual × mínimo).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/estoque_saldo | ler | Lista paginada com filtros |
GET /v1/estoque_saldo/{id} | ler | Detalhe |
GET /v1/estoque_saldo/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (11)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
code | texto | code | filtro |
name | texto | Nome | ordenar |
category | texto | category | filtro |
unit | texto | unit | |
current_stock | decimal (string) | current stock | ordenar |
min_stock | decimal (string) | min stock | |
unit_price | decimal (string) | Preço unitário | |
location | texto | location | |
updated_at | data-hora ISO 8601 | Atualizado em | |
abaixo_minimo | booleano | abaixo minimo |
Busca q: name, code · criado_desde: não · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/estoque_saldo?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/estoque_saldo?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/estoque_saldo?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/estoque_saldo?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"code": "texto",
"name": "Maria Fernanda Souza",
"category": "texto",
"unit": "texto",
"current_stock": "150.00",
"min_stock": "150.00",
"unit_price": "150.00",
"location": "texto",
"updated_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Atendimento
Central de Atendimento (WhatsApp)
central_atendimento
Atendimentos (tickets) da Central: contato, setor, atendente, situação e tempos de resposta. Envio de mensagens não é feito pela API.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/central_atendimento | ler | Lista paginada com filtros |
GET /v1/central_atendimento/{id} | ler | Detalhe (aceita incluir) |
GET /v1/central_atendimento/{id}/mensagens | ler em central_atendimento | Relação → Mensagens da Central |
GET /v1/central_atendimento/exportar | exportar | Lote por cursor (JSON/CSV) |
PATCH /v1/central_atendimento/{id} | atualizar | Mudar situação, setor ou atendente do ticket |
Campos (24) · 3 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
phone | texto | Telefone | LGPD |
contact_name | texto | contact name | LGPD |
client_id | inteiro | ID do cliente | filtro |
rental_id | inteiro | ID da locação | filtro |
sector_id | inteiro | sector id | filtro |
status | texto | novo | em_atendimento | aguardando_cliente | finalizado | filtro |
assigned_user_id | inteiro | assigned user id | filtro |
unread_count | inteiro | unread count | |
last_message_at | data-hora ISO 8601 | last message at | ordenar |
last_message_preview | texto | last message preview | LGPD |
last_direction | texto | last direction | |
last_inbound_at | data-hora ISO 8601 | last inbound at | |
awaiting_response | inteiro | awaiting response | |
awaiting_agent | inteiro | awaiting agent | |
first_response_seconds | inteiro | first response seconds | |
resp_time_sum | inteiro | resp time sum | |
resp_time_count | inteiro | resp time count | |
is_group | inteiro | is group | filtro |
started_by_user_id | inteiro | started by user id | |
closed_at | data-hora ISO 8601 | closed at | |
closed_by_user_id | inteiro | closed by user id | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/central_atendimento?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/central_atendimento?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/central_atendimento?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/central_atendimento?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"phone": "(91) 99876-5432",
"contact_name": "Maria Fernanda",
"client_id": 512,
"rental_id": 512,
"sector_id": 512,
"status": "texto",
"assigned_user_id": 512,
"unread_count": 1,
"last_message_at": "2026-10-08T14:30:00-03:00",
"last_message_preview": "texto",
"last_direction": "texto",
"last_inbound_at": "2026-10-08T14:30:00-03:00",
"awaiting_response": 1
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Mudar situação, setor ou atendente do ticket
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
status | enum | não | finalizado encerra o atendimento e devolve o contato ao bot de menu |
sector_id | inteiro | não | |
assigned_user_id | inteiro | não |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/central_atendimento/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"status":"finalizado"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/central_atendimento/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'status' => 'finalizado',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/central_atendimento/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"status":"finalizado"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/central_atendimento/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"status":"finalizado"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Mensagens trocadas em cada atendimento (texto só com permissão de dados pessoais).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/central_mensagens | ler | Lista paginada com filtros |
GET /v1/central_mensagens/{id} | ler | Detalhe |
GET /v1/central_mensagens/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (12) · 4 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
ticket_id | inteiro | ticket id | filtro |
phone | texto | Telefone | LGPD |
direction | texto | direction | filtro |
msg_type | texto | msg type | filtro |
body | texto | body | LGPD |
media_url | texto | media url | LGPD |
from_me | inteiro | from me | filtro |
author_user_id | inteiro | author user id | |
sender_name | texto | sender name | LGPD |
status | texto | Situação | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/central_mensagens?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/central_mensagens?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/central_mensagens?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/central_mensagens?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"ticket_id": 512,
"phone": "(91) 99876-5432",
"direction": "texto",
"msg_type": "texto",
"body": "texto",
"media_url": "texto",
"from_me": 1,
"author_user_id": 512,
"sender_name": "texto",
"status": "texto",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Setores de atendimento.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/central_setores | ler | Lista paginada com filtros |
GET /v1/central_setores/{id} | ler | Detalhe |
Campos (6)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
name | texto | Nome | ordenar |
color | texto | color | |
sort | inteiro | sort | ordenar |
active | inteiro | Ativo (1/0) | filtro |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/central_setores?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/central_setores?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/central_setores?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/central_setores?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"name": "Maria Fernanda Souza",
"color": "texto",
"sort": 1,
"active": 1,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Etiquetas da Central
central_etiquetas
permissão do módulo central_atendimento somente leitura globalEtiquetas aplicáveis aos atendimentos.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/central_etiquetas | ler | Lista paginada com filtros |
GET /v1/central_etiquetas/{id} | ler | Detalhe |
Campos (6)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
name | texto | Nome | ordenar |
color | texto | color | |
sort | inteiro | sort | ordenar |
active | inteiro | Ativo (1/0) | filtro |
created_at | data-hora ISO 8601 | Criado em |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/central_etiquetas?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/central_etiquetas?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/central_etiquetas?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/central_etiquetas?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"name": "Maria Fernanda Souza",
"color": "texto",
"sort": 1,
"active": 1,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Mensagens WhatsApp (envios do sistema)
whatsapp_mensagens
somente leitura Mensagens automáticas enviadas pelo sistema (cobranças, avisos), com situação do envio.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/whatsapp_mensagens | ler | Lista paginada com filtros |
GET /v1/whatsapp_mensagens/{id} | ler | Detalhe |
GET /v1/whatsapp_mensagens/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (10) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
context_type | enum: rental | os | agreement | other | context type | filtro |
context_id | inteiro | context id | filtro |
phone | texto | Telefone | LGPD |
body | texto | body | LGPD |
status | texto | Situação | filtro |
charge_step | inteiro | charge step | filtro |
retry_count | inteiro | retry count | |
created_by_user_id | inteiro | ID do usuário que criou | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/whatsapp_mensagens?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/whatsapp_mensagens?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/whatsapp_mensagens?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/whatsapp_mensagens?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"context_type": "rental",
"context_id": 512,
"phone": "(91) 99876-5432",
"body": "texto",
"status": "texto",
"charge_step": 1,
"retry_count": 1,
"created_by_user_id": 512,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Pré-Leads (IA)
pre_leads
somente leitura globalInteressados captados pelo WhatsApp e a triagem da IA (documentos, score, decisão).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/pre_leads | ler | Lista paginada com filtros |
GET /v1/pre_leads/{id} | ler | Detalhe |
Campos (13) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
phone | texto | Telefone | LGPD |
client_id | inteiro | ID do cliente | |
stage | enum: greeting | collecting_doc | doc_received | scoring | approved | rejected | converted | abandoned | stage | filtro |
serasa_score | inteiro | serasa score | LGPD |
liveness_ok | booleano | liveness ok | |
face_match_ok | booleano | face match ok | |
decision | enum: aprovado | revisar | recusado | decision | filtro |
decision_reason | texto | decision reason | |
vehicle_preference | texto | vehicle preference | |
rental_days_pref | inteiro | rental days pref | |
last_interaction | data-hora ISO 8601 | last interaction | ordenar |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/pre_leads?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/pre_leads?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/pre_leads?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/pre_leads?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"phone": "(91) 99876-5432",
"client_id": 512,
"stage": "greeting",
"serasa_score": 1,
"liveness_ok": true,
"face_match_ok": true,
"decision": "aprovado",
"decision_reason": "texto",
"vehicle_preference": "texto",
"rental_days_pref": 1,
"last_interaction": "2026-10-08T14:30:00-03:00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Arquivos
Drive de Arquivos
drive
globalPastas e arquivos do Drive interno (metadados). Download em /v1/drive/{id}/download exige também a permissão de dados pessoais.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/drive | ler | Lista paginada com filtros |
GET /v1/drive/{id} | ler | Detalhe (aceita incluir) |
GET /v1/drive/{id}/conteudo | ler em drive | Relação → Drive de Arquivos |
POST /v1/drive | criar | Criar pasta ou enviar arquivo (conteúdo em base64, até 700 KB) |
PATCH /v1/drive/{id} | atualizar | Renomear ou mover |
GET /v1/drive/{id}/download | ler + dados_pessoais | Download controlado do arquivo |
Campos (9)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
parent_id | inteiro | parent id | filtro |
node_type | enum: folder | file | node type | filtro |
name | texto | Nome | ordenar |
mime_type | texto | mime type | filtro |
size_bytes | inteiro | size bytes | ordenar |
created_by_user_id | inteiro | ID do usuário que criou | |
created_by_name | texto | created by name | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: name · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/drive?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/drive?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/drive?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/drive?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"parent_id": 512,
"node_type": "folder",
"name": "Maria Fernanda Souza",
"mime_type": "texto",
"size_bytes": 1,
"created_by_user_id": 512,
"created_by_name": "texto",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Criar pasta ou enviar arquivo (conteúdo em base64, até 700 KB)
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
node_type | enum | sim | |
name | texto | sim | |
parent_id | inteiro | não | Pasta destino (null = raiz) |
conteudo_base64 | texto | não | Obrigatório para arquivo; até ~700 KB |
mime_type | texto | não |
curl -X POST "https://apimapogos.sixinformatica.com/v1/drive" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"node_type":"folder","name":"Contratos 2026","parent_id":null}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/drive');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'node_type' => 'folder',
'name' => 'Contratos 2026',
'parent_id' => NULL,
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/drive', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"node_type":"folder","name":"Contratos 2026","parent_id":null}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'POST', 'https://apimapogos.sixinformatica.com/v1/drive',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"node_type":"folder","name":"Contratos 2026","parent_id":None},
timeout=30,
)
print(resp.json()['dados'])Renomear ou mover
| Campo | Tipo | Obrigatório | Regras |
|---|---|---|---|
name | texto | não | |
parent_id | inteiro | não | Pasta de destino (null = raiz) |
curl -X PATCH "https://apimapogos.sixinformatica.com/v1/drive/1024" \
-H "Authorization: Bearer $MAPOGOS_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"name":"Contratos 2026 - assinados"}'<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/drive/1024');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
'Content-Type: application/json',
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => json_encode(array (
'name' => 'Contratos 2026 - assinados',
)),
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/drive/1024', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({"name":"Contratos 2026 - assinados"}),
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'PATCH', 'https://apimapogos.sixinformatica.com/v1/drive/1024',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}", 'Idempotency-Key': 'pedido-123'},
json={"name":"Contratos 2026 - assinados"},
timeout=30,
)
print(resp.json()['dados'])Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 415 · 422 validacao · 409 · 429
Documentos IA
documentos_ia
somente leitura globalDocumentos gerados pela IA (notificações, cartas, relatórios).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/documentos_ia | ler | Lista paginada com filtros |
GET /v1/documentos_ia/{id} | ler | Detalhe |
Campos (11) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
doc_type | texto | doc type | filtro |
ref_type | texto | ref type | filtro |
ref_id | inteiro | ref id | filtro |
title | texto | title | |
content_text | texto | content text | LGPD |
sent_to | texto | sent to | LGPD |
sent_at | data-hora ISO 8601 | sent at | |
status | enum: draft | sent | signed | archived | Situação | filtro |
generated_by_user_id | inteiro | generated by user id | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/documentos_ia?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/documentos_ia?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/documentos_ia?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/documentos_ia?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"doc_type": "texto",
"ref_type": "texto",
"ref_id": 512,
"title": "Acordo",
"content_text": "texto",
"sent_to": "texto",
"sent_at": "2026-10-08T14:30:00-03:00",
"status": "draft",
"generated_by_user_id": 512,
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Relatórios
Administração
Usuários
usuarios
somente leitura globalUsuários do painel. Senhas e hashes nunca são expostos. Somente leitura pela API (criar usuário por chave de API permitiria escalada de privilégio).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/usuarios | ler | Lista paginada com filtros |
GET /v1/usuarios/{id} | ler | Detalhe (aceita incluir) |
GET /v1/usuarios/{id}/cargos | ler em cargos | Relação → Cargos & Acessos |
GET /v1/usuarios/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (9) · 2 sensível(is)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
username | texto | username | |
name | texto | Nome | ordenar |
email | texto | LGPD | |
phone | texto | Telefone | LGPD |
role | enum: admin | atendente | financeiro | role | filtro |
active | booleano | Ativo (1/0) | filtro |
created_at | data-hora ISO 8601 | Criado em | ordenar |
log_origem | texto | Origem do registro (sistema novo/antigo) |
Busca q: name, username, email · criado_desde: sim · atualizado_desde: registro de alterações
curl -X GET "https://apimapogos.sixinformatica.com/v1/usuarios?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/usuarios?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/usuarios?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/usuarios?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"username": "maria",
"name": "Maria Fernanda Souza",
"email": "maria@exemplo.com.br",
"phone": "(91) 99876-5432",
"role": "admin",
"active": true,
"created_at": "2026-10-08T14:30:00-03:00",
"log_origem": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Cargos & Acessos
cargos
somente leitura globalCargos (perfis) do painel e as permissões de cada um. Somente leitura.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/cargos | ler | Lista paginada com filtros |
GET /v1/cargos/{id} | ler | Detalhe (aceita incluir) |
GET /v1/cargos/{id}/permissoes | ler em cargos | Relação → Permissões do painel |
GET /v1/cargos/{id}/usuarios | ler em usuarios | Relação → Usuários |
Campos (3)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
name | texto | Nome | ordenar |
description | texto | Descrição |
Busca q: name · criado_desde: não · atualizado_desde: não
curl -X GET "https://apimapogos.sixinformatica.com/v1/cargos?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/cargos?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/cargos?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/cargos?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"name": "Maria Fernanda Souza",
"description": "Descrição de exemplo"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Lista de permissões existentes no painel (perm_key).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/permissoes_painel | ler | Lista paginada com filtros |
GET /v1/permissoes_painel/{id} | ler | Detalhe |
Campos (3)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
perm_key | texto | perm key | filtroordenar |
label | texto | label |
Busca q: perm_key, label · criado_desde: não · atualizado_desde: não
curl -X GET "https://apimapogos.sixinformatica.com/v1/permissoes_painel?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/permissoes_painel?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/permissoes_painel?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/permissoes_painel?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"perm_key": "payments.view",
"label": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Modelos de Contrato
modelos_contrato
somente leitura globalModelos (templates HTML) usados para gerar contratos de aluguel e venda, com histórico de versões. Somente leitura (texto jurídico).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/modelos_contrato | ler | Lista paginada com filtros |
GET /v1/modelos_contrato/{id} | ler | Detalhe (aceita incluir) |
GET /v1/modelos_contrato/{id}/versoes | ler em modelos_contrato | Relação → Versões de modelo de contrato |
Campos (7)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
type | texto | type | filtro |
name | texto | Nome | ordenar |
html | texto | html | |
updated_by | inteiro | updated by | |
updated_at | data-hora ISO 8601 | Atualizado em | ordenar |
created_at | data-hora ISO 8601 | Criado em |
Busca q: name, type · criado_desde: sim · atualizado_desde: coluna própria
curl -X GET "https://apimapogos.sixinformatica.com/v1/modelos_contrato?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/modelos_contrato?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/modelos_contrato?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/modelos_contrato?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"type": "texto",
"name": "Maria Fernanda Souza",
"html": "texto",
"updated_by": 1,
"updated_at": "2026-10-08T14:30:00-03:00",
"created_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Versões de modelo de contrato
modelos_contrato_versoes
permissão do módulo modelos_contrato somente leitura globalHistórico de alterações dos modelos de contrato.
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/modelos_contrato_versoes | ler | Lista paginada com filtros |
GET /v1/modelos_contrato_versoes/{id} | ler | Detalhe |
Campos (5)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
template_id | inteiro | template id | filtro |
html | texto | html | |
changed_by | inteiro | changed by | |
changed_at | data-hora ISO 8601 | changed at | ordenar |
Busca q: — · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/modelos_contrato_versoes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/modelos_contrato_versoes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/modelos_contrato_versoes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/modelos_contrato_versoes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"template_id": 512,
"html": "texto",
"changed_by": 1,
"changed_at": "2026-10-08T14:30:00-03:00"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Notificações do painel
notificacoes
somente leitura globalNotificações internas exibidas no sino do painel (pagamentos recebidos, OS, alertas).
| Endpoint | Permissão | Descrição |
|---|---|---|
GET /v1/notificacoes | ler | Lista paginada com filtros |
GET /v1/notificacoes/{id} | ler | Detalhe |
GET /v1/notificacoes/exportar | exportar | Lote por cursor (JSON/CSV) |
Campos (9)
| Campo | Tipo | Descrição | |
|---|---|---|---|
id | inteiro | Identificador | ordenar |
type | texto | type | filtro |
user_id | inteiro | user id | filtro |
title | texto | title | |
message | texto | message | |
data | objeto JSON | data | |
read_at | data-hora ISO 8601 | read at | |
created_at | data-hora ISO 8601 | Criado em | ordenar |
audience | texto | audience | filtro |
Busca q: title · criado_desde: sim · atualizado_desde: pela criação
curl -X GET "https://apimapogos.sixinformatica.com/v1/notificacoes?por_pagina=2" \
-H "Authorization: Bearer $MAPOGOS_API_KEY"<?php
$ch = curl_init('https://apimapogos.sixinformatica.com/v1/notificacoes?por_pagina=2');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MAPOGOS_API_KEY'),
],
]);
$resp = json_decode(curl_exec($ch), true);
print_r($resp['dados']);const resp = await fetch('https://apimapogos.sixinformatica.com/v1/notificacoes?por_pagina=2', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.MAPOGOS_API_KEY}`,
},
});
const json = await resp.json();
console.log(json.dados);import os, requests
resp = requests.request(
'GET', 'https://apimapogos.sixinformatica.com/v1/notificacoes?por_pagina=2',
headers={'Authorization': f"Bearer {os.environ['MAPOGOS_API_KEY']}"},
timeout=30,
)
print(resp.json()['dados']){
"sucesso": true,
"dados": [
{
"id": 1024,
"type": "texto",
"user_id": 512,
"title": "Acordo",
"message": "texto",
"data": {},
"read_at": "2026-10-08T14:30:00-03:00",
"created_at": "2026-10-08T14:30:00-03:00",
"audience": "texto"
}
],
"meta": {
"total": 1,
"pagina": 1,
"por_pagina": 2,
"paginas": 1
},
"request_id": "req_0f1e2d3c4b5a69788796"
} Erros possíveis: 401 chave · 403 permissao_negada · 404 nao_encontrado · 400 parametro_invalido · 429
Webhooks
Configure no painel (API do Sistema → Webhooks ou no assistente). O Mapogos envia um POST JSON para sua URL https quando o evento acontece. Um webhook só recebe eventos de módulos em que a chave tem ler, dentro das carteiras da chave e com a mesma regra de dados pessoais.
| Evento | Módulo (permissão) | Quando |
|---|---|---|
locacao.criada | locacoes | Novo contrato de locação ou venda criado. |
locacao.encerrada | locacoes | Contrato encerrado/finalizado. |
pagamento.criado | pagamentos | Nova cobrança gerada. |
pagamento.confirmado | pagamentos | Cobrança baixada como paga (PIX, manual ou banco). |
pagamento.vencido | pagamentos | Cobrança pendente passou do vencimento (disparado no dia seguinte ao vencimento). |
pagamento.cancelado | pagamentos | Cobrança cancelada. |
veiculo.criado | veiculos | Veículo cadastrado. |
veiculo.bloqueado | veiculos | Rastreador passou para bloqueado. |
veiculo.desbloqueado | veiculos | Rastreador passou para desbloqueado. |
cliente.criado | clientes | Cliente cadastrado. |
cliente.atualizado | clientes | Cadastro do cliente alterado. |
os.criada | ordens_servico | Ordem de serviço aberta. |
os.concluida | ordens_servico | Ordem de serviço concluída. |
vistoria.concluida | vistorias | Vistoria validada. |
acordo.criado | acordos | Acordo/parcelamento criado. |
acordo.quitado | acordos | Acordo quitado. |
acordo.parcela_paga | acordos | Parcela de acordo paga. |
multa.criada | multas | Multa registrada para um veículo. |
Exemplo de entrega
POST /seu/endpoint HTTP/1.1
Content-Type: application/json; charset=utf-8
User-Agent: Mapogos-Webhooks/1.0 (SIX Informatica)
X-Mapogos-Evento: pagamento.confirmado
X-Mapogos-Evento-Id: evt_88231_1a2b3c
X-Mapogos-Entrega: 5531
X-Mapogos-Timestamp: 1791475200
X-Mapogos-Assinatura: sha256=5f2c…e91a
{
"id": "evt_88231_1a2b3c",
"evento": "pagamento.confirmado",
"modulo": "pagamentos",
"criado_em": "2026-10-08T14:30:00-03:00",
"ambiente": "live",
"dados": {
"id": 1024,
"rental_id": 512,
"amount": "150.00",
"original_amount": "150.00",
"status": "texto",
"method": "pix",
"due_date": "2026-10-08",
"paid_at": "2026-10-08T14:30:00-03:00",
"note": "Aluguel semanal",
"created_at": "2026-10-08T14:30:00-03:00"
}
}
- Responda 2xx em até 10 s. Qualquer outra resposta (ou timeout) gera nova tentativa em 1 min, 5 min, 30 min, 2 h e 12 h; depois disso a entrega é marcada como falha e pode ser reenviada pelo painel.
- Use
iddo evento para deduplicar: a entrega é “pelo menos uma vez”. - O painel tem o botão “Enviar evento de teste” (
teste.ping).
Validar a assinatura
X-Mapogos-Assinatura = "sha256=" + HMAC_SHA256(segredo_do_webhook, timestamp + "." + corpo_bruto). Compare em tempo constante e rejeite timestamps com mais de 5 minutos.
<?php
$segredo = getenv('MAPOGOS_WEBHOOK_SECRET');
$corpo = file_get_contents('php://input');
$ts = $_SERVER['HTTP_X_MAPOGOS_TIMESTAMP'] ?? '';
$assin = $_SERVER['HTTP_X_MAPOGOS_ASSINATURA'] ?? '';
$esperado = 'sha256=' . hash_hmac('sha256', $ts . '.' . $corpo, $segredo);
if (!hash_equals($esperado, $assin) || abs(time() - (int)$ts) > 300) {
http_response_code(401); exit;
}
$evento = json_decode($corpo, true);
// processe $evento['evento'] / $evento['dados'] e responda rápido
http_response_code(200);
import crypto from 'node:crypto';
import express from 'express';
const app = express();
app.post('/webhooks/mapogos', express.raw({ type: 'application/json' }), (req, res) => {
const ts = req.get('X-Mapogos-Timestamp');
const assin = req.get('X-Mapogos-Assinatura') || '';
const esperado = 'sha256=' + crypto.createHmac('sha256', process.env.MAPOGOS_WEBHOOK_SECRET)
.update(ts + '.' + req.body).digest('hex');
const ok = assin.length === esperado.length && crypto.timingSafeEqual(Buffer.from(assin), Buffer.from(esperado));
if (!ok || Math.abs(Date.now() / 1000 - Number(ts)) > 300) return res.sendStatus(401);
const evento = JSON.parse(req.body);
res.sendStatus(200);
});
import hmac, hashlib, os, time, json
from flask import Flask, request, abort
app = Flask(__name__)
@app.post('/webhooks/mapogos')
def mapogos():
corpo = request.get_data()
ts = request.headers.get('X-Mapogos-Timestamp', '')
assin = request.headers.get('X-Mapogos-Assinatura', '')
esperado = 'sha256=' + hmac.new(os.environ['MAPOGOS_WEBHOOK_SECRET'].encode(),
ts.encode() + b'.' + corpo, hashlib.sha256).hexdigest()
if not hmac.compare_digest(esperado, assin) or abs(time.time() - int(ts or 0)) > 300:
abort(401)
evento = json.loads(corpo)
return '', 200Console “Testar agora”
Execute chamadas reais pelo navegador. A chave fica só na memória desta aba (sessionStorage, apagada ao fechá-la) e só é enviada para esta API. Cuidado: métodos de escrita alteram dados reais.
Changelog
- v1.0.0 · 08/10/2026 — Lançamento: 57 recursos em 37 módulos com permissão própria, leitura com filtros/cursor/CSV, cruzamentos e relatórios, escrita com idempotência, máscara LGPD, carteiras, rate limit, logs e 18 eventos de webhook assinados.