REST API v2.5 SISTEMA OPERATIVO

Documentación de la API REST

Bienvenido al Centro de Documentación de APIs TF. Aquí encontrarás referencias completas para consumir las APIs de TF ERP, TF Tienda, TF Talk, TF Software y otras soluciones del grupo. Consulta endpoints, métodos HTTP, autenticación, parámetros e Interconexión Completa en un Único Canal.

account_balance

TF Fiscal API

Factura Electrónica Brasileña (NF-e)

API completa para emisión, consulta y cancelación de Facturas Electrónicas (NF-e) en Brasil. Soporta cálculo automático de impuestos (ICMS, IPI, PIS/COFINS), generación de XML, autorización SEFAZ e integración con sistemas de gestión. Actualmente soporta emisión de facturas para productos en todo el territorio brasileño.

URL Base (Producción)
https://api.tffiscal.com/v1
Autenticación
Headers: sign, timestamp, token
Requisitos
Certificado Digital A1 válido

sync_alt Flujo del Sistema

input Datos de Entrada
  • Información del Cliente
  • Datos de Productos
  • Información Fiscal
  • Datos de Transporte
settings Procesamiento
  • Validación de datos
  • Cálculo de impuestos
  • Generación de XML
  • Autorización SEFAZ
download Salida
  • XML de la factura
  • PDF de la factura
  • DANFE (Documento Auxiliar)
  • Estado de autorización

Endpoints Principales

POST /api/company/create
Crear nueva empresa

Usar token del distribuidor (b2b_token) para crear empresa.

GET /api/company/get_list
Listar todas las empresas

Retorna lista paginada de empresas registradas.

GET /api/company/get_detail
Consultar detalles de la empresa

Parámetros (Query)

Campo Tipo Descripción
company_id string ID único de la empresa
GET /api/category/get_list
Listar categorías de productos

Retorna todas las categorías disponibles para clasificación fiscal.

POST /api/invoice/create
Emitir nueva factura

Payload Principal

{
  "company_id": "comp_123456",
  "customer": {
    "document": "123.456.789-09",
    "name": "Cliente Ejemplo",
    "address": {...}
  },
  "products": [
    {
      "code": "PROD001",
      "description": "Producto Ejemplo",
      "quantity": 2,
      "unit_price": 150.00,
      "ncm": "85176277"
    }
  ],
  "tax_parameters": {...},
  "payment_parameters": {...}
}
GET /api/invoice/get_list
Listar facturas

Parámetros (Query)

Campo Tipo Descripción
start_date date Fecha inicial (YYYY-MM-DD)
end_date date Fecha final (YYYY-MM-DD)
status string Filtrar por estado
GET /api/invoice/get_detail
Consultar detalles de la factura

Parámetros (Query)

Campo Tipo Descripción
invoice_id string ID único de la factura

Ejemplo de Respuesta

{
  "invoice_id": "nf_789012",
  "access_key": "35210112345678901234567890123456789012345678",
  "status": "AUTHORIZED",
  "issue_date": "2024-01-10T10:30:00Z",
  "xml_url": "https://storage.tffiscal.com/xml/nf_789012.xml",
  "pdf_url": "https://storage.tffiscal.com/pdf/nf_789012.pdf"
}
POST /api/invoice/refresh
Actualizar estado de la factura

Consulta estado actual en SEFAZ y actualiza localmente.

POST /api/invoice/cancel
Cancelar factura

Payload Request

{
  "invoice_id": "nf_789012",
  "reason": "Error en el pedido"
}
POST /api/invoice/invalid
Invalidar factura

Para facturas con error de procesamiento o duplicidad.

vpn_key Autenticación

Todas las solicitudes deben incluir los siguientes headers:

Header Tipo Obligatorio Descripción
Content-Type string application/json;charset=utf-8
sign string Firma digital de la solicitud
timestamp string Timestamp UTC de la solicitud
token string Token de autenticación

Nota: Para crear empresa y obtener lista de empresas, use el token del distribuidor (b2b_token).

Algoritmo de Firma (SIGN)

static string GetSign(string AppKey, string Path, string bodyString, string timestamp)
{
    string input = AppKey + Path + bodyString + timestamp;
    using (MD5 md5 = MD5.Create())
    {
        byte[] inputBytes = Encoding.UTF8.GetBytes(input);
        byte[] hashBytes = md5.ComputeHash(inputBytes);
        
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < hashBytes.Length; i++)
        {
            sb.Append(hashBytes[i].ToString("x2"));
        }
        return sb.ToString();
    }
}

percent Parámetros Tributarios

