Timbrify
Inicio

API Keys

Cada merchant tiene dos tipos de API Key:

TipoPrefijoTimbra en SATUso
Producciontmb_live_SiFacturas reales
Sandboxtmb_test_NoPruebas sin costo

Envia tu API Key en el header X-API-Key:

GET /api/v1/tickets HTTP/1.1
Host: api.timbrify.com
X-API-Key: tmb_live_xxxxxxxxxxxx

Nunca expongas tu API Key en codigo frontend o repositorios publicos. Rotala inmediatamente si se compromete.

Autenticacion por sesion (merchant portal)

El portal de merchant usa autenticacion por sesion con cookie tmb_session (HttpOnly, Secure, SameSite=strict) con expiracion deslizante de 30 dias. Esto es independiente de las API Keys y no aplica para integraciones API.

Webhooks

Configura webhooks para recibir notificaciones de eventos en tiempo real. Timbrify firma cada payload con HMAC-SHA256.

import { createHmac } from 'crypto';

function verifyWebhook(
  payload: string,
  signature: string,
  secret: string
): boolean {
  const expected = createHmac('sha256', secret)
    .update(payload)
    .digest('hex');
  return `sha256=${expected}` === signature;
}

Eventos disponibles

EventoDescripcion
cfdi.stampedFactura timbrada exitosamente
cfdi.cancelledFactura cancelada
cfdi.cancel_rejectedCancelacion rechazada por receptor
payment.receivedPago recibido (para REP)
ticket.createdNuevo ticket escaneado via QR
rep.generatedComplemento de pago generado
credit_note.generatedNota de credito emitida