API SendocsV2
Bem-vindo à documentação da API do SendocsV2. Esta API permite integrar o sistema de gestão de documentos e impostos com outras aplicações.
Base URL
https://seu-dominio.com/api
Formato de Resposta
Todas as respostas são retornadas em formato JSON com a seguinte estrutura:
{
"sucesso": true,
"dados": { ... },
"mensagem": "Operação realizada com sucesso"
}
Autenticação
A API utiliza autenticação via Bearer Token (JWT). Inclua o token no header de todas as requisições:
Authorization: Bearer seu_token_jwt
/api/auth/login
Realiza login e retorna o token JWT
Body
{
"username": "admin",
"password": "sua_senha"
}
{
"sucesso": true,
"token": "eyJhbGciOiJIUzI1NiIs...",
"usuario": {
"id": 1,
"username": "admin",
"nome": "Administrador",
"papel": "admin"
}
}
Clientes
/api/clientes
Lista todos os clientes cadastrados
Parâmetros Query
| Parâmetro | Tipo | Descrição |
|---|---|---|
| busca | string | Filtrar por nome, CNPJ ou telefone |
| ativo | boolean | Filtrar apenas ativos (1) ou inativos (0) |
| limit | integer | Limite de resultados (padrão: 100) |
/api/clientes
Cria um novo cliente
Body
{
"nome": "Empresa LTDA",
"cnpj": "00.000.000/0001-00",
"telefone": "11999999999",
"email": "contato@empresa.com",
"regime_tributario": "SIMPLES"
}
/api/clientes/:id
Atualiza um cliente existente
/api/clientes/:id
Remove um cliente (soft delete)
Documentos
/api/documentos
Lista todos os documentos
Parâmetros Query
| Parâmetro | Tipo | Descrição |
|---|---|---|
| cliente_id | integer | Filtrar por cliente |
| tipo | string | Filtrar por tipo (DAS, FGTS, etc) |
| status | string | Filtrar por status |
| data_inicio | date | Data inicial (YYYY-MM-DD) |
| data_fim | date | Data final (YYYY-MM-DD) |
/api/upload
Faz upload de um documento PDF
Headers
Content-Type: multipart/form-data
Body (form-data)
| Campo | Tipo | Descrição |
|---|---|---|
| pdf * | file | Arquivo PDF (max 10MB) |
/api/status
Retorna o status da conexão WhatsApp
{
"sucesso": true,
"whatsapp": {
"conectado": true,
"numero": "5511999999999",
"nome": "SendocsV2"
}
}
/api/whatsapp/enviar-avulso
Envia uma mensagem avulsa via WhatsApp
Body
{
"telefone": "5511999999999",
"mensagem": "Olá! Esta é uma mensagem de teste."
}
Relatórios
/api/relatorios/exportar/excel
Exporta relatório em formato Excel (.xlsx)
Parâmetros Query
| Parâmetro | Tipo | Descrição |
|---|---|---|
| tipo * | string | documentos, clientes ou vencimentos |
| dataInicio | date | Data inicial |
| dataFim | date | Data final |
| clienteId | integer | ID do cliente |
/api/relatorios/exportar/pdf
Exporta relatório em formato PDF
Mesmos parâmetros do endpoint Excel.
Planos e Assinaturas
/api/planos
Lista todos os planos disponíveis
/api/assinatura
Retorna a assinatura atual do usuário
/api/uso
Retorna o uso atual do mês (documentos, envios, etc)
👥 Usuários
Endpoints para gerenciamento de usuários do sistema. Requer permissões de administrador para a maioria das operações.
/api/usuarios
Lista todos os usuários do sistema
Headers
| Header | Valor |
|---|---|
| Authorization | Bearer {token} |
Resposta
{
"sucesso": true,
"usuarios": [
{
"id": 1,
"nome": "Admin",
"email": "admin@exemplo.com",
"perfil": "admin",
"ativo": 1,
"created_at": "2024-01-15T10:30:00"
}
]
}
/api/usuarios
Cria um novo usuário
Body
{
"nome": "Novo Usuário",
"email": "usuario@exemplo.com",
"senha": "senha123",
"perfil": "usuario"
}
/api/usuarios/:id
Atualiza dados de um usuário
Body
{
"nome": "Nome Atualizado",
"email": "novoemail@exemplo.com",
"ativo": 1
}
/api/usuarios/:id
Remove um usuário do sistema
Resposta
{
"sucesso": true,
"mensagem": "Usuário removido com sucesso"
}
📋 Tarefas
Endpoints para gerenciamento de tarefas e obrigações fiscais dos clientes.
/api/tarefas
Lista todas as tarefas
Query Parameters
| Parâmetro | Tipo | Descrição |
|---|---|---|
| status | string | Filtrar por status (pendente, concluida) |
| mes | integer | Filtrar por mês (1-12) |
| ano | integer | Filtrar por ano |
Resposta
{
"sucesso": true,
"tarefas": [
{
"id": 1,
"nome": "DAS Simples Nacional",
"descricao": "Pagamento mensal do DAS",
"vencimento": "2024-01-20",
"status": "pendente",
"imposto": "DAS"
}
]
}
/api/tarefas
Cria uma nova tarefa
Body
{
"nome": "Nova Tarefa",
"descricao": "Descrição da tarefa",
"vencimento": "2024-02-15",
"imposto": "ICMS",
"regime": "simples_nacional"
}
/api/tarefas/:id/concluir
Marca uma tarefa como concluída
Resposta
{
"sucesso": true,
"mensagem": "Tarefa concluída com sucesso"
}
/api/tarefas/:id
Remove uma tarefa
Resposta
{
"sucesso": true,
"mensagem": "Tarefa removida com sucesso"
}
Códigos de Erro
A API utiliza códigos de status HTTP padrão:
| Código | Descrição |
|---|---|
| 200 | Sucesso |
| 400 | Requisição inválida |
| 401 | Não autenticado |
| 403 | Sem permissão |
| 404 | Não encontrado |
| 429 | Muitas requisições (rate limit) |
| 500 | Erro interno do servidor |
Rate Limits
Para garantir a estabilidade do serviço, as seguintes limitações se aplicam:
| Plano | Requisições/minuto | Requisições/dia |
|---|---|---|
| Gratuito | 30 | 1.000 |
| Starter | 60 | 5.000 |
| Professional | 120 | 20.000 |
| Enterprise | Ilimitado | Ilimitado |
Webhooks
Configure webhooks para receber notificações em tempo real sobre eventos no sistema.
Eventos Disponíveis
| Evento | Descrição |
|---|---|
| documento.criado | Novo documento processado |
| documento.enviado | Documento enviado via WhatsApp |
| documento.lido | Documento lido pelo destinatário |
| cliente.criado | Novo cliente cadastrado |
| vencimento.proximo | Vencimento nos próximos 7 dias |