REST API v2.5 SYSTEM OPERATIONAL

Documentação REST API

Bem-vindo ao Hub de Documentação de APIs TF. Aqui você encontra referências completas para consumo das APIs de TF ERP, TF Loja, TF Talk, TF Softwares e outras soluções do grupo. Consulte endpoints, métodos HTTP, autenticação, parâmetros Interconexão Completa em um Único Canal.

account_balance

TF Fiscal API

Nota Fiscal Eletrônica Brasileira (NF-e)

API completa para emissão, consulta e cancelamento de Notas Fiscais Eletrônicas (NF-e) no Brasil. Suporta cálculo automático de impostos (ICMS, IPI, PIS/COFINS), geração de XML, autorização SEFAZ e integração com sistemas de gestão. Atualmente suporta emissão de notas fiscais para produtos em todo território brasileiro.

Base URL (Produção)
https://api.tffiscal.com/v1
Autenticação
Headers: sign, timestamp, token
Requisitos
Certificado Digital A1 válido

sync_alt Fluxo do Sistema

input Dados de Entrada
  • Informações do Cliente
  • Dados dos Produtos
  • Informações Fiscais
  • Dados de Transporte
settings Processamento
  • Validação dos dados
  • Cálculo de impostos
  • Geração do XML
  • Autorização SEFAZ
download Saída
  • XML da nota fiscal
  • PDF da nota fiscal
  • DANFE (Documento Auxiliar)
  • Status de autorização

Endpoints Principais

POST /api/company/create
Criar nova empresa

Usar token do distribuidor (b2b_token) para criar empresa.

GET /api/company/get_list
Listar todas as empresas

Retorna lista paginada de empresas cadastradas.

GET /api/company/get_detail
Consultar detalhes da empresa

Parâmetros (Query)

Campo Tipo Descrição
company_id string ID único da empresa
GET /api/category/get_list
Listar categorias de produtos

Retorna todas as categorias disponíveis para classificação fiscal.

POST /api/invoice/create
Emitir nova nota fiscal

Payload Principal

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

Parâmetros (Query)

Campo Tipo Descrição
start_date date Data inicial (YYYY-MM-DD)
end_date date Data final (YYYY-MM-DD)
status string Filtrar por status
GET /api/invoice/get_detail
Consultar detalhes da nota fiscal

Parâmetros (Query)

Campo Tipo Descrição
invoice_id string ID único da nota fiscal

Exemplo de Resposta

{
  "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
Atualizar status da nota fiscal

Consulta status atual na SEFAZ e atualiza localmente.

POST /api/invoice/cancel
Cancelar nota fiscal

Payload Request

{
  "invoice_id": "nf_789012",
  "reason": "Erro no pedido"
}
POST /api/invoice/invalid
Invalidar nota fiscal

Para notas com erro de processamento ou duplicidade.

vpn_key Autenticação

Todas as requisições devem incluir os seguintes headers:

Header Tipo Obrigatório Descrição
Content-Type string Sim application/json;charset=utf-8
sign string Sim Assinatura digital da requisição
timestamp string Sim Timestamp UTC da requisição
token string Sim Token de autenticação

Observação: Para criar empresa e obter lista de empresas, use o token do distribuidor (b2b_token).

Algoritmo de Assinatura (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 Tributários

scale_balance Parâmetros ICMS
Cenário de Tributação
padrao saida_fora_estado saida_dentro_estado entrada_fora_estado
Situação Tributária
00: Entrada com recuperação de crédito
01: Entrada tributada com alíquota zero
02: Entrada isenta
49: Outras entradas
pie_chart Parâmetros PIS/COFINS
Cenário de Tributação
padrao saida_fora_estado saida_dentro_estado entrada_fora_estado
Situação Tributária
71: Operação de Aquisição com Isenção
72: Operação de Aquisição com Suspensão
73: Operação de Aquisição a Alíquota Zero
98: Outras Operações de Entrada

credit_card Parâmetros de Pagamento

Indicador de Pagamento
0 À vista
1 À prazo
Métodos de Pagamento
01 Dinheiro
03 Cartão de Crédito
04 Cartão de Débito
Bandeiras de Cartão
01 Visa
02 Mastercard
06 Elo

bug_report Solução de Problemas com XML

warning Rejeição 225 - Falha no Schema XML

Ocorre quando tenta cancelar, baixar XML, inutilizar número ou fazer manifestação de uma NF-e que não foi registrada com sucesso na base de dados da SEFAZ.

1
Verificar se a NF-e foi autorizada (status "Autorizada")
2
Reemitir a NF-e se não foi autorizada
3
Inutilizar número se não foi utilizado
lightbulb Validação Online da SEFAZ

Use o validador oficial para identificar problemas no XML:

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

Problemas comuns: Endereço incompleto, NCM inválido, formatação de valores incorreta, campos obrigatórios ausentes.

business_center

TF ERP API

Enterprise Resource Planning

Integre módulos financeiros, contábeis e administrativos. A API TF ERP permite a sincronização de dados mestre, lançamentos contábeis e gestão de fluxo de caixa centralizada.

Base URL (Produção)
https://api.tferp.com/v3
Autenticação
OAuth2 Bearer Token
GET /financial/cash-flow
Consultar Fluxo de Caixa

Parâmetros (Query)

Campo Tipo Desc
start_date date Início do período
end_date date Fim do período

Exemplo de Resposta

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

TF Pay API

Payment Processing & Financial Transactions

Processe pagamentos com múltiplos métodos (cartão, PIX, boleto, transferência) e gerencie transações financeiras de forma segura. A API TF Pay oferece suporte completo a autorização, captura, estorno e conciliação automática integrada ao ecossistema TF.

Base URL (Produção)
https://api.tfpay.com/v2
Autenticação
JWT Bearer Token

Principais Endpoints

POST /payments/create
Criar uma nova transação de pagamento

Requer autenticação JWT com escopo 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": "João Silva"
  },
  "customer": {
    "id": "cus_99aa88",
    "email": "[email protected]"
  }
}

Exemplo de Resposta

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 status de um pagamento

Parâmetros (Path)

Campo Tipo Desc
payment_id string ID único do pagamento

Exemplo de Resposta

{
  "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
Estornar um pagamento

Requer autenticação JWT com escopo payments:refund.

Payload JSON
{
  "amount": 299.90,
  "reason": "devolucao_do_produto"
}
Status Responses: 200 OK 400 Bad Request
GET /transactions
Listar transações por período

Parâmetros (Query)

Campo Tipo Desc
start_date date Data inicial (YYYY-MM-DD)
end_date date Data final (YYYY-MM-DD)
status string Filtrar por status

Exemplo de Resposta

{
  "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 Loja API

E-commerce & Digital Storefront

Gerencie catálogos, controle inventário em tempo real e processe pedidos de forma segura. A API TF Loja é o coração das operações de varejo do ecossistema.

Base URL (Produção)
https://api.tfloja.com/v1
Limites (Rate Limit)
1000 req/min (Standard)

Principais Endpoints

GET /products
Listar Produtos do Catálogo

Parâmetros (Query)

Campo Tipo Desc
page int Paginação
category string Filtro ID

Exemplo de Resposta

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

Requer autenticação OAuth2 com escopo orders:write.

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

TF Talk API

Communication & Chatbot

Plataforma de comunicação unificada. Envie mensagens via WhatsApp, SMS ou E-mail e integre chatbots inteligentes ao seu atendimento.

Base URL
https://api.tftalk.com/v2
Webhooks
Supported (Signature Verification)
POST /messages/send
Enviar Mensagem

Payload Request

{
  "channel": "whatsapp",
  "recipient": "+5511999998888",
  "content": {
    "type": "text",
    "body": "Olá! Seu pedido foi confirmado."
  }
}

Response (200 OK)

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

TF OMS API

Order Management System

Sistema de Gerenciamento de Pedidos completo. Orquestre pedidos de múltiplos canais (omnichannel), gerencie logística e logística reversa.

Base URL
https://api.tfoms.com/v1
Headers
X-Tenant-ID Obrigatório
PUT /orders/{id}/status
Atualizar Status do Pedido

Atualiza o status de processamento de um pedido específico no fluxo de fulfillment.

Parâmetros (Path)

id string UUID do Pedido

Payload Request

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

TF Softwares API

SaaS Management & Licensing

API dedicada à gestão de licenças de software, controle de versionamento e distribuição de updates para produtos SaaS do grupo.

Base URL
https://api.tfsoftwares.com/v2
Autenticação
API Key (Header: X-TF-Key)
POST /licenses/verify
Verificar Validade da Licença

Headers Obrigatórios

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

Payload Request

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

TF Shop API

E-commerce & Order Management

API dedicada à gestão de lojas virtuais, pedidos, pagamentos e produtos. Permite criar pedidos, consultar status de compras e integrar sistemas externos ao ecossistema TF Shop.

Base URL
https://api.tfshop.com/v1
Autenticação
API Key (Header: X-TF-Key)
POST /orders/create
Criar Novo Pedido

Headers Obrigatórios

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

Payload Request

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

TF WMS API

Warehouse & Inventory Management

API voltada para gestão de armazéns e controle de inventário. Permite registrar entradas e saídas de produtos, acompanhar o stock em tempo real e consultar relatórios logísticos detalhados.

Base URL
https://api.tfwms.com/v1
Ambiente Sandbox
https://sandbox.api.tfwms.com/v1
POST /inventory/entries
Registrar Entrada de Produtos no Armazém
Status Responses: 201 Created 400 Bad Request
{
  "message": "Product entry registered successfully.",
  "entry_id": "ent_98451234",
  "warehouse_id": "wh_0021",
  "created_at": "2025-01-12T10:45:00Z"
}