Pular para o conteúdo principal

Criar Configuração

POST /backend/followup/configs
Body:
{
  "assistant_id": "uuid",
  "trigger_status_ids": ["uuid-status-1"],
  "steps": [
    {
      "interval": "PT30M",
      "prompt": "Mensagem amigável de follow-up"
    },
    {
      "interval": "PT2H",
      "prompt": "Ofereça uma demonstração do produto"
    }
  ],
  "official_steps": [
    {
      "channel_id": "uuid",
      "channel_name": "WhatsApp Business",
      "app_id": "gupshup_app_12345",
      "steps": [
        {
          "interval": "P1D",
          "template_name": "reengajamento_v1",
          "template_language": "pt_BR",
          "template_params": ["{{LEAD_FIRSTNAME}}"]
        }
      ]
    }
  ]
}
CampoTipoObrigatórioDescrição
assistant_idUUIDSimAssistente vinculado
trigger_status_idsUUID[]SimStatus que ativam o follow-up
stepsarrayCondicionalSteps com IA (obrigatório se não houver official_steps)
steps[].intervalstringSimIntervalo ISO 8601 (mín. 30 min)
steps[].promptstringCondicionalPrompt para geração da mensagem por IA
steps[].template_namestringCondicionalObrigatório se intervalo >= 24h
steps[].template_languagestringNãoIdioma do template (padrão: pt_BR)
steps[].template_paramsstring[]NãoParâmetros do template
official_stepsarrayNãoSteps por canal oficial (Meta/Gupshup)
official_steps[].channel_idstringSimID do canal
official_steps[].app_idstringSimID do app Gupshup
official_steps[].stepsarraySimSteps do canal (mín. 1)
Resposta (201): Objeto FollowupConfig completo.

Validações

  • Pelo menos um step (em steps ou official_steps)
  • Máximo 3 steps por configuração
  • Intervalo mínimo: 30 minutos
  • Se intervalo >= 24h: template_name obrigatório
  • Sem channel_id duplicados em official_steps
  • Um config por assistente

Obter Configuração

GET /backend/followup/configs/{id}

Obter por Assistente

GET /backend/followup/configs/assistant/{assistantId}
Retorna a configuração de follow-up vinculada ao assistente.

Listar por Tenant

GET /backend/followup/configs/tenant/{tenantId}

Atualizar Configuração

PUT /backend/followup/configs/{id}
Body (todos os campos opcionais):
{
  "trigger_status_ids": ["uuid-status-1", "uuid-status-2"],
  "steps": [...],
  "official_steps": [...],
  "is_active": false
}

Excluir Configuração

DELETE /backend/followup/configs/{id}
Resposta: 204 No Content
Jobs de follow-up já agendados continuarão em execução até serem processados. A exclusão não cancela jobs em andamento.