Pular para o conteúdo
POST/etapas

Criar etapa

funil:escrevermódulo Funilaceita Idempotency-Key

Informe funil_id. Mande Idempotency-Key para poder repetir com segurança.

POST /etapas

curl -X POST "https://chat.forsi.com.br/api/v1/etapas" \
  -H "Authorization: Bearer $FORSI_CHAVE" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-4821" \
  -d '{
    "funil_id": "182aeb59-9ecb-47b2-a745-dfa6f21ea385",
    "nome": "Retorno agendado",
    "cor": "violet",
    "posicao": 2
  }'
Resposta 201
{
  "dados": {
    "id": "929692a6-7c6e-4f64-988f-e3a786bb5349",
    "funil_id": "182aeb59-9ecb-47b2-a745-dfa6f21ea385",
    "nome": "Orçamento enviado",
    "cor": "slate",
    "posicao": 0,
    "ganha": false,
    "perdida": false,
    "negocios": 3,
    "criado_em": "2026-10-04T13:05:12.481Z"
  }
}

Corpo da requisição#

JSON. Mande com Content-Type: application/json.

  • funil_iduuidobrigatório
    —
  • nomestringobrigatório
    • até 40 caracteres
  • cor"slate" | "blue" | "violet" | "amber" | "emerald" | "green" | "rose" | "cyan" | "orange"opcional
    —
  • ganhabooleanopcional
    —
  • perdidabooleanopcional
    —
  • posicaointegeropcional

    Posição no funil, a partir de 0. Sem isso vai para o fim.

    • máx. 30

Resposta#

201 com {"dados": ...}: Etapa.

  • iduuidopcional
    —
  • funil_iduuidopcional
    —
  • nomestringopcional
    —
  • cor"slate" | "blue" | "violet" | "amber" | "emerald" | "green" | "rose" | "cyan" | "orange"opcional
    —
  • posicaointegeropcional

    Posição no funil, a partir de 0.

  • ganhabooleanopcional
    —
  • perdidabooleanopcional
    —
  • negociosintegeropcional

    Quantos negócios estão na etapa.

  • criado_emdata e hora ISO 8601opcional
    —

Erros#

Todo erro vem como {"erro": {"codigo", "mensagem"}}. Trate pelo codigo: ele não muda.

Status de erro desta operação
StatusQuando
401Chave ausente ou inválida (resposta igual para qualquer motivo).
403Plano sem API, escopo insuficiente ou https/origem recusados.
409Conflito (repetido, Idempotency-Key com outro corpo).
422Dados inválidos ou regra de negócio (ex.: janela_fechada; conta_restrita = a Meta restringiu a conta por spam: erro traz os campos de RestricaoMeta, como ate, escopo, motivo e retry_after_s).
429Limite de requisições. Veja Retry-After.
Códigos de erro que esta área pode devolver13
  • funil_inexistenteFunil não encontrado.
  • etapa_inexistenteEtapa não encontrada (veja GET /funis).
  • negocio_inexistenteNegócio não encontrado.
  • nota_inexistenteNota não encontrada.
  • etapa_fora_do_funilEssa etapa não pertence ao funil informado.
  • etapa_ganha_e_perdidaUma etapa não pode ser de ganho e de perda ao mesmo tempo.
  • estado_invalidoestado deve ser aberto, ganho ou perdido.
  • valor_invalidoO valor não pode ser negativo.
  • limite_de_funisLimite de 20 funis por organização.
  • limite_de_etapasLimite de 30 etapas por funil.
  • limite_de_notasLimite de 500 notas por negócio.
  • contato_inexistenteContato não encontrado.
  • conversa_inexistenteConversa não encontrada.

Os erros que valem para qualquer rota (chave, limite, JSON) estão em Erros.