scale_balance Parámetros ICMS
Escenario de Tributación
padrao saida_fora_estado saida_dentro_estado entrada_fora_estado
Situación Tributaria
00: Entrada con recuperación de crédito
01: Entrada gravada con alíquota cero
02: Entrada exenta
49: Otras entradas
pie_chart Parámetros PIS/COFINS
Escenario de Tributación
padrao saida_fora_estado saida_dentro_estado entrada_fora_estado
Situación Tributaria
71: Operación de Adquisición con Exención
72: Operación de Adquisición con Suspensión
73: Operación de Adquisición a Alíquota Cero
98: Otras Operaciones de Entrada

credit_card Parámetros de Pago

Indicador de Pago
0 Al contado
1 A plazos
Métodos de Pago
01 Efectivo
03 Tarjeta de Crédito
04 Tarjeta de Débito
Marcas de Tarjeta
01 Visa
02 Mastercard
06 Elo

bug_report Solución de Problemas con XML

warning Rechazo 225 - Fallo en el Schema XML

Ocurre cuando intenta cancelar, descargar XML, inutilizar número o hacer manifestación de una NF-e que no fue registrada con éxito en la base de datos de SEFAZ.

1
Verificar si la NF-e fue autorizada (estado "Autorizada")
2
Reemitir la NF-e si no fue autorizada
3
Inutilizar número si no fue utilizado
lightbulb Validación Online de SEFAZ

Use el validador oficial para identificar problemas en el XML:

https://www.sefaz.rs.gov.br/nfe/nfe-val.aspx

Problemas comunes: Dirección incompleta, NCM inválido, formato de valores incorrecto, campos obligatorios ausentes.

business_center

TF ERP API

Planificación de Recursos Empresariales

Integre módulos financieros, contables y administrativos. La API TF ERP permite la sincronización de datos maestros, asientos contables y gestión centralizada de flujo de caja.

URL Base (Producción)
https://api.tferp.com/v3
Autenticación
OAuth2 Bearer Token
GET /financial/cash-flow
Consultar Flujo de Caja

Parámetros (Query)

Campo Tipo Descripción
start_date date Inicio del período
end_date date Fin del período

Ejemplo de Respuesta

{
  "balance": 150000.00,
  "entries": [
    { "date": "2023-11-01", "amount": 5000.00, "type": "credit" },
    { "date": "2023-11-02", "amount": -1200.00, "type": "debit" }
  ]
}
payments

TF Pago API

Procesamiento de Pagos y Transacciones Financieras

Procese pagos con múltiples métodos (tarjeta, PIX, boleto, transferencia) y gestione transacciones financieras de forma segura. TF Pago API ofrece soporte completo para autorización, captura, reembolso y conciliación automática integrada con el ecosistema TF.

URL Base (Producción)
https://api.tfpay.com/v2
Autenticación
JWT Bearer Token

Endpoints Principales

POST /payments/create
Crear nueva transacción de pago

Requiere autenticación JWT con alcance payments:write.

Payload Request

JSON
{
  "order_id": "ord_8x92nm",
  "amount": 299.90,
  "currency": "BRL",
  "payment_method": "credit_card",
  "card": {
    "number": "4111111111111111",
    "exp_month": "12",
    "exp_year": "2025",
    "cvc": "123",
    "holder_name": "Juan Pérez"
  },
  "customer": {
    "id": "cus_99aa88",
    "email": "[email protected]"
  }
}

Ejemplo de Respuesta

JSON
{
  "payment_id": "pay_7d9f2a1b",
  "status": "authorized",
  "authorization_code": "AUTH123456",
  "amount": 299.90,
  "currency": "BRL",
  "created_at": "2023-11-01T10:30:00Z"
}
GET /payments/{payment_id}
Consultar estado de un pago

Parámetros (Path)

Campo Tipo Descripción
payment_id string ID único del pago

Ejemplo de Respuesta

{
  "payment_id": "pay_7d9f2a1b",
  "order_id": "ord_8x92nm",
  "status": "captured",
  "amount": 299.90,
  "currency": "BRL",
  "payment_method": "credit_card",
  "card_last_four": "1111",
  "created_at": "2023-11-01T10:30:00Z",
  "captured_at": "2023-11-01T10:31:00Z",
  "customer": {
    "id": "cus_99aa88",
    "email": "[email protected]"
  }
}
POST /payments/{payment_id}/refund
Reembolsar un pago

Requiere autenticación JWT con alcance payments:refund.

Payload JSON
{
  "amount": 299.90,
  "reason": "devolucion_del_producto"
}
Respuestas de Estado: 200 OK 400 Bad Request
GET /transactions
Listar transacciones por período

Parámetros (Query)

Campo Tipo Descripción
start_date date Fecha inicial (YYYY-MM-DD)
end_date date Fecha final (YYYY-MM-DD)
status string Filtrar por estado

Ejemplo de Respuesta

