Automações

Tiny ERP API — clientes, pedidos, produtos e notas fiscais.

Nó Tiny ERP

O nó de workflow Tiny ERP chama a Tiny ERP API v2 — ERP em nuvem popular no Brasil para pedidos, produtos, clientes, NF-e (notas fiscais eletrônicas) e contas a receber. Envia requisições HTTP autenticadas para api.tiny.com.br com operações pré-construídas para os endpoints mais comuns.

Node ID no editor: tiny_request
Base URL padrão: https://api.tiny.com.br/api2/
Auth: API token no request body ({{tiny_api_token}})

O que faz

  • Envia requisições HTTP para Tiny ERP API v2 (endpoints .php)
  • Suporta GET, POST, PUT e DELETE (a maioria dos endpoints Tiny usa POST com form body)
  • Retorna HTTP status, data da resposta e headers
  • Inclui templates de operação para produtos, pedidos, clientes, NF-e e recebíveis em aberto

A API Tiny usa bodies form-urlencoded na maioria dos endpoints — não JSON. Templates de operação definem o Content-Type correto automaticamente.

Pré-requisitos

  1. Conta Tiny ERP com acesso à API habilitado
  2. API token em Tiny → Configurações → E-commerce → Token API (ou equivalente no seu plano Tiny)
  3. Integration key tiny_api_token em Configurações → API Keys

Confirme que o acesso à API está ativo no seu plano Tiny. Alguns recursos (emissão de NF-e, contas a receber) exigem os módulos Tiny correspondentes habilitados.

Como configurar

Passo 1 — Definir credenciais

  1. Copie seu Tiny API token
  2. Em Configurações → API Keys, em Integration keys, adicione:
    • Name: tiny_api_token
    • Value: seu Tiny API token

O token é injetado nos request bodies via {{tiny_api_token}} — nunca hardcode no nó.

Passo 2 — Adicionar o nó

  1. Abra Automações e edite seu workflow
  2. Arraste Tiny ERP da paleta ERP para o canvas
  3. Escolha uma operação pré-construída ou configure chamada customizada

Passo 3 — Configurar a requisição

CampoObrigatórioDescrição
URL / EndpointSimURL completa Tiny API — ex.: https://api.tiny.com.br/api2/pedidos.pesquisa.php
MethodNãoGeralmente POST para Tiny v2 (padrão nos templates)
Headers (JSON)NãoDeve incluir Content-Type: application/x-www-form-urlencoded para chamadas Tiny padrão
Body (JSON)NãoPara Tiny, use body string com form params — veja exemplos abaixo

Operações pré-construídas

OperaçãoMethodEndpointFinalidade
Buscar produtosPOST/produtos.pesquisa.phpBuscar produtos
Buscar pedidosPOST/pedidos.pesquisa.phpListar/buscar pedidos
Buscar clientesPOST/contatos.pesquisa.phpBuscar clientes/contatos
Obter contato (por ID)POST/contato.obter.phpObter contato por ID
Criar clientePOST/contato.incluir.phpCriar cliente
Atualizar clientePOST/contato.alterar.phpAtualizar cliente
Emitir NF-ePOST/nota.fiscal.incluir.phpEmitir nota fiscal eletrônica
Buscar faturas em abertoPOST/contas.receber.pesquisa.phpListar contas a receber em aberto

Formato do request body (form-urlencoded)

A Tiny espera bodies application/x-www-form-urlencoded. Exemplo para Buscar pedidos:

token={{tiny_api_token}}&formato=json&pagina=1&dataInicial=2026-01-01&dataFinal=2026-01-31

Exemplo para Criar cliente — o parâmetro contato é JSON string URL-encoded:

token={{tiny_api_token}}&formato=json&contato={"nome":"{{contact.name}}","email":"{{contact.email}}","fone":"{{contact.phone}}"}

Exemplo para Emitir NF-enota contém o payload da nota como JSON:

token={{tiny_api_token}}&formato=json&nota={"id_pedido":"{{variables.tiny_order_id}}"}

Defina headers ao usar form bodies:

{
  "Content-Type": "application/x-www-form-urlencoded"
}

Passo 4 — Usar dados da resposta

Respostas Tiny são JSON com wrapper retorno. Inspecione o log de execução para o caminho exato. Padrões comuns:

{{tiny_1.data.retorno.pedidos}}
{{tiny_1.data.retorno.contato}}
{{tiny_1.data.retorno.status}}

Use nó JavaScript ou Loop quando precisar iterar arrays dentro de retorno.

Saídas do nó

Campo de saídaDescrição
statusHTTP status code
dataJSON parseado (objeto Tiny retorno)
headersResponse headers

Dicas e boas práticas

  • Sempre use formato=json no body — a Tiny também suporta XML, mas JSON é mais fácil de parsear em workflows
  • Combine Content-Type com formato do body — form-urlencoded para endpoints padrão; não envie JSON body a menos que o endpoint Tiny específico exija
  • Paginate listas grandes — adicione pagina e filtros de data (dataInicial, dataFinal) em pedidos.pesquisa.php e chamadas similares
  • Armazene Tiny IDs nos contatos — salve id_contato ou order IDs em custom fields WhatsWave para reutilizar entre workflows
  • Teste NF-e em homologação — confirme que sua conta Tiny está configurada para emissão de NF-e antes de automatizar criação de notas
  • Rate limits — a Tiny impõe limites de uso da API por plano; evite loops apertados sem nós Delay em syncs de alto volume
  • Combine com webhooks — a Tiny pode notificar URLs externas em eventos de pedido; combine com trigger Webhook WhatsWave para fluxos em tempo real

Exemplos de uso

Notificar cliente quando pedido é enviado

  1. Webhook — mudança de status do pedido Tiny (ou Schedule polling pedidos.pesquisa.php)
  2. Tiny ERPObter contato com customer ID do pedido
  3. Send WhatsApp — "Seu pedido {{variables.order_number}} foi enviado!"

Sincronizar novos clientes Tiny com CRM

  1. Schedule — diariamente às 6h
  2. Tiny ERPBuscar clientes com filtro dataAlteracao
  3. Loop sobre contatos
  4. Contact create/update — upsert por telefone ou e-mail

Lembrete de recebíveis vencidos

  1. Schedule — semanal
  2. Tiny ERPBuscar faturas em aberto com data_fim_vencimento={{date:today}}
  3. Loop + Send WhatsApp — lembrete de pagamento com valor e vencimento

Emitir NF-e após pagamento confirmado

  1. Webhook — gateway de pagamento PAYMENT_CONFIRMED
  2. Variable — mapear order ID externo para id_pedido Tiny
  3. Tiny ERPEmitir NF-e
  4. Condition — verificar retorno.status === "OK"
  5. Send WhatsApp — link ou PDF da nota a partir da resposta Tiny

FAQ

Por que a requisição retorna HTML ou página de erro?
URL incorreta, token ausente ou Content-Type incorreto. Verifique o caminho do endpoint e que formato=json está no body.

Posso passar o token na query string da URL?
Alguns exemplos Tiny usam ?token= na URL. Templates de operação passam o token no body — qualquer abordagem funciona se o token estiver presente.

Por que o campo body está rotulado JSON mas envio form data?
O nó aceita qualquer string body. Para Tiny v2, cole strings form-urlencoded e defina o header correspondente — o rótulo é genérico entre todos os nós baseados em HTTP.

Como busco produtos por nome?
Use Buscar produtos e adicione pesquisa={{variables.search_term}} ao body.

Este nó cria webhooks na Tiny?
Não — configure webhooks no painel admin Tiny apontando para URL de workflow Webhook WhatsWave.

Qual a diferença do nó HTTP?
Mesmo executor, mas Tiny inclui templates de operação, URLs padrão e nomes de variáveis de auth pré-configurados para a paleta ERP.

Referência da API

ItemValor
Base URLhttps://api.tiny.com.br/api2/
Authparâmetro token no body ({{tiny_api_token}})
Formato de respostaJSON via formato=json
Content-Typeapplication/x-www-form-urlencoded (típico)
Docs oficiaisTiny Developers

Endpoints principais (dos templates de operação)

EndpointDescrição
POST /produtos.pesquisa.phpBuscar produtos
POST /pedidos.pesquisa.phpBuscar pedidos
POST /contatos.pesquisa.phpBuscar contatos
POST /contato.obter.phpObter contato por ID
POST /contato.incluir.phpCriar contato
POST /contato.alterar.phpAtualizar contato
POST /nota.fiscal.incluir.phpCriar NF-e
POST /contas.receber.pesquisa.phpBuscar contas a receber

Relacionado

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda