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
- Conta Tiny ERP com acesso à API habilitado
- API token em Tiny → Configurações → E-commerce → Token API (ou equivalente no seu plano Tiny)
- Integration key
tiny_api_tokenem 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
- Copie seu Tiny API token
- Em Configurações → API Keys, em Integration keys, adicione:
- Name:
tiny_api_token - Value: seu Tiny API token
- Name:
O token é injetado nos request bodies via {{tiny_api_token}} — nunca hardcode no nó.
Passo 2 — Adicionar o nó
- Abra Automações e edite seu workflow
- Arraste Tiny ERP da paleta ERP para o canvas
- Escolha uma operação pré-construída ou configure chamada customizada
Passo 3 — Configurar a requisição
| Campo | Obrigatório | Descrição |
|---|---|---|
| URL / Endpoint | Sim | URL completa Tiny API — ex.: https://api.tiny.com.br/api2/pedidos.pesquisa.php |
| Method | Não | Geralmente POST para Tiny v2 (padrão nos templates) |
| Headers (JSON) | Não | Deve incluir Content-Type: application/x-www-form-urlencoded para chamadas Tiny padrão |
| Body (JSON) | Não | Para Tiny, use body string com form params — veja exemplos abaixo |
Operações pré-construídas
| Operação | Method | Endpoint | Finalidade |
|---|---|---|---|
| Buscar produtos | POST | /produtos.pesquisa.php | Buscar produtos |
| Buscar pedidos | POST | /pedidos.pesquisa.php | Listar/buscar pedidos |
| Buscar clientes | POST | /contatos.pesquisa.php | Buscar clientes/contatos |
| Obter contato (por ID) | POST | /contato.obter.php | Obter contato por ID |
| Criar cliente | POST | /contato.incluir.php | Criar cliente |
| Atualizar cliente | POST | /contato.alterar.php | Atualizar cliente |
| Emitir NF-e | POST | /nota.fiscal.incluir.php | Emitir nota fiscal eletrônica |
| Buscar faturas em aberto | POST | /contas.receber.pesquisa.php | Listar 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-e — nota contém o payload da nota como JSON:
token={{tiny_api_token}}&formato=json¬a={"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ída | Descrição |
|---|---|
status | HTTP status code |
data | JSON parseado (objeto Tiny retorno) |
headers | Response headers |
Dicas e boas práticas
- Sempre use
formato=jsonno 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
paginae filtros de data (dataInicial,dataFinal) empedidos.pesquisa.phpe chamadas similares - Armazene Tiny IDs nos contatos — salve
id_contatoou 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
- Webhook — mudança de status do pedido Tiny (ou Schedule polling
pedidos.pesquisa.php) - Tiny ERP — Obter contato com customer ID do pedido
- Send WhatsApp — "Seu pedido {{variables.order_number}} foi enviado!"
Sincronizar novos clientes Tiny com CRM
- Schedule — diariamente às 6h
- Tiny ERP — Buscar clientes com filtro
dataAlteracao - Loop sobre contatos
- Contact create/update — upsert por telefone ou e-mail
Lembrete de recebíveis vencidos
- Schedule — semanal
- Tiny ERP — Buscar faturas em aberto com
data_fim_vencimento={{date:today}} - Loop + Send WhatsApp — lembrete de pagamento com valor e vencimento
Emitir NF-e após pagamento confirmado
- Webhook — gateway de pagamento
PAYMENT_CONFIRMED - Variable — mapear order ID externo para
id_pedidoTiny - Tiny ERP — Emitir NF-e
- Condition — verificar
retorno.status === "OK" - 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
| Item | Valor |
|---|---|
| Base URL | https://api.tiny.com.br/api2/ |
| Auth | parâmetro token no body ({{tiny_api_token}}) |
| Formato de resposta | JSON via formato=json |
| Content-Type | application/x-www-form-urlencoded (típico) |
| Docs oficiais | Tiny Developers |
Endpoints principais (dos templates de operação)
| Endpoint | Descrição |
|---|---|
POST /produtos.pesquisa.php | Buscar produtos |
POST /pedidos.pesquisa.php | Buscar pedidos |
POST /contatos.pesquisa.php | Buscar contatos |
POST /contato.obter.php | Obter contato por ID |
POST /contato.incluir.php | Criar contato |
POST /contato.alterar.php | Atualizar contato |
POST /nota.fiscal.incluir.php | Criar NF-e |
POST /contas.receber.pesquisa.php | Buscar contas a receber |
Relacionado
- Visão geral de ERP
- Nós de e-commerce — fontes de pedidos
- Nó HTTP — endpoints Tiny customizados
- Variáveis no workflow
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte