Documentação da API

Bem-vindo à documentação da API do APVBot. Nossa API permite que você integre as funcionalidades do APVBot diretamente em seus sistemas e aplicativos.

Versão da API

Esta documentação é para a API v1. A URL base para todas as requisições é https://api.apvbot.com/v1

Primeiros passos

Aprenda como obter suas credenciais e fazer sua primeira requisição à API.

Referência completa

Explore todos os endpoints disponíveis, parâmetros e exemplos de resposta.

Autenticação

A API do APVBot utiliza tokens de API para autenticação. Você pode gerar um token no painel de controle do APVBot.

Obter seu token de API

  1. Faça login no seu painel de controle do APVBot
  2. Navegue até Configurações > API
  3. Clique em "Gerar novo token"
  4. Copie e armazene seu token em um local seguro

Importante

Nunca compartilhe seu token de API ou o inclua em código-fonte público. O token tem acesso completo à sua conta.

Usar o token de API

Inclua seu token de API no cabeçalho Authorization de todas as requisições:

curl -X GET "https://api.apvbot.com/v1/cotacoes" \
  -H "Authorization: Bearer SEU_TOKEN_API"

Endpoints

Cotações

Gerencie cotações de proteção veicular.

GET/cotacoes

Listar cotações

Retorna uma lista de cotações geradas.

Parâmetros
NomeLocalizaçãoTipoObrigatórioDescrição
limitqueryintegerNãoNúmero máximo de cotações a retornar (padrão: 10, máximo: 100)
offsetqueryintegerNãoNúmero de cotações a pular (para paginação)
statusquerystringNãoFiltrar por status (pendente, aprovada, rejeitada)
Respostas
200
Lista de cotações retornada com sucesso
{
  "data": [
    {
      "id": "cot_123456789",
      "cliente": {
        "nome": "João Silva",
        "telefone": "+5511999999999"
      },
      "veiculo": {
        "marca": "Toyota",
        "modelo": "Corolla",
        "ano": 2020,
        "valor_fipe": 90000
      },
      "valor": 150.00,
      "status": "pendente",
      "criado_em": "2023-01-15T14:30:00Z"
    },
    // ...mais cotações
  ],
  "meta": {
    "total": 45,
    "limit": 10,
    "offset": 0
  }
}
401
Não autorizado
{
  "erro": "Token de API inválido ou expirado"
}
POST/cotacoes

Criar cotação

Cria uma nova cotação para um veículo.

Parâmetros
NomeLocalizaçãoTipoObrigatórioDescrição
clientebodyobjectSimDados do cliente
veiculobodyobjectSimDados do veículo
Exemplo de requisição
{
  "cliente": {
    "nome": "Maria Oliveira",
    "telefone": "+5511988888888",
    "email": "maria@exemplo.com"
  },
  "veiculo": {
    "marca": "Honda",
    "modelo": "Civic",
    "ano": 2021,
    "placa": "ABC1234"
  }
}
Respostas
201
Cotação criada com sucesso
{
  "id": "cot_987654321",
  "cliente": {
    "nome": "Maria Oliveira",
    "telefone": "+5511988888888",
    "email": "maria@exemplo.com"
  },
  "veiculo": {
    "marca": "Honda",
    "modelo": "Civic",
    "ano": 2021,
    "placa": "ABC1234",
    "valor_fipe": 110000
  },
  "valor": 180.00,
  "status": "pendente",
  "criado_em": "2023-06-20T10:15:00Z"
}
400
Requisição inválida
{
  "erro": "Dados inválidos",
  "detalhes": {
    "veiculo.placa": "Placa inválida"
  }
}

Clientes

Gerencie informações de clientes.

GET/clientes

Listar clientes

Retorna uma lista de clientes cadastrados.

Parâmetros
NomeLocalizaçãoTipoObrigatórioDescrição
limitqueryintegerNãoNúmero máximo de clientes a retornar
offsetqueryintegerNãoNúmero de clientes a pular (para paginação)
Respostas
200
Lista de clientes retornada com sucesso
{
  "data": [
    {
      "id": "cli_123456789",
      "nome": "João Silva",
      "telefone": "+5511999999999",
      "email": "joao@exemplo.com",
      "criado_em": "2023-01-10T09:30:00Z"
    },
    // ...mais clientes
  ],
  "meta": {
    "total": 28,
    "limit": 10,
    "offset": 0
  }
}

Webhooks

Configure webhooks para receber notificações em tempo real.

POST/webhooks

Criar webhook

Configura um novo endpoint de webhook para receber notificações.

Parâmetros
NomeLocalizaçãoTipoObrigatórioDescrição
urlbodystringSimURL que receberá as notificações
eventosbodyarraySimLista de eventos para assinar (cotacao.criada, cotacao.aprovada, etc.)
Exemplo de requisição
{
  "url": "https://seu-site.com/webhook",
  "eventos": ["cotacao.criada", "cotacao.aprovada", "cliente.novo"]
}
Respostas
201
Webhook criado com sucesso
{
  "id": "wh_123456789",
  "url": "https://seu-site.com/webhook",
  "eventos": ["cotacao.criada", "cotacao.aprovada", "cliente.novo"],
  "ativo": true,
  "criado_em": "2023-06-20T14:30:00Z"
}

Erros

A API do APVBot utiliza códigos de status HTTP padrão para indicar o sucesso ou falha de uma requisição. Em geral, códigos na faixa 2xx indicam sucesso, códigos 4xx indicam um erro que foi causado pela informação fornecida (por exemplo, um parâmetro obrigatório estava ausente), e códigos 5xx indicam um erro no servidor do APVBot.

CódigoDescrição
200 - OKA requisição foi bem-sucedida.
201 - CreatedO recurso foi criado com sucesso.
400 - Bad RequestA requisição era inválida. Isso geralmente ocorre devido a parâmetros ausentes ou inválidos.
401 - UnauthorizedAutenticação falhou. Verifique se o token de API está correto e válido.
403 - ForbiddenO token de API não tem permissão para acessar o recurso solicitado.
404 - Not FoundO recurso solicitado não foi encontrado.
429 - Too Many RequestsVocê excedeu o limite de requisições. Aguarde antes de tentar novamente.
500, 502, 503, 504 - Server ErrorsAlgo deu errado no servidor do APVBot. Tente novamente mais tarde.

Limites de taxa

Para garantir a estabilidade e disponibilidade da API para todos os usuários, implementamos limites de taxa nas requisições à API. Os limites variam de acordo com o seu plano:

PlanoLimite de requisições
Starter100 requisições por minuto
Growth300 requisições por minuto
Scale1.000 requisições por minuto
EnterprisePersonalizado

Quando você excede o limite de taxa, a API retornará um código de status HTTP 429 (Too Many Requests). Os seguintes cabeçalhos são incluídos em todas as respostas para ajudar você a gerenciar seus limites:

CabeçalhoDescrição
X-RateLimit-LimitO número máximo de requisições permitidas no período.
X-RateLimit-RemainingO número de requisições restantes no período atual.
X-RateLimit-ResetO timestamp Unix de quando o limite de requisições será redefinido.

Paginação

Para endpoints que retornam listas de objetos, a API do APVBot utiliza paginação baseada em offset para permitir que você navegue pelos resultados. Você pode controlar a paginação usando os seguintes parâmetros:

ParâmetroDescrição
limitO número máximo de objetos a retornar (padrão: 10, máximo: 100)
offsetO número de objetos a pular (padrão: 0)

As respostas paginadas incluem um objeto meta com informações sobre a paginação:

{
  "data": [
    // ... objetos retornados
  ],
  "meta": {
    "total": 45,    // Total de objetos disponíveis
    "limit": 10,    // Limite usado na requisição
    "offset": 0     // Offset usado na requisição
  }
}

Versionamento

A API do APVBot é versionada para garantir que as mudanças não quebrem integrações existentes. A versão atual é v1.

Você pode especificar a versão da API de duas maneiras:

  1. No URL (recomendado):
    https://api.apvbot.com/v1/cotacoes
  2. No cabeçalho Accept:
    Accept: application/json; version=1

Importante

Recomendamos sempre especificar explicitamente a versão da API que você está usando para evitar problemas de compatibilidade no futuro.

Suporte

Se você tiver dúvidas ou precisar de ajuda com a API do APVBot, entre em contato conosco: