Desenvolvimento Orientado a Especificações
O SimpleCRM disponibiliza especificações da API em formatos legíveis por máquina, permitindo que desenvolvedores e assistentes de IA gerem automaticamente código cliente, SDKs e frontends completos. Em vez de ler a documentação manualmente, aponte suas ferramentas para nossas specs e deixe elas fazerem o trabalho.
Especificações Disponíveis
OpenAPI 3.1
O contrato canônico da API. Use com geradores de código, ferramentas de teste e assistentes de IA. Contém todos os endpoints, schemas, parâmetros e tipos de resposta.
Especificação Completa
Documentação completa da API otimizada para modelos de linguagem. Inclui todos os endpoints com exemplos de requisição/resposta, relações entre entidades e valores permitidos.
Mapa de Navegação
Visão geral concisa (~2K tokens) seguindo o padrão llms.txt. Ideal para contexto inicial quando um LLM precisa entender a superfície da API rapidamente.
Especificações em Markdown
Arquivos .md acessíveis por agentes de IA e ferramentas de desenvolvimento. Baixe ou aponte seu LLM diretamente para estas URLs:
Especificação completa de todos os endpoints REST: métodos, parâmetros, corpos de requisição, exemplos de resposta e códigos de status.
/docs/specs/api-reference.mdTodos os eventos de webhook com payloads de exemplo, formato de assinatura e instruções de verificação.
/docs/specs/webhooks.mdSchemas de cada entidade (Contato, Empresa, Negócio, etc.), relações entre elas e valores permitidos para campos enum.
/docs/specs/data-models.mdConstrua Sua Própria Interface
Siga estes passos para criar um frontend personalizado, CLI ou integração servidor a partir da nossa spec.
Baixe a especificação
Obtenha a spec OpenAPI ou a referência para LLMs para usar como contrato de desenvolvimento.
# Baixar a spec OpenAPI
curl -o openapi.json https://crm.acessocomercial.com/openapi.json
# Ou a referência otimizada para LLMs
curl -o api-reference.txt https://crm.acessocomercial.com/llms-full.txt
# Ou as specs em Markdown
curl -o api-reference.md https://crm.acessocomercial.com/docs/specs/api-reference.md
curl -o webhooks.md https://crm.acessocomercial.com/docs/specs/webhooks.md
curl -o data-models.md https://crm.acessocomercial.com/docs/specs/data-models.mdGere tipos e código cliente
Use geradores de código OpenAPI para criar clientes tipados na sua linguagem preferida. Isso gera objetos de requisição/resposta tipados sem trabalho manual.
# Cliente TypeScript com openapi-typescript
npx openapi-typescript openapi.json -o src/api-types.ts
# Ou gere um cliente completo com Orval
npx orval --input openapi.json --output src/api-clientImplemente sua interface
Construa sua UI personalizada, CLI ou integração servidor usando os tipos gerados. Todos os nomes de campos, regras obrigatório/opcional e formatos de resposta já estão definidos.
import type { paths } from './api-types';
type ListaContatos = paths['/api/contacts']['get']['responses']['200'];
const API_KEY = 'crm_sk_sua_chave_aqui';
const BASE_URL = 'https://crm.acessocomercial.com/api';
async function listarContatos(pagina = 1, limite = 20): Promise<ListaContatos> {
const resposta = await fetch(
`${BASE_URL}/contacts?page=${pagina}&limit=${limite}`,
{ headers: { 'X-API-Key': API_KEY } }
);
return resposta.json();
}Teste contra a API
Use sua API Key para validar sua integração contra a API de produção. Todas as respostas seguem exatamente a especificação.
# Criar um contato
curl -X POST https://crm.acessocomercial.com/api/contacts \
-H "X-API-Key: crm_sk_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{"name": "Contato Teste", "email": "teste@exemplo.com"}'
# Listar negócios com filtros
curl "https://crm.acessocomercial.com/api/deals?status=open&stage=negociacao" \
-H "X-API-Key: crm_sk_sua_chave_aqui"Use com Assistentes de IA
Aponte qualquer LLM (ChatGPT, Claude, Copilot, etc.) para nossos arquivos de especificação. Exemplos de prompts que funcionam diretamente:
Gerar um frontend completo
Passe a URL da spec completa para um LLM e deixe ele construir um frontend inteiro do zero.
Leia a spec da API em https://crm.acessocomercial.com/llms-full.txt e construa um dashboard React que exiba contatos, funil de negócios e atividades recentes. Use o header X-API-Key para autenticação.Construir uma ferramenta CLI
LLMs conseguem gerar ferramentas CLI diretamente a partir da spec OpenAPI.
Usando a spec OpenAPI em https://crm.acessocomercial.com/openapi.json, crie uma ferramenta CLI em Node.js que liste contatos, crie negócios e gerencie tarefas. Use commander para parsing de argumentos.Criar um receptor de webhooks
As specs de webhook incluem formatos de evento e detalhes de verificação de assinatura.
Leia https://crm.acessocomercial.com/docs/specs/webhooks.md e construa um receptor de webhooks em Express.js que valide o X-Webhook-Signature, processe eventos contact.created e deal.updated, e salve no banco de dados.Gerar um SDK Python
A spec OpenAPI tem tudo necessário para gerar SDKs tipados em qualquer linguagem.
Baixe https://crm.acessocomercial.com/openapi.json e gere um SDK Python tipado usando dataclasses. Inclua métodos para todas as operações CRUD de contatos, empresas e negócios.Exemplos de Integração
Buscar e exibir contatos
const API_KEY = 'crm_sk_sua_chave_aqui';
const BASE = 'https://crm.acessocomercial.com/api';
interface Contato {
id: string;
name: string;
email: string;
phone: string;
position: string;
companyId: string;
tags: string[];
createdAt: string;
}
interface RespostaPaginada<T> {
data: T[];
total: number;
page: number;
limit: number;
}
async function buscarContatos(
busca?: string,
pagina = 1
): Promise<RespostaPaginada<Contato>> {
const params = new URLSearchParams({
page: String(pagina),
limit: '20',
});
if (busca) params.set('search', busca);
const resposta = await fetch(`${BASE}/contacts?${params}`, {
headers: { 'X-API-Key': API_KEY },
});
if (!resposta.ok) {
throw new Error(`Erro na API: ${resposta.status}`);
}
return resposta.json();
}Criar um negócio no funil de vendas
interface CriarNegocioRequest {
title: string;
value: number;
stage?: string;
probability?: number;
companyId?: string;
contactIds?: string[];
expectedCloseDate?: string;
}
async function criarNegocio(negocio: CriarNegocioRequest) {
const resposta = await fetch(`${BASE}/deals`, {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify(negocio),
});
if (!resposta.ok) {
const erro = await resposta.json();
throw new Error(erro.error ?? 'Falha ao criar negócio');
}
return resposta.json();
}
// Exemplo de uso
const novoNegocio = await criarNegocio({
title: 'Licença Enterprise - Acme Corp',
value: 50000,
stage: 'proposta',
probability: 60,
expectedCloseDate: '2026-07-15T00:00:00Z',
});Receptor de webhooks com verificação de assinatura
import { createHmac } from 'node:crypto';
function verificarAssinaturaWebhook(
payload: string,
assinatura: string,
secret: string
): boolean {
const esperado = createHmac('sha256', secret)
.update(payload)
.digest('hex');
return esperado === assinatura;
}
// Handler Express.js
app.post('/webhooks/simplecrm', (req, res) => {
const assinatura = req.headers['x-webhook-signature'] as string;
const corpoBruto = JSON.stringify(req.body);
if (!verificarAssinaturaWebhook(corpoBruto, assinatura, WEBHOOK_SECRET)) {
return res.status(401).json({ error: 'Assinatura inválida' });
}
const { event, data } = req.body;
switch (event) {
case 'contact.created':
console.log('Novo contato:', data.name);
break;
case 'deal.updated':
console.log('Negócio movido para:', data.stage);
break;
case 'invoice.paid':
console.log('Fatura paga:', data.number);
break;
}
res.status(200).json({ received: true });
});Ferramentas de Geração de Código
Use estas ferramentas com nosso openapi.json para gerar SDKs e clientes automaticamente:
Gere tipos TypeScript a partir de specs OpenAPI. Leve, sem dependências runtime.
Gere clientes tipados para React Query, SWR, Angular e mais a partir de OpenAPI.
Gere SDKs cliente em 50+ linguagens (Python, Go, Java, Ruby, C#, etc.) a partir de OpenAPI.
O gerador de código OpenAPI original. Suporta diversas linguagens e frameworks.
Gerador de clientes OpenAPI da Microsoft. Produz clientes idiomáticos para TypeScript, Python, Go, Java e C#.