A API externa da Xeqmate deixa o seu sistema ler os dados da plataforma — câmeras, trechos de gravação, passagens de placa e faciais — e cadastrar, editar e inativar usuários, sem abrir a tela. REST, somente HTTPS, com token por cliente, limite de requisições declarado e todas as chamadas auditadas.
É uma API REST que dá ao cliente acesso programático aos dados dele na plataforma: câmeras, gravações, passagens de placa e faciais e gestão de usuários. O acesso é habilitado pelo administrador da plataforma no cadastro do cliente, que gera um token único por cliente (prefixo xqm_) usado no cabeçalho de cada requisição. Somente HTTPS, com limite de 50 requisições por minuto e auditoria de todas as chamadas.
https://app.xeqmate.com/api/v1/integrations, com autenticação Authorization: Bearer <token> em toda requisição.X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset; acima do limite, a API responde 429 com Retry-After.page e limit, com padrão e máximo de 100 itens por página.Z no final.Câmeras, gravações, passagens e usuários — o escopo é o que o administrador do cliente enxerga na plataforma.
| Método | Rota | O que faz |
|---|---|---|
| GET | /camera | Lista as câmeras que o cliente enxerga, com filtros por nome e tipo (vídeo, LPR, facial). |
| GET | /camera/{id} | Uma câmera pelo id, com status, gravação, analíticos e localização. |
| GET | /camera/{id}/record | Trechos de gravação no período (até 31 dias por consulta), com URLs de MP4 e miniatura assinadas, válidas por 30 dias. |
| GET | /camera/{id}/plate | Passagens de placa no período (até 7 dias por consulta), com dados do veículo e imagens. |
| GET | /camera/{id}/face | Passagens faciais no período (até 7 dias por consulta), com atributos e imagens de cada rosto. |
| GET | /user | Lista os usuários do cliente, com filtros por nome, e-mail e situação. |
| GET | /user/{id} | Um usuário pelo id. |
| GET | /user/role | Papéis que o cliente pode atribuir aos usuários. |
| POST | /user | Cria um usuário — a senha temporária é gerada pela plataforma e enviada por e-mail. |
| PUT | /user/{id} | Edita um usuário; só os campos enviados no corpo são alterados. |
| DELETE | /user/{id} | Inativa o usuário (inativação lógica) e encerra as sessões dele. |
Sem inicio e fim, as consultas de gravações e passagens usam as últimas 24 horas. As passagens não devolvem total — pagine até meta.has_more vir false.
Listar as câmeras de LPR do cliente:
curl -H "Authorization: Bearer xqm_..." \
"https://app.xeqmate.com/api/v1/integrations/camera?tipo=alpr&limit=2"
Resposta:
{
"success": true,
"data": [
{
"id": 163,
"codigo": "XEQ4MLIQICX591",
"nome": "SC 283 - Saída para Seara",
"tipo": "Fixa",
"status": "Online",
"ultima_conexao": "2026-08-18T23:33:19Z",
"gravacao": { "habilitada": true, "retencao_dias": 4 },
"analiticos": { "placa": true, "facial": false },
"localizacao": {
"latitude": -27.108206,
"longitude": -52.55431,
"cidade": "Chapecó - SC"
}
}
],
"meta": { "page": 1, "limit": 2, "total": 282 }
}
Erros seguem sempre o mesmo formato, em qualquer status 4xx/5xx:
{ "success": false, "message": "Token de API inválido.", "error": 401 }
| Código | Quando acontece |
|---|---|
| 400 | Campo do corpo ou da URL fora do contrato — a mensagem vem como mapa campo → motivo. |
| 401 | Sem cabeçalho de autenticação, token inválido, revogado ou regenerado. |
| 402 | Cliente bloqueado por inadimplência. |
| 403 | Cliente inativo ou API externa desligada nas configurações do cliente. |
| 404 | Câmera ou usuário fora do escopo do cliente; câmera sem gravação, sem LPR ou sem facial. |
| 409 | E-mail ou documento já cadastrado; usuário já inativo. |
| 422 | Período fora do limite (7 dias em passagens, 31 em gravações), início depois do fim, valor de filtro desconhecido. |
| 429 | Mais de 50 requisições no minuto — aguarde os segundos indicados em Retry-After. |
| 502 | O servidor de mídia da câmera não respondeu; tente novamente em instantes. |
A API é o seu sistema chamando a Xeqmate. Para o caminho inverso — a plataforma chamando o seu sistema quando um alerta de placa ou facial acontece —, o recurso é o webhook: um POST com JSON de formato fixo, token Bearer e assinatura HMAC. Os dois juntos cobrem integrações completas, do evento em tempo real à consulta histórica. Veja como funciona na página de integrações.
A API não é aberta ao público: o administrador da plataforma habilita a API externa no cadastro de cada cliente e gera ali o token. Cada exibição, regeneração ou revogação do token também fica registrada na auditoria. Esse modelo por cliente é o mesmo usado pelos integradores que revendem a plataforma: cada cliente final pode ter o próprio acesso, isolado dos demais, consultando por exemplo as gravações em nuvem das próprias câmeras. A visão geral da plataforma está em VMS SaaS.
Não. O acesso é habilitado por cliente: o administrador da plataforma liga a API externa no cadastro do cliente e gera um token único (prefixo xqm_). Só com o interruptor ligado e o token no cabeçalho as chamadas funcionam — desligar o interruptor bloqueia o token na hora.
50 requisições por minuto por token. Toda resposta informa os cabeçalhos X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset; passando do limite, a API responde 429 com o tempo de espera em Retry-After.
Sim. O endpoint GET /camera/{id}/record devolve os trechos de gravação do período consultado (até 31 dias por consulta) com URLs de MP4 e de miniatura já assinadas, válidas por 30 dias — o seu sistema baixa o vídeo direto, sem sessão na plataforma.
Sim: criar (POST /user, com senha temporária enviada por e-mail e troca obrigatória no primeiro acesso), editar (PUT /user/{id}) e inativar (DELETE /user/{id}, que encerra as sessões abertas). Os papéis disponíveis vêm de GET /user/role.
Sim, todas — inclusive leituras e chamadas recusadas (401, 403, 429). Cada uma aparece na auditoria da plataforma em nome do cliente, com o prefixo do token no detalhe. Gerar, regenerar, revogar e até exibir o token também são eventos auditados.
A API é de consulta: o seu sistema pergunta, a plataforma responde. Para receber alertas de placa e faciais em tempo real, o recurso é o webhook — a plataforma envia um POST assinado para a URL do seu sistema a cada alerta. Veja a página de integrações.
30 minutos com nosso time: conectamos uma câmera sua ao vivo e mostramos as consultas de câmeras, gravações e passagens funcionando no seu cenário.
Resposta em até 1 dia útil · sem cartão, sem instalação, sem compromisso