Integração APIVeículosLaudo Analítico - Active Thread AI

Laudo Analítico - Active Thread AI

Esta API recebe as informações sobre o Veículo em formato JSON e gera uma análise criteriosa baseada nos dados.

Montando a requisição

Método da requisição

POST

Endereço da requisição

Principal:

https://api.activethread.com.br/detran/v1/analytical-reports

Secundário:

https://api.detran.app.br/detran/v1/analytical-reports

Parâmetros da requisição

Via URL

  • https://api.detran.app.br/detran/v1/analytical-reports?at=XPTO

Via Cabeçalho

  • Authorization: XPTO

Respostas da requisição

200 - Sucesso

Observação: Os dados abaixo são apenas demonstrativos, com a finalidade de mapeamento da estrutura. Por isso, de forma alguma representam a realidade.

{
    "status": "DONE",
    "result": {
        "resumo": "O Volkswagen Gol 1.6 Power 2006 analisado está em situação regular de circulação, sem registros de roubo/furto ou leilão. O veículo possui alienação fiduciária ativa e multas pendentes no valor de R$ 390,46. O valor de referência na tabela FIPE é de R$ 23.229,00.",
        "topicos": {
            "documentacao": "Situação regular no Detran-MG, com licenciamento válido até junho/2025. Veículo emplacado em Santa Luzia-MG.",
            "rouboFurto": "✅ Nenhum registro de roubo ou furto encontrado nas bases consultadas.",
            "leilao": "✅ Não consta participação em leilão.",
            "fipe": "Valor de referência na tabela FIPE: R$ 23.229,00 (setembro/2025).",
            "chassiMotor": "Chassi íntegro (XPTO) e motor compatível com registro (XPTO).",
            "restricoes": "⚠️ ALIENAÇÃO FIDUCIÁRIA ativa - necessário quitar financiamento para transferência",
            "multas": "⚠️ Débitos de multas no valor de R$ 390,46 (2 infrações de estacionamento em Belo Horizonte)",
            "proprietarios": "Histórico de 2 proprietários: atual (Isabela Raissa Costa Galvão) e anterior (Jeanderson Correa Chaves)"
        },
        "laudoFinal": "Veículo em condições regulares de documentação, sem histórico negativo de roubo ou leilão. A alienação fiduciária representa uma restrição importante que impede a transferência até a quitação do financiamento. As multas pendentes devem ser quitadas antes da negociação. Recomenda-se verificar a documentação de quitação do financiamento e negociar o desconto das multas no valor do veículo. O preço de mercado deve considerar a idade do veículo (2006) e a existência da alienação."
    }
}

400 - Requisição inválida

Exemplo:

{
  "message": "Por favor, informe uma placa válida."
}

401 - Não autorizado

{
  "message": "Não autorizado."
}

403 - Acesso negado

{
  "message": "Acesso negado!"
}

Exemplos da requisição - Autenticação via URL

HTTP

POST /detran/v1/analytical-reports?at=XPTO HTTP/1.1
Host: api.activethread.com.br
Content-Type: application/json
Content-Length: 49009

{
    "plate": "AAA1B11",
    "data": {...}
}

cURL

curl --location 'https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO' \
--header 'Content-Type: application/json' \
--data '{
    "plate": "AAA1B11",
    "data": {...}
}'

JavaScript

const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
 
const raw = JSON.stringify({
  "plate": "AAA1B11",
  "data": {...}
});
 
const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};
 
fetch("https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

NodeJs

const axios = require('axios');
let data = JSON.stringify({
  "plate": "AAA1B11",
  "data": {...}
});
 
let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO',
  headers: {
    'Content-Type': 'application/json'
  },
  data : data
};
 
axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
 

PHP

<?php
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "plate": "AAA1B11",
    "data": {...}
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
echo $response;

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO")
  .header("Content-Type", "application/json")
  .body("{\r\n    \"plate\": \"AAA1B11\",\r\n    \"data\": {}\r\n}")
  .asString();

Python

import requests
import json
 
url = "https://api.activethread.com.br/detran/v1/analytical-reports?at=XPTO"
 
payload = json.dumps({
  "plate": "AAA1B11",
  "data": {...}
})
headers = {
  'Content-Type': 'application/json'
}
 
response = requests.request("POST", url, headers=headers, data=payload)
 
print(response.text)

Exemplos da requisição - Autenticação via Cabeçalho

HTTP

POST /detran/v1/analytical-reports HTTP/1.1
Host: api.activethread.com.br
Authorization: XPTO
Content-Type: application/json
Content-Length: 45

{
    "plate": "AAA1B11",
    "data": {...}
}

cURL

curl --location 'https://api.activethread.com.br/detran/v1/analytical-reports' \
--header 'Authorization: XPTO' \
--header 'Content-Type: application/json' \
--data '{
    "plate": "AAA1B11",
    "data": {...}
}'

JavaScript

const myHeaders = new Headers();
myHeaders.append("Authorization", "XPTO");
myHeaders.append("Content-Type", "application/json");
 
const raw = JSON.stringify({
  "plate": "AAA1B11",
  "data": {...}
});
 
const requestOptions = {
  method: "POST",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};
 
fetch("https://api.activethread.com.br/detran/v1/analytical-reports", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

NodeJs

const axios = require('axios');
let data = JSON.stringify({
  "plate": "AAA1B11",
  "data": {...}
});
 
let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.activethread.com.br/detran/v1/analytical-reports',
  headers: {
    'Authorization': 'XPTO',
    'Content-Type': 'application/json'
  },
  data : data
};
 
axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

PHP

<?php
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.activethread.com.br/detran/v1/analytical-reports',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "plate": "AAA1B11",
    "data": {...}
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: XPTO',
    'Content-Type: application/json'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
echo $response;

Java

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.activethread.com.br/detran/v1/analytical-reports")
  .header("Authorization", "XPTO")
  .header("Content-Type", "application/json")
  .body("{\r\n    \"plate\": \"AAA1B11\",\r\n    \"data\": {}\r\n}")
  .asString();

Python

import requests
import json
 
url = "https://api.activethread.com.br/detran/v1/analytical-reports"
 
payload = json.dumps({
  "plate": "AAA1B11",
  "data": {...}
})
headers = {
  'Authorization': 'XPTO',
  'Content-Type': 'application/json'
}
 
response = requests.request("POST", url, headers=headers, data=payload)
 
print(response.text)