Documentación de la API

Referencia completa de la API REST de TukiFact para integrar facturación electrónica en tu sistema.

Autenticación

Todas las solicitudes a la API requieren autenticación mediante una API Key. Incluí tu clave en el header Authorization de cada request.

Header de autenticación
Authorization: Bearer TF_live_xxxxxxxxxxxxxxxxxxxx

⚠ Importante: Nunca expongas tu API Key en código del lado del cliente (browser). Usá siempre variables de entorno del servidor.

URLs Base

Producción
API en vivo
https://api.tukifact.net.pe

Usa API Keys con prefijo TF_live_

Sandbox
Entorno de pruebas
https://sandbox.tukifact.net.pe

Usa API Keys con prefijo TF_test_

Límites por Plan

Los headers X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset se incluyen en cada respuesta.

PlanRequests/horaDocumentos/mes
Free100 req/hora1,000 documentos
Emprendedor500 req/hora10,000 documentos
Negocio2,000 req/hora50,000 documentos
Profesional5,000 req/hora200,000 documentos
Empresa20,000 req/horaIlimitado

Formato de Respuesta

Todas las respuestas son en JSON. Las listas incluyen paginación estándar.

Respuesta exitosa
{
  "data": { ... },
  "meta": {
    "requestId": "req_xxxx"
  }
}
Lista paginada
{
  "data": [ ... ],
  "pagination": {
    "page": 1,
    "pageSize": 20,
    "total": 150,
    "totalPages": 8
  }
}

Códigos de Error

CódigoNombreDescripción
400Bad RequestDatos inválidos en el cuerpo de la solicitud
401UnauthorizedAPI Key ausente, inválida o expirada
403ForbiddenSin permisos para este recurso o acción
404Not FoundEl recurso solicitado no existe
409ConflictEl documento ya fue emitido o hay un conflicto de estado
422Unprocessable EntityError de validación SUNAT en el XML generado
429Too Many RequestsLímite de requests por hora excedido
500Internal Server ErrorError interno — contactar soporte
503Service UnavailableSUNAT no disponible temporalmente, reintentar

Endpoints

Documentos

POST/v1/documents
GET/v1/documents
GET/v1/documents/:id
GET/v1/documents/:id/pdf
GET/v1/documents/:id/xml
GET/v1/documents/:id/status
POST/v1/documents/:id/void

Clientes

GET/v1/customers
POST/v1/customers
GET/v1/customers/:id
PUT/v1/customers/:id
DELETE/v1/customers/:id

Series

GET/v1/series
POST/v1/series
GET/v1/series/:id/next-number

Webhooks

GET/v1/webhooks
POST/v1/webhooks
PUT/v1/webhooks/:id
DELETE/v1/webhooks/:id
POST/v1/webhooks/:id/test

Notificaciones

GET/v1/notifications
POST/v1/notifications/:id/read