API Mapogospor SIX Informática
REST · JSON · HTTPS

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.

URL basehttps://apimapogos.sixinformatica.com/v1
Versãov1 na URL — mudanças incompatíveis viram v2
FormatoJSON UTF-8 · datas ISO 8601 (-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) ou mpg_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âmetroDescriçãoExemplo
pagina, por_paginaPá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
qBusca textual nos campos de busca do módulo.?q=logan
criado_desde, criado_atePeríodo pela data de criação (AAAA-MM-DD ou ISO 8601).?criado_desde=2026-01-01
atualizado_desdeRegistros criados ou alterados a partir da data — ver sincronização.?atualizado_desde=2026-10-08T00:00:00-03:00
ordenarCampos da lista branca do módulo; - = decrescente; até 3.?ordenar=-due_date,id
camposDevolve só os campos pedidos (o id sempre vem).?campos=id,name,status
incluirNo 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ão 415). 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 (header Idempotent-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

HTTPcodigoQuando acontece
401nao_autenticadoHeader Authorization ausente ou fora do formato Bearer.
401chave_invalidaChave inexistente ou incorreta.
401chave_suspensaChave suspensa pelo administrador.
401chave_revogadaChave revogada definitivamente.
401chave_expiradaChave passou da data de expiração.
403https_obrigatorioRequisição feita sem HTTPS.
403ip_nao_permitidoIP de origem fora da lista permitida da chave.
403permissao_negadaA chave não tem a permissão exigida no módulo.
403carteira_nao_permitidaA chave é restrita a outra(s) carteira(s).
403acao_indisponivelO módulo não oferece esta ação pela API.
404nao_encontradoRegistro não existe (ou está fora das carteiras da chave).
404rota_inexistenteRota ou módulo desconhecido.
405metodo_nao_permitidoMétodo HTTP não suportado nesta rota.
409conflitoEstado do registro impede a operação.
409idempotencia_conflitoIdempotency-Key reutilizada com corpo diferente.
413corpo_muito_grandeCorpo da requisição acima do limite.
415tipo_conteudo_invalidoEscrita exige Content-Type: application/json.
400json_invalidoCorpo não é um JSON válido.
400parametro_invalidoParâmetro de consulta inválido (filtro, ordenação, campos, paginação).
422validacaoUm ou mais campos inválidos; ver detalhes.
429limite_excedidoLimite de requisições por minuto excedido.
500erro_internoFalha 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-LimitLimite por minuto
X-RateLimit-RemainingRestante na janela atual
X-RateLimit-ResetEpoch (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/statusSaúde da API e do banco. Sem autenticação.
GET /v1/meDados da chave: ambiente, carteiras, limite, expiração e permissões concedidas.
GET /v1/modulosMó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,vistoriasLocaçã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}/historicoLinha 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

RotaPermissãoParâmetrosConteúdo
/v1/dashboarddashboardcarteiraIndicadores 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/financeirorelatorios_financeirode, ate, carteiraRecebido, 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/frotarelatorios_frotacarteiraSituação da frota: disponível, locado, em manutenção, inativo, vendido e bloqueado no rastreador, por carteira.
/v1/relatorios/dre · /fluxo_caixa · /roi_veiculosfinanceiro_visaode, ate · diasDRE 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/carteirascarteiras—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.

EndpointPermissãoDescrição
GET /v1/clienteslerLista paginada com filtros
GET /v1/clientes/{id}lerDetalhe (aceita incluir)
GET /v1/clientes/{id}/locacoesler em locacoesRelação → Locações
GET /v1/clientes/{id}/pagamentosler em pagamentosRelação → Pagamentos
GET /v1/clientes/{id}/acordosler em acordosRelação → Acordos
GET /v1/clientes/{id}/multasler em multasRelação → Multas
GET /v1/clientes/{id}/documentosler em clientesRelação → Documentos do cliente
GET /v1/clientes/exportarexportarLote por cursor (JSON/CSV)
POST /v1/clientescriarCadastrar cliente
PATCH /v1/clientes/{id}atualizarAtualizar cliente (parcial)
Campos (31) · 17 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
nametextoNome completo / razão social ordenar
cpf_cnpjtextoCPF ou CNPJ LGPD
cpftextocpf LGPD
rgtextorg LGPD
birth_datedatabirth date LGPD
civil_statustextocivil status
professiontextoprofession
phonetextoTelefone LGPD
emailtextoE-mail LGPD
cnhtextocnh LGPD
cnh_registrotextocnh registro LGPD
cnh_categoriatextocnh categoria filtro
cnh_validadedatacnh validade ordenar
cnh_emissaodatacnh emissao
cnh_primeira_habilitacaodatacnh primeira habilitacao
ceptextocep LGPD
streettextostreet LGPD
numbertextonumber LGPD
complementtextocomplement LGPD
neighborhoodtextoneighborhood LGPD
citytextocity filtro
uftextouf filtro
addresstextoaddress LGPD
reference_pointtextoreference point LGPD
neighborsobjeto JSONVizinhos de referência (JSON) LGPD
witness_neighborsobjeto JSONTestemunhas (JSON) LGPD
billing_dayinteiroDia de cobrança preferido
billing_start_datedatabilling start date
created_atdata-hora ISO 8601Criado em ordenar
log_origemtextoOrigem 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

CampoTipoObrigatórioRegras
nametextosimNome completo / razão social
cpf_cnpjtextonãoCPF ou CNPJ válido (com ou sem máscara; gravado só com dígitos). Duplicado → 409
emailtextonãoE-mail válido
phonetextonãoDDD + número (gravado só com dígitos)
telefones_extraslistanãoLista de telefones auxiliares (substitui os atuais)
ceptextonão8 dígitos
streettextonão
numbertextonão
complementtextonão
neighborhoodtextonão
citytextonão
uftextonãoSigla do estado
cnh_registrotextonão
cnh_categoriatextonãoEx.: AB
cnh_validadedatanão
cnh_emissaodatanão
cnh_primeira_habilitacaodatanão
rgtextonão
birth_datedatanão
civil_statustextonão
professiontextonão
reference_pointtextonão
neighborslistanãoAté 3 vizinhos [{"name":"…","phone":"…"}]
witness_neighborslistanãoAté 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)

CampoTipoObrigatórioRegras
nametextonãoNome completo / razão social
cpf_cnpjtextonãoCPF ou CNPJ válido (com ou sem máscara; gravado só com dígitos). Duplicado → 409
emailtextonãoE-mail válido
phonetextonãoDDD + número (gravado só com dígitos)
telefones_extraslistanãoLista de telefones auxiliares (substitui os atuais)
ceptextonão8 dígitos
streettextonão
numbertextonão
complementtextonão
neighborhoodtextonão
citytextonão
uftextonãoSigla do estado
cnh_registrotextonão
cnh_categoriatextonãoEx.: AB
cnh_validadedatanão
cnh_emissaodatanão
cnh_primeira_habilitacaodatanão
rgtextonão
birth_datedatanão
civil_statustextonão
professiontextonão
reference_pointtextonão
neighborslistanãoAté 3 vizinhos [{"name":"…","phone":"…"}]
witness_neighborslistanãoAté 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

Documentos do cliente

clientes_documentos permissão do módulo clientes somente leitura

Metadados de documentos anexados ao cliente (CNH, comprovantes).

EndpointPermissãoDescrição
GET /v1/clientes_documentoslerLista paginada com filtros
GET /v1/clientes_documentos/{id}lerDetalhe
Campos (10) · 1 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
client_idinteiroID do cliente filtro
doc_typetextodoc type filtro
file_nametextofile name LGPD
mime_typetextomime type
size_bytesinteirosize bytes
match_statusenum: pending | matched | unmatched | manual | errormatch status filtro
match_scoredecimal (string)match score
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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.

EndpointPermissãoDescrição
GET /v1/locacoeslerLista paginada com filtros
GET /v1/locacoes/{id}lerDetalhe (aceita incluir)
GET /v1/locacoes/{id}/clienteler em clientesRelação → Clientes
GET /v1/locacoes/{id}/veiculoler em veiculosRelação → Veículos
GET /v1/locacoes/{id}/pagamentosler em pagamentosRelação → Pagamentos
GET /v1/locacoes/{id}/acordosler em acordosRelação → Acordos
GET /v1/locacoes/{id}/multasler em multasRelação → Multas
GET /v1/locacoes/{id}/vistoriasler em vistoriasRelação → Vistorias
GET /v1/locacoes/{id}/encerramentoler em pos_encerramentoRelação → Encerramento & Pós-Encerramento
GET /v1/locacoes/{id}/contatosler em locacoesRelação → Contatos de referência da locação
GET /v1/locacoes/{id}/contratosler em locacoesRelação → Documentos de contrato
GET /v1/locacoes/{id}/cobrancas_pixler em cobrancas_pixRelação → Cobranças PIX
GET /v1/locacoes/exportarexportarLote por cursor (JSON/CSV)
Campos (39) · 1 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
descriptiontextoDescrição
client_idinteiroID do cliente filtro
vehicle_idinteiroID do veículo filtro
contract_typeenum: aluguel | aluguel_normal | aluguel_particular | vendaaluguel_normal | aluguel_particular | aluguel | venda filtro
statusenum: aberta | ativa | finalizada | cancelada | atrasada | encerrado | pendenteSituação filtro
activebooleanoAtivo (1/0) filtro
fleet_typeenum: mapogos | premiumCarteira (mapogos | premium) filtro
start_datetimedata-hora ISO 8601start datetime ordenar
expected_returndata-hora ISO 8601expected return ordenar
actual_returndata-hora ISO 8601actual return
km_startinteirokm start
km_endinteirokm end
payment_typeenum: mensal | semanal | diariopayment type filtro
recurring_valuedecimal (string)recurring value
recurring_amountdecimal (string)Valor da parcela recorrente
daily_ratedecimal (string)daily rate
depositdecimal (string)deposit
deposit_valuedecimal (string)deposit value
deposit_amountdecimal (string)deposit amount
totaldecimal (string)total
num_installmentsinteironum installments
pay_weekdayinteiropay weekday
pay_monthdayinteiropay monthday
payment_day_weekinteiropayment day week
payment_day_monthinteiropayment day month
bridge_daysinteirobridge days
bridge_chargedbooleanobridge charged
auto_chargebooleanoauto charge
charge_stepinteiroEtapa do ciclo de cobrança (1–3) filtro
next_charge_atdata-hora ISO 8601next charge at ordenar
last_charge_atdata-hora ISO 8601last charge at
blockedbooleanoblocked
autoblock_immune_untildata-hora ISO 8601Imune ao bloqueio automático até esta data
revenue_hiddeninteiro1 = receita oculta dos relatórios
contact_phonetextocontact phone LGPD
notestextoObservações
created_atdata-hora ISO 8601Criado em ordenar
log_origemtextoOrigem 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

Contatos de referência da locação

locacoes_contatos permissão do módulo locacoes somente leitura

Familiares/referências informados no contrato.

EndpointPermissãoDescrição
GET /v1/locacoes_contatoslerLista paginada com filtros
GET /v1/locacoes_contatos/{id}lerDetalhe
Campos (8) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
client_idinteiroID do cliente filtro
positioninteiroposition ordenar
nametextoNome LGPD
phonetextoTelefone LGPD
relationtextorelation
created_atdata-hora ISO 8601Criado 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

Documentos de contrato

locacoes_contratos permissão do módulo locacoes somente leitura

Contratos gerados para assinatura (situação e datas). O link/token de assinatura e a assinatura em si nunca são expostos.

EndpointPermissãoDescrição
GET /v1/locacoes_contratoslerLista paginada com filtros
GET /v1/locacoes_contratos/{id}lerDetalhe
Campos (11) · 3 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
contract_typetextocontract type filtro
statusenum: pendente | enviado | assinado | canceladoSituação filtro
client_nametextoclient name LGPD
client_cpftextoclient cpf LGPD
client_phonetextoclient phone LGPD
signed_atdata-hora ISO 8601signed at ordenar
sent_whatsapp_atdata-hora ISO 8601sent whatsapp at
created_by_user_idinteiroID do usuário que criou
created_atdata-hora ISO 8601Criado 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.

EndpointPermissãoDescrição
GET /v1/pos_encerramentolerLista paginada com filtros
GET /v1/pos_encerramento/{id}lerDetalhe (aceita incluir)
GET /v1/pos_encerramento/{id}/locacaoler em locacoesRelação → Locações
GET /v1/pos_encerramento/{id}/acompanhamentoler em pos_encerramentoRelação → Pendências pós-encerramento
GET /v1/pos_encerramento/{id}/eventosler em pos_encerramentoRelação → Histórico do encerramento
GET /v1/pos_encerramento/{id}/arquivosler em pos_encerramentoRelação → Arquivos do encerramento
GET /v1/pos_encerramento/exportarexportarLote por cursor (JSON/CSV)
Campos (71) · 1 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
statusenum: draft | validated | closed | rejectedSituação filtro
km_inicialinteirokm inicial
km_finalinteirokm final
km_rodadosinteirokm rodados
dias_locadosinteirodias locados
media_km_diadecimal (string)media km dia
km_excedenteinteirokm excedente
multa_km_excedentedecimal (string)multa km excedente
multa_km_excedente_pagodecimal (string)multa km excedente pago
data_inicialdata-hora ISO 8601data inicial
data_finaldata-hora ISO 8601data final
limpezaenum: limpo | sujo | muito_sujolimpeza
combustivelenum: vazio | 1_4 | 1_2 | 3_4 | cheiocombustivel
abastecimento_tipoenum: sem | parcial | integralabastecimento tipo
abastecimento_valordecimal (string)abastecimento valor
funcionando_normalmentebooleanofuncionando normalmente
entregue_com_danosbooleanoentregue com danos
possui_avariasbooleanopossui avarias
possui_avarias_novasbooleanopossui avarias novas
avarias_descricaotextoavarias descricao
avarias_valor_estimadodecimal (string)avarias valor estimado
avarias_total_pecasdecimal (string)avarias total pecas
avarias_observacaotextoavarias observacao
avarias_outros_descricaotextoavarias outros descricao
avarias_outros_valordecimal (string)avarias outros valor
vistoria_idinteirovistoria id
caucao_valor_contratodecimal (string)caucao valor contrato
caucao_saldo_disponiveldecimal (string)caucao saldo disponivel
caucao_descontosdecimal (string)caucao descontos
caucao_destinoenum: devolver | parcial | retercaucao destino filtro
caucao_valor_devolverdecimal (string)caucao valor devolver
caucao_motivos_jsonobjeto JSONcaucao motivos json
caucao_observacaotextocaucao observacao
caucao_retencao_atedatacaucao retencao ate
caucao_retencao_statusenum: nao_aplicavel | retida | parcialmente_liberada | liberadacaucao retencao status filtro
caucao_valor_liberadodecimal (string)caucao valor liberado
caucao_liberada_emdata-hora ISO 8601caucao liberada em
caucao_liberada_por_nometextocaucao liberada por nome
caucao_revisao_notatextocaucao revisao nota
multas_qtd_pendentesinteiromultas qtd pendentes
multas_total_pendentedecimal (string)multas total pendente
multas_valor_cobrardecimal (string)multas valor cobrar
multas_cobradas_idstextomultas cobradas ids
multas_cienciabooleanomultas ciencia
multas_observacaotextomultas observacao
fin_acordos_abertosinteirofin acordos abertos
fin_parcelas_abertasinteirofin parcelas abertas
fin_pix_pendenteinteirofin pix pendente
fin_total_pagodecimal (string)fin total pago
fin_total_pendentedecimal (string)fin total pendente
fin_descontosdecimal (string)fin descontos
fin_saldo_clientedecimal (string)fin saldo cliente
fin_observacaotextofin observacao
desbloqueio_qtdinteirodesbloqueio qtd
guincho_valordecimal (string)guincho valor
equipe_busca_valordecimal (string)equipe busca valor
diarias_atraso_qtdinteirodiarias atraso qtd
diarias_atraso_valordecimal (string)diarias atraso valor
alertas_jsonobjeto JSONalertas json
bloqueios_jsonobjeto JSONbloqueios json
created_by_nametextocreated by name
created_atdata-hora ISO 8601Criado em ordenar
validated_atdata-hora ISO 8601validated at
closed_by_nametextoclosed by name
closed_atdata-hora ISO 8601closed at ordenar
closed_locationtextoclosed location LGPD
pdf_generated_atdata-hora ISO 8601pdf generated at
notestextoObservações
updated_atdata-hora ISO 8601Atualizado 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

Pendências pós-encerramento

pos_encerramento_acompanhamento permissão do módulo pos_encerramento

Acompanhamento após o encerramento: checklist, pendências e devolução da caução.

EndpointPermissãoDescrição
GET /v1/pos_encerramento_acompanhamentolerLista paginada com filtros
GET /v1/pos_encerramento_acompanhamento/{id}lerDetalhe
PATCH /v1/pos_encerramento_acompanhamento/{id}atualizarAtualizar pendências / caução (mesma regra da tela Pós-Encerramento)
Campos (15)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
statustextoSituação filtro
responsavel_user_idinteiroresponsavel user id filtro
checklist_jsonobjeto JSONchecklist json
pendenciastextopendencias
caucao_formatextocaucao forma
caucao_data_previstadatacaucao data prevista
caucao_resp_user_idinteirocaucao resp user id
caucao_devolvidainteirocaucao devolvida
caucao_devolvida_emdata-hora ISO 8601caucao devolvida em
data_conclusaodata-hora ISO 8601data conclusao
notestextoObservações
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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)

CampoTipoObrigatórioRegras
statusenumnão
responsavel_user_idinteironão
checklist_jsonobjetonão
pendenciastextonão
caucao_formatextonão
caucao_data_previstadatanão
caucao_resp_user_idinteironão
caucao_devolvidabooleanonão
notestextonã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ê).

EndpointPermissãoDescrição
GET /v1/pos_encerramento_eventoslerLista paginada com filtros
GET /v1/pos_encerramento_eventos/{id}lerDetalhe
Campos (8)
CampoTipoDescrição
idinteiroIdentificador ordenar
closure_idinteiroclosure id filtro
rental_idinteiroID da locação filtro
event_typetextoevent type filtro
user_idinteirouser id
user_nametextouser name
payload_jsonobjeto JSONpayload json
created_atdata-hora ISO 8601Criado 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.

EndpointPermissãoDescrição
GET /v1/pos_encerramento_arquivoslerLista paginada com filtros
GET /v1/pos_encerramento_arquivos/{id}lerDetalhe
Campos (9)
CampoTipoDescrição
idinteiroIdentificador ordenar
closure_idinteiroclosure id filtro
rental_idinteiroID da locação filtro
categorytextocategory filtro
original_nametextooriginal name
mime_typetextomime type
byte_sizeinteirobyte size
uploaded_by_nametextouploaded by name
uploaded_atdata-hora ISO 8601uploaded 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.

EndpointPermissãoDescrição
GET /v1/vistoriaslerLista paginada com filtros
GET /v1/vistorias/{id}lerDetalhe (aceita incluir)
GET /v1/vistorias/{id}/avariasler em vistoriasRelação → Avarias da vistoria
GET /v1/vistorias/{id}/fotosler em vistoriasRelação → Fotos da vistoria
GET /v1/vistorias/{id}/veiculoler em veiculosRelação → Veículos
GET /v1/vistorias/{id}/locacaoler em locacoesRelação → Locações
GET /v1/vistorias/exportarexportarLote por cursor (JSON/CSV)
POST /v1/vistoriascriarAbrir vistoria (dados e avarias; fotos pelo painel)
PATCH /v1/vistorias/{id}atualizarAtualizar vistoria / validar
Campos (23) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
rental_idinteiroID da locação filtro
client_idinteiroID do cliente filtro
client_cpftextoclient cpf LGPD
client_nametextoclient name LGPD
platetextoPlaca filtro
km_atualinteirokm atual
km_ultima_troca_oleointeirokm ultima troca oleo
km_excedenteinteirokm excedente
multa_km_alertadecimal (string)multa km alerta
inspector_user_idinteiroinspector user id
inspector_nametextoinspector name
observacoestextoobservacoes
ia_summary_jsonobjeto JSONia summary json
ia_custo_totaldecimal (string)ia custo total
ia_processed_atdata-hora ISO 8601ia processed at
has_avariasbooleanohas avarias filtro
statusenum: rascunho | aberta | validada | arquivadaSituação filtro
validada_porinteirovalidada por
validada_emdata-hora ISO 8601validada em
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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)

CampoTipoObrigatórioRegras
vehicle_idinteirosim
rental_idinteironão
km_atualinteirosim
km_ultima_troca_oleointeironão
inspector_nametextonão
observacoestextonão
statusenumnão
avariaslistanã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

CampoTipoObrigatórioRegras
vehicle_idinteironão
rental_idinteironão
km_atualinteironão
km_ultima_troca_oleointeironão
inspector_nametextonão
observacoestextonão
statusenumnão
avariaslistanã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

Avarias da vistoria

vistorias_avarias permissão do módulo vistorias somente leitura

Áreas do veículo verificadas e avarias encontradas.

EndpointPermissãoDescrição
GET /v1/vistorias_avariaslerLista paginada com filtros
GET /v1/vistorias_avarias/{id}lerDetalhe
Campos (7)
CampoTipoDescrição
idinteiroIdentificador ordenar
vistoria_idinteirovistoria id filtro
areatextoarea
area_labeltextoarea label
tem_avariabooleanotem avaria filtro
descricaotextodescricao
created_atdata-hora ISO 8601Criado 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

Fotos da vistoria

vistorias_fotos permissão do módulo vistorias somente leitura

Metadados das fotos da vistoria.

EndpointPermissãoDescrição
GET /v1/vistorias_fotoslerLista paginada com filtros
GET /v1/vistorias_fotos/{id}lerDetalhe
Campos (5)
CampoTipoDescrição
idinteiroIdentificador ordenar
vistoria_idinteirovistoria id filtro
categoriatextocategoria filtro
file_sizeinteirofile size
uploaded_atdata-hora ISO 8601uploaded 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 simples (legado)

vistorias_entrada_saida permissão do módulo vistorias somente leitura

Vistorias de entrada/saída do formulário antigo.

EndpointPermissãoDescrição
GET /v1/vistorias_entrada_saidalerLista paginada com filtros
GET /v1/vistorias_entrada_saida/{id}lerDetalhe
Campos (16)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
vehicle_idinteiroID do veículo filtro
platetextoPlaca
inspection_typeenum: entrada | saidainspection type filtro
inspection_modeenum: vistoria_simples | vistoria_completainspection mode
statusenum: rascunho | concluida | canceladaSituação filtro
fuel_leveltextofuel level
overall_conditiontextooverall condition
inspector_nametextoinspector name
inspector_idinteiroinspector id
kminteirokm
notestextoObservações
items_dataobjeto JSONitems data
created_atdata-hora ISO 8601Criado em ordenar
completed_atdata-hora ISO 8601completed 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).

EndpointPermissãoDescrição
GET /v1/pagamentoslerLista paginada com filtros
GET /v1/pagamentos/{id}lerDetalhe (aceita incluir)
GET /v1/pagamentos/{id}/locacaoler em locacoesRelação → Locações
GET /v1/pagamentos/{id}/comprovantesler em pagamentosRelação → Comprovantes de pagamento
GET /v1/pagamentos/exportarexportarLote por cursor (JSON/CSV)
Campos (16)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
amountdecimal (string)Valor da cobrança (após baixa: valor efetivamente recebido) ordenar
original_amountdecimal (string)Valor original antes de ajuste
statustextoSituação filtro
methodenum: pix | cartao | dinheiro | transferenciaForma de pagamento filtro
due_datedataVencimento filtroordenar
paid_atdata-hora ISO 8601Pago em ordenar
notetextoObservação
created_atdata-hora ISO 8601Criado em ordenar
charge2_atdata-hora ISO 86012ª mensagem de cobrança enviada em
charge3_atdata-hora ISO 86013ª mensagem enviada em
bank_transaction_idtextobank transaction id
scheduled_chargebooleanoscheduled charge
scheduled_charged_atdata-hora ISO 8601scheduled charged at
revenue_centerenum: mapogos | premiumCarteira 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 de pagamento

pagamentos_comprovantes permissão do módulo pagamentos somente leitura

Comprovantes anexados na baixa manual (metadados).

EndpointPermissãoDescrição
GET /v1/pagamentos_comprovanteslerLista paginada com filtros
GET /v1/pagamentos_comprovantes/{id}lerDetalhe
Campos (8)
CampoTipoDescrição
idinteiroIdentificador ordenar
payment_idinteiropayment id filtro
row_typetextorow type filtro
drive_node_idinteirodrive node id
nametextoNome
mimetextomime
created_byinteirocreated by
created_atdata-hora ISO 8601Criado 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.