{
  "data": [
    {
      "payment_id": "pay_7d9f2a1b",
      "order_id": "ord_8x92nm",
      "amount": 299.90,
      "status": "captured",
      "payment_method": "credit_card",
      "created_at": "2023-11-01T10:30:00Z"
    }
  ],
  "summary": {
    "total_amount": 299.90,
    "total_transactions": 1,
    "successful": 1,
    "failed": 0
  }
}
storefront

TF Tienda API

Comercio Electrónico y Escaparate Digital

Gestione catálogos, controle inventario en tiempo real y procese pedidos de forma segura. La API TF Tienda es el corazón de las operaciones minoristas del ecosistema.

URL Base (Producción)
https://api.tfloja.com/v1
Límites (Rate Limit)
1000 req/min (Estándar)

Endpoints Principales

GET /products
Listar Productos del Catálogo

Parámetros (Query)

Campo Tipo Descripción
page int Paginación
category string Filtro ID de categoría

Ejemplo de Respuesta

{
  "data": [
    {
      "id": "prod_8x92nm",
      "name": "TF Smart Watch",
      "price": 299.90,
      "stock": 45
    }
  ]
}
POST /orders
Crear Nuevo Pedido

Requiere autenticación OAuth2 con alcance orders:write.

Payload JSON
{
  "customer_id": "cus_99aa88",
  "items": [
    { "product_id": "prod_8x92nm", "quantity": 1 }
  ],
  "payment_method": "credit_card"
}
chat_bubble

TF Talk API

Comunicación y Chatbot

Plataforma de comunicación unificada. Envíe mensajes vía WhatsApp, SMS o Correo Electrónico e integre chatbots inteligentes en su atención al cliente.

URL Base
https://api.tftalk.com/v2
Webhooks
Soportado (Verificación de Firma)
POST /messages/send
Enviar Mensaje

Payload Request

{
  "channel": "whatsapp",
  "recipient": "+5511999998888",
  "content": {
    "type": "text",
    "body": "¡Hola! Su pedido ha sido confirmado."
  }
}

Respuesta (200 OK)

{
  "message_id": "msg_9921828",
  "status": "queued"
}
local_shipping

TF OMS API

Sistema de Gestión de Pedidos

Sistema de Gestión de Pedidos completo. Orqueste pedidos de múltiples canales (omnicanal), gestione logística y logística inversa.

URL Base
https://api.tfoms.com/v1
Headers
X-Tenant-ID Obligatorio
PUT /orders/{id}/status
Actualizar Estado del Pedido

Actualiza el estado de procesamiento de un pedido específico en el flujo de cumplimiento.

Parámetros (Path)

id string UUID del Pedido

Payload Request

{
  "status": "shipped",
  "tracking_code": "BR123456789TR",
  "carrier": "Correios"
}
dns

TF Software API

Gestión SaaS y Licencias

API dedicada a la gestión de licencias de software, control de versiones y distribución de actualizaciones para productos SaaS del grupo.

URL Base
https://api.tfsoftwares.com/v2
Autenticación
API Key (Header: X-TF-Key)
POST /licenses/verify
Verificar Validez de la Licencia

Headers Obligatorios

  • Content-Type application/json
  • X-TF-Key su_api_key

Payload Request

{
  "license_key": "XXXX-YYYY-ZZZZ",
  "machine_id": "hw_82738273",
  "product_code": "tf_crm_v1"
}
storefront

TF Shop API

Comercio Electrónico y Gestión de Pedidos

API dedicada a la gestión de tiendas virtuales, pedidos, pagos y productos. Permite crear pedidos, consultar estado de compras e integrar sistemas externos al ecosistema TF Shop.

URL Base
https://api.tfshop.com/v1
Autenticación
API Key (Header: X-TF-Key)
POST /orders/create
Crear Nuevo Pedido

Headers Obligatorios

  • Content-Type application/json
  • X-TF-Key su_api_key

Payload Request

{
  "customer_id": "cus_392018",
  "items": [
    {
      "product_id": "prd_001",
      "quantity": 2
    }
  ],
  "payment_method": "card",
  "currency": "AOA"
}
              
warehouse

TF WMS API

Gestión de Almacén e Inventario

API enfocada en la gestión de almacenes y control de inventario. Permite registrar entradas y salidas de productos, rastrear stock en tiempo real y consultar informes logísticos detallados.

URL Base
https://api.tfwms.com/v1
Entorno Sandbox
https://sandbox.api.tfwms.com/v1
POST /inventory/entries
Registrar Entrada de Productos en Almacén
Respuestas de Estado: 201 Created 400 Bad Request
{
  "message": "Entrada de producto registrada exitosamente.",
  "entry_id": "ent_98451234",
  "warehouse_id": "wh_0021",
  "created_at": "2025-01-12T10:45:00Z"
}