📚 Documentação da API Krayin CRM
Guia Completo de Integração e Uso
Versão: 2.1.1 Data: Janeiro 2026 URL Base: https://crm.memudecore.com.br/api/v1/ Documentação Interativa: https://crm.memudecore.com.br/api/documentation
🎯 VISÃO GERAL
A API REST do Krayin CRM permite integrar facilmente o sistema de CRM com aplicações externas, automatizações e outros sistemas empresariais. Esta API oferece acesso completo aos recursos de leads, contatos, atividades e configurações.
🔑 Características Principais
- Autenticação: Laravel Sanctum (Token-based)
- Formato: JSON REST API
- Protocolo: HTTPS
- Documentação: Swagger/OpenAPI 3.0
- Rate Limiting: Configurável
- Versionamento: v1 (atual)
🚀 INÍCIO RÁPIDO
1. Obter Token de Acesso
curl -X POST "https://crm.memudecore.com.br/api/v1/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json" \
-d "email=admin@example.com&password=admin123&device_name=MinhaAplicacao"
Resposta:
{
"data": {
"id": 1,
"name": "Example Admin",
"email": "admin@example.com",
"role": {
"name": "Administrador",
"permission_type": "all"
}
},
"message": "Login successful.",
"token": "4|TqQU5H7ExZbrM8ErdwxXGC4Q2yWWFGZ5DjarC5q0050411c7"
}
2. Usar o Token nas Requisições
curl -X GET "https://crm.memudecore.com.br/api/v1/leads" \
-H "Authorization: Bearer 4|TqQU5H7ExZbrM8ErdwxXGC4Q2yWWFGZ5DjarC5q0050411c7" \
-H "Accept: application/json"
📋 RECURSOS DISPONÍVEIS
🎯 Leads /api/v1/leads
Gerenciamento completo de prospects e oportunidades de vendas.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /leads |
Listar todos os leads |
| POST | /leads |
Criar novo lead |
| GET | /leads/{id} |
Obter lead específico |
| PUT | /leads/{id} |
Atualizar lead |
| DELETE | /leads/{id} |
Excluir lead |
👥 Contatos /api/v1/contacts
Gestão de pessoas e organizações.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /contacts/persons |
Listar pessoas |
| POST | /contacts/persons |
Criar pessoa |
| GET | /contacts/organizations |
Listar organizações |
| POST | /contacts/organizations |
Criar organização |
📋 Atividades /api/v1/activities
Registro de tarefas, reuniões e interações.
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /activities |
Listar atividades |
| POST | /activities |
Criar atividade |
| GET | /activities/{id} |
Obter atividade |
| PUT | /activities/{id} |
Atualizar atividade |
⚙️ Configurações /api/v1/configuration
Acesso às configurações do sistema.
💡 EXEMPLOS PRÁTICOS
📝 Criar um Novo Lead
curl -X POST "https://crm.memudecore.com.br/api/v1/leads" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"title": "Novo Lead - Empresa ABC",
"description": "Interesse em nosso produto premium",
"lead_value": 5000,
"sales_owner_id": 1,
"lead_source_id": 1,
"lead_type_id": 1,
"person": {
"name": "João Silva",
"emails": [
{"value": "joao@empresaabc.com", "label": "work"}
],
"contact_numbers": [
{"value": "11999999999", "label": "mobile"}
]
}
}'
📊 Listar Leads com Filtros
curl -X GET "https://crm.memudecore.com.br/api/v1/leads?page=1&limit=10&sort=created_at&order=desc" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Accept: application/json"
📋 Criar uma Atividade
curl -X POST "https://crm.memudecore.com.br/api/v1/activities" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"title": "Reunião com Cliente",
"type": "meeting",
"comment": "Discussão sobre proposta comercial",
"schedule_from": "2026-01-20 14:00:00",
"schedule_to": "2026-01-20 15:00:00",
"lead_id": 1,
"user_id": 1
}'
🔐 AUTENTICAÇÃO E SEGURANÇA
Token de Acesso
- Tipo: Bearer Token
- Formato: Laravel Sanctum
-
Localização: Header
Authorization: Bearer {token} - Expiração: Configurável (padrão: 365 dias)
Boas Práticas de Segurança
- Armazene tokens de forma segura (variáveis de ambiente)
- Use HTTPS apenas para todas as requisições
- Implemente rate limiting em sua aplicação
- Renove tokens periodicamente
- Monitore logs de acesso
Exemplo de Configuração Segura
// Node.js/Express exemplo
const API_BASE = 'https://crm.memudecore.com.br/api/v1';
const API_TOKEN = process.env.KRAYIN_API_TOKEN;
const headers = {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json',
'Accept': 'application/json'
};
🔄 INTEGRAÇÕES COMUNS
🌐 Integração com Site/Landing Page
// Capturar lead do formulário web
async function criarLead(dadosFormulario) {
const response = await fetch('https://crm.memudecore.com.br/api/v1/leads', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + API_TOKEN,
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: `Lead do site - ${dadosFormulario.empresa}`,
description: dadosFormulario.mensagem,
lead_value: dadosFormulario.valorEstimado,
person: {
name: dadosFormulario.nome,
emails: [{value: dadosFormulario.email, label: 'work'}],
contact_numbers: [{value: dadosFormulario.telefone, label: 'mobile'}]
}
})
});
return response.json();
}
📱 Integração com WhatsApp/Chat
# Python - Sync com WhatsApp Business API
import requests
def sincronizar_contato_whatsapp(numero_whatsapp, nome):
url = "https://crm.memudecore.com.br/api/v1/contacts/persons"
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
data = {
"name": nome,
"contact_numbers": [
{"value": numero_whatsapp, "label": "whatsapp"}
]
}
response = requests.post(url, json=data, headers=headers)
return response.json()
🔗 Integração com N8N (Automação)
{
"nodes": [
{
"type": "n8n-nodes-base.webhook",
"webhook": {
"path": "novo-lead"
}
},
{
"type": "n8n-nodes-base.httpRequest",
"url": "https://crm.memudecore.com.br/api/v1/leads",
"method": "POST",
"headers": {
"Authorization": "Bearer {{$env.KRAYIN_TOKEN}}"
}
}
]
}
📊 Integração com BI/Analytics
-- Exemplo de extração para Power BI/Tableau
-- Via script Python que consome a API
import pandas as pd
import requests
def extrair_leads_para_bi():
headers = {'Authorization': f'Bearer {API_TOKEN}'}
response = requests.get(
'https://crm.memudecore.com.br/api/v1/leads?limit=1000',
headers=headers
)
leads_data = response.json()
df = pd.DataFrame(leads_data['data'])
# Salvar em CSV para BI
df.to_csv('leads_export.csv', index=False)
return df
⚡ CASOS DE USO PRÁTICOS
1. E-commerce → CRM
Sincronizar automaticamente novos pedidos como leads:
// Webhook no e-commerce
app.post('/webhook/novo-pedido', async (req, res) => {
const pedido = req.body;
await criarLead({
title: `Pedido #${pedido.id} - ${pedido.cliente.nome}`,
lead_value: pedido.total,
person: {
name: pedido.cliente.nome,
emails: [{value: pedido.cliente.email, label: 'work'}]
}
});
});
2. Sistema de Tickets → CRM
Converter tickets em atividades:
// PHP - Converter ticket em atividade
function converterTicketEmAtividade($ticket) {
$data = [
'title' => "Suporte: " . $ticket['assunto'],
'type' => 'call',
'comment' => $ticket['descricao'],
'lead_id' => buscarLeadPorEmail($ticket['email_cliente'])
];
return chamarApiKrayin('POST', '/activities', $data);
}
3. Marketing Automation → CRM
Sync de campanhas com leads:
# Mailchimp/RD Station → Krayin
def sincronizar_campanha_email():
# Obter dados da campanha
campanhas = obter_campanhas_mailchimp()
for campanha in campanhas:
for contato in campanha['contatos_convertidos']:
criar_lead_krayin({
'title': f"Lead da campanha: {campanha['nome']}",
'description': f"Converteu via email: {campanha['assunto']}",
'person': contato
})
📊 MONITORAMENTO E LOGS
Logs da API
# Verificar logs em tempo real
docker exec krayin_krayin.1.xxxxx tail -f storage/logs/laravel.log
# Filtrar por API requests
docker exec krayin_krayin.1.xxxxx grep "api/v1" storage/logs/laravel.log
Métricas Importantes
- Taxa de sucesso das requisições
- Tempo de resposta médio
- Picos de uso
- Tipos de erro mais comuns
🔧 TROUBLESHOOTING
Erros Comuns
401 Unauthorized
{"message": "Unauthenticated."}
Solução: Verificar se o token está correto e não expirado.
422 Validation Error
{
"message": "The given data was invalid.",
"errors": {
"email": ["The email field is required."]
}
}
Solução: Verificar campos obrigatórios na documentação.
429 Too Many Requests
{"message": "Too many attempts."}
Solução: Implementar rate limiting na aplicação cliente.
Testes de Conectividade
# Testar conectividade básica
curl -I https://crm.memudecore.com.br/api/v1/
# Testar autenticação
curl -H "Authorization: Bearer {TOKEN}" \
https://crm.memudecore.com.br/api/v1/leads?limit=1
📖 RECURSOS ADICIONAIS
Links Úteis
- Documentação Interativa: https://crm.memudecore.com.br/api/documentation
- Swagger UI: Interface para testar endpoints
- Postman Collection: Importar collection (se disponível)
Contato Técnico
- Suporte: [seu-email-suporte]
- Documentação: Este documento
- Updates: Acompanhar releases do Krayin CRM
📝 CHANGELOG E VERSIONING
v2.1.1 (Atual)
- ✅ API REST completa implementada
- ✅ Autenticação Sanctum
- ✅ Documentação Swagger
- ✅ Endpoints CRUD completos
- ✅ Suporte a webhooks
Próximas Versões
- 🔄 Webhooks customizáveis
- 🔄 Filtros avançados
- 🔄 Bulk operations
- 🔄 GraphQL support
⚖️ TERMOS DE USO
Rate Limits
- Padrão: 60 requisições/minuto por token
- Burst: 1000 requisições/hora
- Enterprise: Limites customizáveis
SLA
- Disponibilidade: 99.9%
- Tempo de resposta: < 200ms (média)
- Suporte: Horário comercial
Documentação gerada em Janeiro 2026 Versão 1.0 - API Krayin CRM v2.1.1
No Comments