Inicio
API Keys
Cada merchant tiene dos tipos de API Key:
| Tipo | Prefijo | Timbra en SAT | Uso |
|---|---|---|---|
| Produccion | tmb_live_ | Si | Facturas reales |
| Sandbox | tmb_test_ | No | Pruebas 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_xxxxxxxxxxxxNunca 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
| Evento | Descripcion |
|---|---|
cfdi.stamped | Factura timbrada exitosamente |
cfdi.cancelled | Factura cancelada |
cfdi.cancel_rejected | Cancelacion rechazada por receptor |
payment.received | Pago recibido (para REP) |
ticket.created | Nuevo ticket escaneado via QR |
rep.generated | Complemento de pago generado |
credit_note.generated | Nota de credito emitida |