Guía de API (usuarios técnicos)
Ejemplo de base URL: /api/v1. Autentica con token Bearer o header X-API-Key.
curl -X GET "https://tracecrm.pro/api/v1/leads" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Modelo de seguridad: cada API key está aislada por tenant, se aplican scopes por endpoint y existe rate limit por clave.
leads:read, leads:write, leads:delete
deals:read, deals:write, deals:delete
forms:read, forms:write
Recursos disponibles:
GET/POST/PUT/DELETE /api/v1/leads
GET/POST/PUT/DELETE /api/v1/deals
GET/POST/PUT/DELETE /api/v1/forms
Guía de Webhooks (usuarios técnicos)
Configura endpoints en Settings > API Connect. Puedes suscribirte a eventos de leads, deals y formularios.
Headers importantes:
X-TraceCRM-Event
X-TraceCRM-Delivery
X-TraceCRM-Timestamp
X-TraceCRM-Signature (HMAC SHA-256)
Verifica firmas con tu secret de endpoint y rechaza entregas expiradas/repetidas usando timestamp + delivery ID.
// Pseudo-code
$signedPayload = $timestamp . '.' . $rawBody;
$expected = hash_hmac('sha256', $signedPayload, $endpointSecret);
if (!hash_equals($expected, $signatureHeader)) reject(401);
if (abs(time() - (int)$timestamp) > 300) reject(401); // 5 min window
if (alreadyProcessed($deliveryId)) reject(409);
Eventos disponibles:
lead.created, lead.updated, lead.deleted, lead.stage_changed
deal.created, deal.updated, deal.deleted, deal.stage_changed, deal.status_changed
form.submission.created, webhook.ping