EndpointPermissãoDescrição
GET /v1/cobrancas_pixlerLista paginada com filtros
GET /v1/cobrancas_pix/{id}lerDetalhe
GET /v1/cobrancas_pix/exportarexportarLote por cursor (JSON/CSV)
Campos (13) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
providertextoprovider filtro
txidtextotxid filtro
charge_typeenum: cob | cobvcharge type filtro
amountdecimal (string)Valor
due_datedataVencimento ordenar
installment_due_datedatainstallment due date
statustextoSituação filtro
qr_codetextoqr code LGPD
ticket_urltextoticket url LGPD
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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.

EndpointPermissãoDescrição
GET /v1/taxaslerLista paginada com filtros
GET /v1/taxas/{id}lerDetalhe (aceita incluir)
GET /v1/taxas/{id}/locacaoler em locacoesRelação → Locações
GET /v1/taxas/exportarexportarLote por cursor (JSON/CSV)
Campos (10)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
amountdecimal (string)Valor
statustextoSituação filtro
methodenum: pix | cartao | dinheiro | transferenciaForma de pagamento
due_datedataVencimento ordenar
paid_atdata-hora ISO 8601Pago em ordenar
notetextoObservação
created_atdata-hora ISO 8601Criado em ordenar
revenue_centerenum: mapogos | premiumrevenue 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.

EndpointPermissãoDescrição
GET /v1/acordoslerLista paginada com filtros
GET /v1/acordos/{id}lerDetalhe (aceita incluir)
GET /v1/acordos/{id}/parcelasler em acordosRelação → Parcelas de acordo
GET /v1/acordos/{id}/itensler em acordosRelação → Itens de acordo
GET /v1/acordos/{id}/multasler em multasRelação → Multas
GET /v1/acordos/{id}/locacaoler em locacoesRelação → Locações
GET /v1/acordos/{id}/clienteler em clientesRelação → Clientes
GET /v1/acordos/exportarexportarLote por cursor (JSON/CSV)
Campos (16)
CampoTipoDescrição
idinteiroIdentificador ordenar
rental_idinteiroID da locação filtro
client_idinteiroID do cliente filtro
titletextotitle
statusenum: aberto | em_dia | atrasado | quitado | cancelado | encerradoSituação filtro
total_originaldecimal (string)total original
total_interestdecimal (string)total interest
total_finesdecimal (string)total fines
total_discountdecimal (string)total discount
total_finaldecimal (string)total final ordenar
notestextoObservações
created_byinteirocreated by
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado em ordenar
cancelled_atdata-hora ISO 8601cancelled at
cancelled_byinteirocancelled 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 acordo

acordos_parcelas permissão do módulo acordos

Parcelas de cada acordo (valor, vencimento, pago).

EndpointPermissãoDescrição
GET /v1/acordos_parcelaslerLista paginada com filtros
GET /v1/acordos_parcelas/{id}lerDetalhe
Campos (9)
CampoTipoDescrição
idinteiroIdentificador ordenar
agreement_idinteiroID do acordo filtro
installment_nointeiroinstallment no ordenar
due_datedataVencimento filtroordenar
amountdecimal (string)Valor
paid_amountdecimal (string)paid amount
statusenum: pendente | pago | vencido | canceladoSituação filtro
paid_atdata-hora ISO 8601Pago em ordenar
created_atdata-hora ISO 8601Criado 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

Itens de acordo

acordos_itens permissão do módulo acordos somente leitura

Composição do acordo (multas de trânsito, avarias, diárias etc.).

EndpointPermissãoDescrição
GET /v1/acordos_itenslerLista paginada com filtros
GET /v1/acordos_itens/{id}lerDetalhe
Campos (8)
CampoTipoDescrição
idinteiroIdentificador ordenar
agreement_idinteiroID do acordo filtro
item_typeenum: multa_atraso | multa_contratual | avarias | diarias_excedentes | taxa_limpeza | combustivel | franquia_seguro | outras | multas_transito | diaria_atraso | multa_km_excedido | multa_troca_oleo | valor_pagoTipo do item filtro
descriptiontextoDescrição
qtydecimal (string)Quantidade
unit_amountdecimal (string)unit amount
total_amountdecimal (string)Valor total
created_atdata-hora ISO 8601Criado 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 global

Despesas da empresa (fornecedor, categoria, NF, veículo/OS vinculados).

EndpointPermissãoDescrição
GET /v1/despesaslerLista paginada com filtros
GET /v1/despesas/{id}lerDetalhe
GET /v1/despesas/exportarexportarLote por cursor (JSON/CSV)
POST /v1/despesascriarLançar despesa
PATCH /v1/despesas/{id}atualizarAtualizar despesa
Campos (19)
CampoTipoDescrição
idinteiroIdentificador ordenar
paid_atdataPago em ordenar
due_datedataVencimento ordenar
categorytextocategory filtro
subcategorytextosubcategory
suppliertextosupplier
supplier_cnpjtextosupplier cnpj
descriptiontextoDescrição
amountdecimal (string)Valor ordenar
payment_methodenum: pix | cartao | dinheiro | transferencia | boleto | debito_automatico | outrospayment method filtro
statusenum: pendente | pago | cancelado | contestadoSituação filtro
vehicle_idinteiroID do veículo filtro
rental_idinteiroID da locação
os_idinteiroos id filtro
nf_numbertextonf number
notestextoObservações
created_by_user_idinteiroID do usuário que criou
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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

CampoTipoObrigatórioRegras
descriptiontextosim
amountdecimalsim
categorytextonãoEx.: combustivel, oficina, peca, aluguel, folha, ipva…
subcategorytextonão
suppliertextonão
supplier_cnpjtextonão
payment_methodenumnão
statusenumnão
due_datedatanão
paid_atdatanãoData da despesa/pagamento (padrão: vencimento ou hoje; ao marcar pago sem data, usa hoje)
vehicle_idinteironão
rental_idinteironão
os_idinteironão
nf_numbertextonão
notestextonã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

CampoTipoObrigatórioRegras
descriptiontextonão
amountdecimalnão
categorytextonãoEx.: combustivel, oficina, peca, aluguel, folha, ipva…
subcategorytextonão
suppliertextonão
supplier_cnpjtextonão
payment_methodenumnão
statusenumnão
due_datedatanão
paid_atdatanãoData da despesa/pagamento (padrão: vencimento ou hoje; ao marcar pago sem data, usa hoje)
vehicle_idinteironão
rental_idinteironão
os_idinteironão
nf_numbertextonão
notestextonã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 global

Lançamentos avulsos do financeiro (referência, valor, vencimento, situação).

EndpointPermissãoDescrição
GET /v1/lancamentos_financeiroslerLista paginada com filtros
GET /v1/lancamentos_financeiros/{id}lerDetalhe
GET /v1/lancamentos_financeiros/exportarexportarLote por cursor (JSON/CSV)
Campos (9)
CampoTipoDescrição
idinteiroIdentificador ordenar
ref_typetextoref type filtro
ref_idinteiroref id filtro
descriptiontextoDescrição
amountdecimal (string)Valor
due_datedataVencimento ordenar
statusenum: pendente | pago | canceladoSituação filtro
created_atdata-hora ISO 8601Criado em ordenar
created_by_user_idinteiroID 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 global

Transações bancárias importadas e o vínculo com pagamentos/despesas/acordos.

EndpointPermissãoDescrição
GET /v1/conciliacao_bancarialerLista paginada com filtros
GET /v1/conciliacao_bancaria/{id}lerDetalhe
GET /v1/conciliacao_bancaria/exportarexportarLote por cursor (JSON/CSV)
Campos (18) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
bank_codetextobank code filtro
bank_nametextobank name
posted_atdata-hora ISO 8601posted at ordenar
amountdecimal (string)Valor ordenar
directionenum: in | outdirection filtro
descriptiontextoDescrição
counterpart_nametextocounterpart name LGPD
counterpart_doctextocounterpart doc LGPD
counterpart_banktextocounterpart bank
reconcile_statusenum: pending | matched | manual | ignoredreconcile status filtro
match_typeenum: payment | expense | agreement | manualmatch type filtro
match_idinteiromatch id
match_confidencenúmeromatch confidence
match_reasontextomatch reason
sourceenum: webhook | ofx | csv | manual | ofx_manualsource
created_atdata-hora ISO 8601Criado em
reconciled_atdata-hora ISO 8601reconciled 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.

EndpointPermissãoDescrição
GET /v1/veiculoslerLista paginada com filtros
GET /v1/veiculos/{id}lerDetalhe (aceita incluir)
GET /v1/veiculos/{id}/locacoesler em locacoesRelação → Locações
GET /v1/veiculos/{id}/multasler em multasRelação → Multas
GET /v1/veiculos/{id}/debitosler em debitos_veicularesRelação → Débitos Veiculares
GET /v1/veiculos/{id}/ordens_servicoler em ordens_servicoRelação → Ordens de Serviço
GET /v1/veiculos/{id}/licenciamentoler em licenciamentoRelação → Licenciamento
GET /v1/veiculos/{id}/manutencaoler em manutencao_preditivaRelação → Manutenção Preditiva
GET /v1/veiculos/{id}/vistoriasler em vistoriasRelação → Vistorias
GET /v1/veiculos/exportarexportarLote por cursor (JSON/CSV)
POST /v1/veiculoscriarCadastrar veículo (entra como disponível/desbloqueado)
PATCH /v1/veiculos/{id}atualizarAtualizar cadastro (status e rastreador não são alteráveis pela API)
Campos (28) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
typeenum: carro | mototype filtro
brandtextoMarca filtro
modeltextoModelo
yearinteiroyear
manufacture_yearinteiromanufacture year
model_yearinteiromodel year
platetextoPlaca filtroordenar
renavamtextorenavam
chassitextochassi
statusenum: disponivel | alugado | manutencao | inativo | vendidodisponivel | alugado | manutencao | inativo | vendido filtro
fleet_typeenum: mapogos | premiumCarteira (mapogos | premium) filtro
tracker_statusenum: desbloqueado | bloqueadoEstado do bloqueio no rastreador filtro
tracker_imeitextotracker imei LGPD
tracker_chiptextotracker chip LGPD
daily_ratedecimal (string)daily rate
pricedecimal (string)price
current_kminteirocurrent km ordenar
restricaobooleano1 = veículo com restrição (não pode ser locado) filtro
restricao_obstextorestricao obs
restricao_atdata-hora ISO 8601restricao at
data_cancelamento_contratodatadata cancelamento contrato
crlv_uploaded_atdata-hora ISO 8601crlv uploaded at
notestextoObservações
deleted_atdata-hora ISO 8601deleted at
delete_reasontextodelete reason
created_atdata-hora ISO 8601Criado em ordenar
log_origemtextoOrigem 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)

CampoTipoObrigatórioRegras
platetextosimPlaca (única)
modeltextosim
brandtextonão
typeenumnãoPadrão carro
fleet_typeenumnãoCarteira (padrão mapogos; precisa estar nas carteiras da chave)
manufacture_yearinteironão
model_yearinteironão
renavamtextonão
chassitextonão
daily_ratedecimalnão
pricedecimalnão
current_kminteironão
notestextonã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)

CampoTipoObrigatórioRegras
platetextonãoPlaca (única)
modeltextonão
brandtextonão
typeenumnãoPadrão carro
fleet_typeenumnãoCarteira (padrão mapogos; precisa estar nas carteiras da chave)
manufacture_yearinteironão
model_yearinteironão
renavamtextonão
chassitextonão
daily_ratedecimalnão
pricedecimalnão
current_kminteironão
notestextonã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.

EndpointPermissãoDescrição
GET /v1/multaslerLista paginada com filtros
GET /v1/multas/{id}lerDetalhe (aceita incluir)
GET /v1/multas/{id}/veiculoler em veiculosRelação → Veículos
GET /v1/multas/{id}/locacaoler em locacoesRelação → Locações
GET /v1/multas/{id}/acordoler em acordosRelação → Acordos
GET /v1/multas/exportarexportarLote por cursor (JSON/CSV)
POST /v1/multascriarRegistrar multa (taxa adm. 50%, vincula contrato ativo e roda a automação de multas do sistema)
PATCH /v1/multas/{id}atualizarCorrigir dados da multa (recalcula taxa e total)
Campos (27)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
rental_idinteiroID da locação filtro
fine_numbertextoAIT (número do auto de infração) filtro
descriptiontextoDescrição
orgao_autuadortextoorgao autuador
municipiotextomunicipio
local_infracaotextolocal infracao
pontos_gravidadetextopontos gravidade
situacao_detrantextosituacao detran filtro
data_hora_infracaotextodata hora infracao
issue_datedataissue date ordenar
due_datedataVencimento
fine_amountdecimal (string)fine amount
admin_feedecimal (string)Taxa administrativa
total_amountdecimal (string)Multa + taxa administrativa ordenar
statusenum: pendente | cobrado | adicionado_acordo | pago | contestado | pago_clientependente | cobrado | adicionado_acordo | pago | contestado | pago_cliente filtro
added_to_agreement_idinteiroadded to agreement id filtro
consulted_atdata-hora ISO 8601consulted at
baixa_obstextobaixa obs
baixa_usertextobaixa user
baixa_atdata-hora ISO 8601baixa at
client_notified_atdata-hora ISO 8601client notified at
team_notified_atdata-hora ISO 8601team notified at
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado em
log_origemtextoOrigem 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)

CampoTipoObrigatórioRegras
vehicle_idinteirosim
fine_numbertextosimAIT
descriptiontextosim
issue_datedatasim
due_datedatanão
fine_amountdecimalsimTaxa 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)

CampoTipoObrigatórioRegras
vehicle_idinteironão
fine_numbertextonãoAIT
descriptiontextonão
issue_datedatanão
due_datedatanão
fine_amountdecimalnãoTaxa 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.

EndpointPermissãoDescrição
GET /v1/debitos_veiculareslerLista paginada com filtros
GET /v1/debitos_veiculares/{id}lerDetalhe (aceita incluir)
GET /v1/debitos_veiculares/{id}/veiculoler em veiculosRelação → Veículos
GET /v1/debitos_veiculares/exportarexportarLote por cursor (JSON/CSV)
POST /v1/debitos_veicularescriarCadastrar débito
PATCH /v1/debitos_veiculares/{id}atualizarAtualizar débito
Campos (12)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
typeenum: ipva | licenciamento | dpvat | servicos_bancarios | multa_semob | multa_detran | outrotype filtro
reference_yearinteiroreference year filtroordenar
descriptiontextoDescrição
amountdecimal (string)Valor ordenar
due_datedataVencimento ordenar
statusenum: pendente | quitado | parcelado | isento | vencidoSituação filtro
sync_sourcetextosync source
synced_atdata-hora ISO 8601synced at
created_atdata-hora ISO 8601Criado em
updated_atdata-hora ISO 8601Atualizado 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

CampoTipoObrigatórioRegras
vehicle_idinteirosim
typeenumsim
reference_yearinteironão
descriptiontextonão
amountdecimalsim
due_datedatanão
statusenumnã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

CampoTipoObrigatórioRegras
vehicle_idinteironão
typeenumnão
reference_yearinteironão
descriptiontextonão
amountdecimalnão
due_datedatanão
statusenumnã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.

EndpointPermissãoDescrição
GET /v1/licenciamentolerLista paginada com filtros
GET /v1/licenciamento/{id}lerDetalhe
GET /v1/licenciamento/exportarexportarLote por cursor (JSON/CSV)
Campos (26)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
placatextoPlaca filtro
renavamtextorenavam
exerciciotextoexercicio filtro
data_limitedatadata limite ordenar
valor_totaldecimal (string)valor total
valor_licenciamentodecimal (string)valor licenciamento
proprietariotextoproprietario
itensobjeto JSONitens
situacaotextosituacao filtro
errotextoerro
consulted_atdata-hora ISO 8601consulted at
linha_digitaveltextolinha digitavel
codigo_barrastextocodigo barras
boleto_vencdataboleto venc
boleto_valordecimal (string)boleto valor
gravame_financeiratextogravame financeira
gravame_restricaotextogravame restricao
gravame_contratotextogravame contrato
gravame_datadatagravame data
gravame_situacaotextogravame situacao
gravame_atdata-hora ISO 8601gravame at
observacaotextoobservacao
observacao_atdata-hora ISO 8601observacao at
updated_atdata-hora ISO 8601Atualizado 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.

EndpointPermissãoDescrição
GET /v1/real_condutorlerLista paginada com filtros
GET /v1/real_condutor/{placa}lerDetalhe
GET /v1/real_condutor/exportarexportarLote por cursor (JSON/CSV)
Campos (16) · 4 sensível(is)
CampoTipoDescrição
placatextoPlaca filtroordenar
renavamtextorenavam
modelotextomodelo
empresa_cnpjtextoempresa cnpj
empresa_nometextoempresa nome
tem_condutorbooleanotem condutor filtro
condutor_nometextocondutor nome LGPD
condutor_cpftextocondutor cpf LGPD
condutor_cnhtextocondutor cnh LGPD
condutor_desdedata-hora ISO 8601condutor desde
autorizacaotextoautorizacao
ultimo_condutortextoultimo condutor LGPD
excluido_emdata-hora ISO 8601excluido em
motivo_exclusaotextomotivo exclusao
mudou_emdata-hora ISO 8601mudou em ordenar
verificado_emdata-hora ISO 8601verificado 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

Indicações de condutor

indicacoes_condutor permissão do módulo real_condutor somente leitura

Processo de indicação do condutor (pedido de CNH, prazo, situação).

EndpointPermissãoDescrição
GET /v1/indicacoes_condutorlerLista paginada com filtros
GET /v1/indicacoes_condutor/{id}lerDetalhe
Campos (15)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
rental_idinteiroID da locação filtro
client_idinteiroID do cliente filtro
platetextoPlaca
statustextoSituação filtro
motivotextomotivo
cnh_on_fileinteirocnh on file
cnh_requested_atdata-hora ISO 8601cnh requested at
cnh_request_countinteirocnh request count
ready_atdata-hora ISO 8601ready at
indicated_atdata-hora ISO 8601indicated at
deadlinedatadeadline ordenar
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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.

EndpointPermissãoDescrição
GET /v1/manutencao_preditivalerLista paginada com filtros
GET /v1/manutencao_preditiva/{id}lerDetalhe
GET /v1/manutencao_preditiva/exportarexportarLote por cursor (JSON/CSV)
Campos (14)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
itemtextoitem filtro
interval_kminteirointerval km
last_done_kminteirolast done km
last_done_atdatalast done at
next_due_kminteironext due km
next_due_atdatanext due at ordenar
days_remaininginteirodays remaining ordenar
km_remaininginteirokm remaining ordenar
statusenum: ok | due_soon | overdueSituação filtro
estimated_costdecimal (string)estimated cost
notified_atdata-hora ISO 8601notified at
updated_atdata-hora ISO 8601Atualizado 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.

EndpointPermissãoDescrição
GET /v1/ordens_servicolerLista paginada com filtros
GET /v1/ordens_servico/{id}lerDetalhe (aceita incluir)
GET /v1/ordens_servico/{id}/itensler em ordens_servicoRelação → Itens de OS
GET /v1/ordens_servico/{id}/veiculoler em veiculosRelação → Veículos
GET /v1/ordens_servico/{id}/clienteler em clientesRelação → Clientes
GET /v1/ordens_servico/exportarexportarLote por cursor (JSON/CSV)
POST /v1/ordens_servicocriarAbrir OS (veículo vai para manutenção)
PATCH /v1/ordens_servico/{id}atualizarAtualizar mecânico, diagnóstico, notas ou KM (OS aberta)
POST /v1/ordens_servico/{id}/itensatualizarAdicionar peça (baixa do estoque) ou serviço
POST /v1/ordens_servico/{id}/itens/{pid}/removeratualizarRemover item (devolve peça ao estoque)
POST /v1/ordens_servico/{id}/concluiratualizarConcluir OS (libera o veículo e notifica)
Campos (31)
CampoTipoDescrição
idinteiroIdentificador ordenar
platetextoPlaca filtro
vehicle_idinteiroID do veículo filtro
vehicle_modeltextovehicle model
client_idinteiroID do cliente filtro
os_typeenum: aluguel | vendaaluguel | venda filtro
statustextoaberta | concluida filtro
km_openinteirokm open
km_closeinteirokm close
responsibletextoresponsible
mechanic_nametextomechanic name
mechanic_user_idinteiromechanic user id filtro
summarytextosummary
diagnosistextodiagnosis
final_diagnosistextofinal diagnosis
notestextoObservações
final_notestextofinal notes
total_partsdecimal (string)total parts
total_servicesdecimal (string)total services
discountdecimal (string)discount
total_amountdecimal (string)Valor total ordenar
due_datedataVencimento
destaquebooleanodestaque filtro
calc_excludedbooleano1 = fora do cálculo de custos
calc_excluded_reasontextocalc excluded reason
opened_atdata-hora ISO 8601opened at ordenar
released_atdata-hora ISO 8601released at
closed_atdata-hora ISO 8601closed at ordenar
created_by_user_idinteiroID do usuário que criou
closed_by_user_idinteiroclosed by user id
updated_atdata-hora ISO 8601Atualizado 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)

CampoTipoObrigatórioRegras
vehicle_idinteirosim
km_openinteirosim≥ KM atual do veículo
client_idinteironão
mechanic_user_idinteironão
diagnosistextonão
notestextonã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)

CampoTipoObrigatórioRegras
mechanic_user_idinteironão
diagnosistextonão
notestextonão
km_openinteironãoNã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

CampoTipoObrigatórioRegras
item_typeenumsim
stock_item_idinteironãoObrigatório para peça (id em estoque_pecas)
descriptiontextonãoObrigatório para serviço
qtydecimalnão
unit_pricedecimalnão
notestextonã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)

CampoTipoObrigatórioRegras
km_closeinteironão
final_diagnosistextonão
final_notestextonão
due_datedatanã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

Itens de OS

ordens_servico_itens permissão do módulo ordens_servico

Peças e serviços lançados na OS.

EndpointPermissãoDescrição
GET /v1/ordens_servico_itenslerLista paginada com filtros
GET /v1/ordens_servico_itens/{id}lerDetalhe
Campos (11)
CampoTipoDescrição
idinteiroIdentificador ordenar
os_idinteiroos id filtro
item_typeenum: part | serviceTipo do item filtro
descriptiontextoDescrição
stock_item_idinteirostock item id filtro
qtydecimal (string)Quantidade
unit_pricedecimal (string)Preço unitário
total_pricedecimal (string)total price
notestextoObservações
created_atdata-hora ISO 8601Criado em ordenar
created_by_user_idinteiroID 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).

EndpointPermissãoDescrição
GET /v1/ordens_servico_legadolerLista paginada com filtros
GET /v1/ordens_servico_legado/{id}lerDetalhe
GET /v1/ordens_servico_legado/exportarexportarLote por cursor (JSON/CSV)
Campos (16)
CampoTipoDescrição
idinteiroIdentificador ordenar
vehicle_idinteiroID do veículo filtro
platetextoPlaca filtro
mechanic_idinteiromechanic id
statusenum: ABERTA | CONCLUIDA | CANCELADASituação filtro
opened_atdata-hora ISO 8601opened at ordenar
released_atdata-hora ISO 8601released at
km_currentinteirokm current
diagnosistextodiagnosis
obstextoobs
parts_totaldecimal (string)parts total
services_totaldecimal (string)services total
totaldecimal (string)total
created_atdata-hora ISO 8601Criado em
updated_atdata-hora ISO 8601Atualizado em
log_origemtextoOrigem 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.

EndpointPermissãoDescrição
GET /v1/orcamentoslerLista paginada com filtros
GET /v1/orcamentos/{id}lerDetalhe (aceita incluir)
GET /v1/orcamentos/{id}/itensler em orcamentosRelação → Itens de orçamento
GET /v1/orcamentos/exportarexportarLote por cursor (JSON/CSV)
POST /v1/orcamentoscriarCriar orçamento com itens (total calculado)
PATCH /v1/orcamentos/{id}atualizarAtualizar orçamento (itens enviados substituem os atuais)
DELETE /v1/orcamentos/{id}excluirExcluir orçamento em rascunho
Campos (14) · 1 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
client_idinteiroID do cliente filtro
client_nametextoclient name LGPD
vehicle_idinteiroID do veículo filtro
platetextoPlaca filtro
vehicle_modeltextovehicle model
total_amountdecimal (string)Valor total ordenar
statustextoSituação filtro
notestextoObservações
validade_diasinteirovalidade dias
created_by_user_idinteiroID do usuário que criou
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado em
sent_atdata-hora ISO 8601sent 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)

CampoTipoObrigatórioRegras
client_idinteironão
vehicle_idinteironão
notestextonão
validade_diasinteironão
itenslistasim[{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)

CampoTipoObrigatórioRegras
client_idinteironão
vehicle_idinteironão
notestextonão
validade_diasinteironão
itenslistanã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

Itens de orçamento

orcamentos_itens permissão do módulo orcamentos somente leitura

Peças e serviços do orçamento.

EndpointPermissãoDescrição
GET /v1/orcamentos_itenslerLista paginada com filtros
GET /v1/orcamentos_itens/{id}lerDetalhe
Campos (8)
CampoTipoDescrição
idinteiroIdentificador ordenar
orcamento_idinteiroorcamento id filtro
item_typetextoTipo do item filtro
descriptiontextoDescrição
qtydecimal (string)Quantidade
unit_pricedecimal (string)Preço unitário
totaldecimal (string)total
created_atdata-hora ISO 8601Criado 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 global

Peças cadastradas: código, categoria, preço, estoque mínimo e atual.

EndpointPermissãoDescrição
GET /v1/estoque_pecaslerLista paginada com filtros
GET /v1/estoque_pecas/{id}lerDetalhe (aceita incluir)
GET /v1/estoque_pecas/{id}/movimentacoesler em estoque_movimentacoesRelação → Movimentações de Estoque
GET /v1/estoque_pecas/exportarexportarLote por cursor (JSON/CSV)
POST /v1/estoque_pecascriarCadastrar peça
PATCH /v1/estoque_pecas/{id}atualizarAtualizar peça
Campos (15)
CampoTipoDescrição
idinteiroIdentificador ordenar
codetextocode filtroordenar
nametextoNome ordenar
descriptiontextoDescrição
categorytextocategory filtro
unittextounit
min_stockdecimal (string)min stock
current_stockdecimal (string)current stock ordenar
unit_pricedecimal (string)Preço unitário
suppliertextosupplier filtro
locationtextolocation
reuse_daysinteiroreuse days
activebooleanoAtivo (1/0) filtro
created_atdata-hora ISO 8601Criado em
updated_atdata-hora ISO 8601Atualizado 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

CampoTipoObrigatórioRegras
nametextosim
codetextonãoÚnico
descriptiontextonão
categorytextonão
suppliertextonão
unit_pricedecimalnão
min_stockinteironão
current_stockinteironãoSaldo inicial/ajuste direto, como no cadastro do painel (prefira movimentações)
activebooleanonã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

CampoTipoObrigatórioRegras
nametextonão
codetextonãoÚnico
descriptiontextonão
categorytextonão
suppliertextonão
unit_pricedecimalnão
min_stockinteironão
current_stockinteironãoSaldo inicial/ajuste direto, como no cadastro do painel (prefira movimentações)
activebooleanonã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 global

Entradas, saídas e ajustes de estoque (com referência à OS quando houver).

EndpointPermissãoDescrição
GET /v1/estoque_movimentacoeslerLista paginada com filtros
GET /v1/estoque_movimentacoes/{id}lerDetalhe (aceita incluir)
GET /v1/estoque_movimentacoes/{id}/pecaler em estoque_pecasRelação → Cadastro de Peças
GET /v1/estoque_movimentacoes/exportarexportarLote por cursor (JSON/CSV)
POST /v1/estoque_movimentacoescriarRegistrar entrada/saída (atualiza o saldo como no painel)
Campos (11)
CampoTipoDescrição
idinteiroIdentificador ordenar
part_idinteiropart id filtro
stock_item_idinteirostock item id
movement_typeenum: entrada | saida | ajustemovement type filtro
qtydecimal (string)Quantidade
unit_costdecimal (string)unit cost
ref_typetextoref type filtro
ref_idinteiroref id filtro
notestextoObservações
created_atdata-hora ISO 8601Criado em ordenar
created_by_user_idinteiroID 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)

CampoTipoObrigatórioRegras
part_idinteirosim
movement_typeenumsim
qtyinteirosim
unit_costdecimalnãoNa entrada, vira o preço unitário da peça (como no painel)
notestextonã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 global

Posição atual do estoque por peça ativa (estoque atual × mínimo).

EndpointPermissãoDescrição
GET /v1/estoque_saldolerLista paginada com filtros
GET /v1/estoque_saldo/{id}lerDetalhe
GET /v1/estoque_saldo/exportarexportarLote por cursor (JSON/CSV)
Campos (11)
CampoTipoDescrição
idinteiroIdentificador ordenar
codetextocode filtro
nametextoNome ordenar
categorytextocategory filtro
unittextounit
current_stockdecimal (string)current stock ordenar
min_stockdecimal (string)min stock
unit_pricedecimal (string)Preço unitário
locationtextolocation
updated_atdata-hora ISO 8601Atualizado em
abaixo_minimobooleanoabaixo 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.

EndpointPermissãoDescrição
GET /v1/central_atendimentolerLista paginada com filtros
GET /v1/central_atendimento/{id}lerDetalhe (aceita incluir)
GET /v1/central_atendimento/{id}/mensagensler em central_atendimentoRelação → Mensagens da Central
GET /v1/central_atendimento/exportarexportarLote por cursor (JSON/CSV)
PATCH /v1/central_atendimento/{id}atualizarMudar situação, setor ou atendente do ticket
Campos (24) · 3 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
phonetextoTelefone LGPD
contact_nametextocontact name LGPD
client_idinteiroID do cliente filtro
rental_idinteiroID da locação filtro
sector_idinteirosector id filtro
statustextonovo | em_atendimento | aguardando_cliente | finalizado filtro
assigned_user_idinteiroassigned user id filtro
unread_countinteirounread count
last_message_atdata-hora ISO 8601last message at ordenar
last_message_previewtextolast message preview LGPD
last_directiontextolast direction
last_inbound_atdata-hora ISO 8601last inbound at
awaiting_responseinteiroawaiting response
awaiting_agentinteiroawaiting agent
first_response_secondsinteirofirst response seconds
resp_time_suminteiroresp time sum
resp_time_countinteiroresp time count
is_groupinteirois group filtro
started_by_user_idinteirostarted by user id
closed_atdata-hora ISO 8601closed at
closed_by_user_idinteiroclosed by user id
created_atdata-hora ISO 8601Criado em ordenar
updated_atdata-hora ISO 8601Atualizado 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

CampoTipoObrigatórioRegras
statusenumnãofinalizado encerra o atendimento e devolve o contato ao bot de menu
sector_idinteironão
assigned_user_idinteironã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 da Central

central_mensagens permissão do módulo central_atendimento somente leitura

Mensagens trocadas em cada atendimento (texto só com permissão de dados pessoais).

EndpointPermissãoDescrição
GET /v1/central_mensagenslerLista paginada com filtros
GET /v1/central_mensagens/{id}lerDetalhe
GET /v1/central_mensagens/exportarexportarLote por cursor (JSON/CSV)
Campos (12) · 4 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
ticket_idinteiroticket id filtro
phonetextoTelefone LGPD
directiontextodirection filtro
msg_typetextomsg type filtro
bodytextobody LGPD
media_urltextomedia url LGPD
from_meinteirofrom me filtro
author_user_idinteiroauthor user id
sender_nametextosender name LGPD
statustextoSituação
created_atdata-hora ISO 8601Criado 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 da Central

central_setores permissão do módulo central_atendimento somente leitura global

Setores de atendimento.

EndpointPermissãoDescrição
GET /v1/central_setoreslerLista paginada com filtros
GET /v1/central_setores/{id}lerDetalhe
Campos (6)
CampoTipoDescrição
idinteiroIdentificador ordenar
nametextoNome ordenar
colortextocolor
sortinteirosort ordenar
activeinteiroAtivo (1/0) filtro
created_atdata-hora ISO 8601Criado 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 global

Etiquetas aplicáveis aos atendimentos.

EndpointPermissãoDescrição
GET /v1/central_etiquetaslerLista paginada com filtros
GET /v1/central_etiquetas/{id}lerDetalhe
Campos (6)
CampoTipoDescrição
idinteiroIdentificador ordenar
nametextoNome ordenar
colortextocolor
sortinteirosort ordenar
activeinteiroAtivo (1/0) filtro
created_atdata-hora ISO 8601Criado 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.

EndpointPermissãoDescrição
GET /v1/whatsapp_mensagenslerLista paginada com filtros
GET /v1/whatsapp_mensagens/{id}lerDetalhe
GET /v1/whatsapp_mensagens/exportarexportarLote por cursor (JSON/CSV)
Campos (10) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
context_typeenum: rental | os | agreement | othercontext type filtro
context_idinteirocontext id filtro
phonetextoTelefone LGPD
bodytextobody LGPD
statustextoSituação filtro
charge_stepinteirocharge step filtro
retry_countinteiroretry count
created_by_user_idinteiroID do usuário que criou
created_atdata-hora ISO 8601Criado 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 global

Interessados captados pelo WhatsApp e a triagem da IA (documentos, score, decisão).

EndpointPermissãoDescrição
GET /v1/pre_leadslerLista paginada com filtros
GET /v1/pre_leads/{id}lerDetalhe
Campos (13) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
phonetextoTelefone LGPD
client_idinteiroID do cliente
stageenum: greeting | collecting_doc | doc_received | scoring | approved | rejected | converted | abandonedstage filtro
serasa_scoreinteiroserasa score LGPD
liveness_okbooleanoliveness ok
face_match_okbooleanoface match ok
decisionenum: aprovado | revisar | recusadodecision filtro
decision_reasontextodecision reason
vehicle_preferencetextovehicle preference
rental_days_prefinteirorental days pref
last_interactiondata-hora ISO 8601last interaction ordenar
created_atdata-hora ISO 8601Criado 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 global

Pastas e arquivos do Drive interno (metadados). Download em /v1/drive/{id}/download exige também a permissão de dados pessoais.

EndpointPermissãoDescrição
GET /v1/drivelerLista paginada com filtros
GET /v1/drive/{id}lerDetalhe (aceita incluir)
GET /v1/drive/{id}/conteudoler em driveRelação → Drive de Arquivos
POST /v1/drivecriarCriar pasta ou enviar arquivo (conteúdo em base64, até 700 KB)
PATCH /v1/drive/{id}atualizarRenomear ou mover
GET /v1/drive/{id}/downloadler + dados_pessoaisDownload controlado do arquivo
Campos (9)
CampoTipoDescrição
idinteiroIdentificador ordenar
parent_idinteiroparent id filtro
node_typeenum: folder | filenode type filtro
nametextoNome ordenar
mime_typetextomime type filtro
size_bytesinteirosize bytes ordenar
created_by_user_idinteiroID do usuário que criou
created_by_nametextocreated by name
created_atdata-hora ISO 8601Criado 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)

CampoTipoObrigatórioRegras
node_typeenumsim
nametextosim
parent_idinteironãoPasta destino (null = raiz)
conteudo_base64textonãoObrigatório para arquivo; até ~700 KB
mime_typetextonã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

CampoTipoObrigatórioRegras
nametextonão
parent_idinteironãoPasta 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 global

Documentos gerados pela IA (notificações, cartas, relatórios).

EndpointPermissãoDescrição
GET /v1/documentos_ialerLista paginada com filtros
GET /v1/documentos_ia/{id}lerDetalhe
Campos (11) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
doc_typetextodoc type filtro
ref_typetextoref type filtro
ref_idinteiroref id filtro
titletextotitle
content_texttextocontent text LGPD
sent_totextosent to LGPD
sent_atdata-hora ISO 8601sent at
statusenum: draft | sent | signed | archivedSituação filtro
generated_by_user_idinteirogenerated by user id
created_atdata-hora ISO 8601Criado 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 global

Usuá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).

EndpointPermissãoDescrição
GET /v1/usuarioslerLista paginada com filtros
GET /v1/usuarios/{id}lerDetalhe (aceita incluir)
GET /v1/usuarios/{id}/cargosler em cargosRelação → Cargos & Acessos
GET /v1/usuarios/exportarexportarLote por cursor (JSON/CSV)
Campos (9) · 2 sensível(is)
CampoTipoDescrição
idinteiroIdentificador ordenar
usernametextousername
nametextoNome ordenar
emailtextoE-mail LGPD
phonetextoTelefone LGPD
roleenum: admin | atendente | financeirorole filtro
activebooleanoAtivo (1/0) filtro
created_atdata-hora ISO 8601Criado em ordenar
log_origemtextoOrigem 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 global

Cargos (perfis) do painel e as permissões de cada um. Somente leitura.

EndpointPermissãoDescrição
GET /v1/cargoslerLista paginada com filtros
GET /v1/cargos/{id}lerDetalhe (aceita incluir)
GET /v1/cargos/{id}/permissoesler em cargosRelação → Permissões do painel
GET /v1/cargos/{id}/usuariosler em usuariosRelação → Usuários
Campos (3)
CampoTipoDescrição
idinteiroIdentificador ordenar
nametextoNome ordenar
descriptiontextoDescriçã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

Permissões do painel

permissoes_painel permissão do módulo cargos somente leitura global

Lista de permissões existentes no painel (perm_key).

EndpointPermissãoDescrição
GET /v1/permissoes_painellerLista paginada com filtros
GET /v1/permissoes_painel/{id}lerDetalhe
Campos (3)
CampoTipoDescrição
idinteiroIdentificador ordenar
perm_keytextoperm key filtroordenar
labeltextolabel

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 global

Modelos (templates HTML) usados para gerar contratos de aluguel e venda, com histórico de versões. Somente leitura (texto jurídico).

EndpointPermissãoDescrição
GET /v1/modelos_contratolerLista paginada com filtros
GET /v1/modelos_contrato/{id}lerDetalhe (aceita incluir)
GET /v1/modelos_contrato/{id}/versoesler em modelos_contratoRelação → Versões de modelo de contrato
Campos (7)
CampoTipoDescrição
idinteiroIdentificador ordenar
typetextotype filtro
nametextoNome ordenar
htmltextohtml
updated_byinteiroupdated by
updated_atdata-hora ISO 8601Atualizado em ordenar
created_atdata-hora ISO 8601Criado 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 global

Histórico de alterações dos modelos de contrato.

EndpointPermissãoDescrição
GET /v1/modelos_contrato_versoeslerLista paginada com filtros
GET /v1/modelos_contrato_versoes/{id}lerDetalhe
Campos (5)
CampoTipoDescrição
idinteiroIdentificador ordenar
template_idinteirotemplate id filtro
htmltextohtml
changed_byinteirochanged by
changed_atdata-hora ISO 8601changed 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 global

Notificações internas exibidas no sino do painel (pagamentos recebidos, OS, alertas).

EndpointPermissãoDescrição
GET /v1/notificacoeslerLista paginada com filtros
GET /v1/notificacoes/{id}lerDetalhe
GET /v1/notificacoes/exportarexportarLote por cursor (JSON/CSV)
Campos (9)
CampoTipoDescrição
idinteiroIdentificador ordenar
typetextotype filtro
user_idinteirouser id filtro
titletextotitle
messagetextomessage
dataobjeto JSONdata
read_atdata-hora ISO 8601read at
created_atdata-hora ISO 8601Criado em ordenar
audiencetextoaudience 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.

EventoMódulo (permissão)Quando
locacao.criadalocacoesNovo contrato de locação ou venda criado.
locacao.encerradalocacoesContrato encerrado/finalizado.
pagamento.criadopagamentosNova cobrança gerada.
pagamento.confirmadopagamentosCobrança baixada como paga (PIX, manual ou banco).
pagamento.vencidopagamentosCobrança pendente passou do vencimento (disparado no dia seguinte ao vencimento).
pagamento.canceladopagamentosCobrança cancelada.
veiculo.criadoveiculosVeículo cadastrado.
veiculo.bloqueadoveiculosRastreador passou para bloqueado.
veiculo.desbloqueadoveiculosRastreador passou para desbloqueado.
cliente.criadoclientesCliente cadastrado.
cliente.atualizadoclientesCadastro do cliente alterado.
os.criadaordens_servicoOrdem de serviço aberta.
os.concluidaordens_servicoOrdem de serviço concluída.
vistoria.concluidavistoriasVistoria validada.
acordo.criadoacordosAcordo/parcelamento criado.
acordo.quitadoacordosAcordo quitado.
acordo.parcela_pagaacordosParcela de acordo paga.
multa.criadamultasMulta 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 id do 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 '', 200

Console “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.

Aguardando requisição…

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.