{
  "format": "columba-flow",
  "formatVersion": 1,
  "app": "Columba · Blog",
  "flow": {
    "name": "Stripe · 2ª via pelo WhatsApp",
    "description": "Cliente pede a segunda via: o fluxo consulta as cobranças dele no Stripe e responde com o link certo. Vencida ou pendente: manda o link da cobrança (na fatura, a página com o boleto e o PDF). Tudo pago: confirma. Nenhuma cobrança (ou cliente sem cadastro no Stripe): transfere para um atendente.",
    "triggerType": "trigger_keyword",
    "triggerConfig": {
      "nodeType": "trigger_keyword",
      "label": "Cliente pede a 2ª via",
      "keywords": "segunda via\n2 via\n2ª via\n2a via\nsegunda-via",
      "matchMode": "contains"
    },
    "priority": 20,
    "nodes": [
      {
        "id": "gatilho",
        "type": "trigger_keyword",
        "position": { "x": 0, "y": 0 },
        "data": {
          "nodeType": "trigger_keyword",
          "label": "Cliente pede a 2ª via",
          "keywords": "segunda via\n2 via\n2ª via\n2a via\nsegunda-via",
          "matchMode": "contains"
        }
      },
      {
        "id": "nota",
        "type": "note_sticky",
        "position": { "x": 380, "y": -40 },
        "data": {
          "nodeType": "note_sticky",
          "label": "Antes de publicar",
          "text": "Antes de publicar:\n1. Em Sem cobrança: atendente, escolha o time ou a pessoa.\n2. Prioridade 20: roda antes do fluxo \"Fatura com vencimento\" (25), então \"segunda via do boleto\" cai aqui e não gera fatura nova.\nAcrescente no gatilho as variações que os seus clientes usam."
        }
      },
      {
        "id": "consulta",
        "type": "integration_stripe_lookup_charges",
        "position": { "x": 0, "y": 160 },
        "data": {
          "nodeType": "integration_stripe_lookup_charges",
          "label": "Consulta cobranças no Stripe",
          "limit": 5,
          "includeSubscription": false
        }
      },
      {
        "id": "vencida",
        "type": "action_send_text",
        "position": { "x": -520, "y": 360 },
        "data": {
          "nodeType": "action_send_text",
          "label": "Vencida: manda a 2ª via",
          "message": "Encontrei uma cobrança vencida de {{flow.stripe_last_charge_amount_formatted}}.\nSegunda via: {{flow.stripe_last_charge_url}}"
        }
      },
      {
        "id": "pendente",
        "type": "action_send_text",
        "position": { "x": -200, "y": 360 },
        "data": {
          "nodeType": "action_send_text",
          "label": "Em aberto: manda o link",
          "message": "Sua cobrança de {{flow.stripe_last_charge_amount_formatted}} está em aberto. Para pagar: {{flow.stripe_last_charge_url}}"
        }
      },
      {
        "id": "paga",
        "type": "action_send_text",
        "position": { "x": 120, "y": 360 },
        "data": {
          "nodeType": "action_send_text",
          "label": "Tudo pago",
          "message": "Está tudo em dia por aqui: sua última cobrança de {{flow.stripe_last_charge_amount_formatted}} já foi paga. ✅"
        }
      },
      {
        "id": "nenhuma",
        "type": "integration_transfer_human",
        "position": { "x": 440, "y": 360 },
        "data": {
          "nodeType": "integration_transfer_human",
          "label": "Sem cobrança: atendente"
        }
      },
      {
        "id": "erro",
        "type": "integration_notify_team",
        "position": { "x": 760, "y": 360 },
        "data": {
          "nodeType": "integration_notify_team",
          "label": "Erro → sino",
          "notificationMessage": "Stripe: não consegui consultar as cobranças de {{contact.name}}: {{flow.stripe_error}}.",
          "priority": "medium"
        }
      }
    ],
    "edges": [
      {
        "id": "e_gatilho_consulta",
        "source": "gatilho",
        "target": "consulta"
      },
      {
        "id": "e_consulta_vencida_overdue",
        "source": "consulta",
        "target": "vencida",
        "sourceHandle": "overdue",
        "label": "Vencida"
      },
      {
        "id": "e_consulta_pendente_pending",
        "source": "consulta",
        "target": "pendente",
        "sourceHandle": "pending",
        "label": "Pendente"
      },
      {
        "id": "e_consulta_paga_paid",
        "source": "consulta",
        "target": "paga",
        "sourceHandle": "paid",
        "label": "Paga"
      },
      {
        "id": "e_consulta_nenhuma_none",
        "source": "consulta",
        "target": "nenhuma",
        "sourceHandle": "none",
        "label": "Nenhuma"
      },
      {
        "id": "e_consulta_erro_error",
        "source": "consulta",
        "target": "erro",
        "sourceHandle": "error",
        "label": "Erro"
      }
    ]
  }
}
